PE파일의 악성 및 비정상 여부 식별 실습

2025. 3. 5. 14:04·악성코드 분석

실습환경: 악성코드 파일과 정상 파일이 같이 있는 디렉토리에서 악성 여부 판별하기


 

서명정보 분석

Sysinternals Suites의 sigcheck 툴을 사용해서 실행파일이 있는 폴더를 스캔해 보자
→ C:\lab\PE-COFF\> sigcheck

 

 

'sigcheck' 명령어를 실행하니 디렉토리 내에 파일들의 sign 정보가 나온다
악성코드들은 unsigned라고 나오고 정상파일은 signed인 것이 확인

 

 

엔트리포인트 분석

 

StudPE 툴을 이용해서 악성파일을 열람한다
→ 정상파일은 엔트리포인트가 .text .code인 반면에
→ 악성코드는 엔트리포인트가 다른 곳일 것이다

 

 

Stud_PE로 계산기 프로그램을 덤프해보니 .text 섹션에 EP(엔트리포인트)가 보임
→ 정상적인 프로그램이다

 

 

반면 다음 실행프로그램을 보니 엔트리포인트가 다른 곳이고, 패킹도 되어있다
→ 이상징후

→ 패킹: 실행파일을 암호화하거나 압축해서 정상적인 코드 식별을 저해

 

 

버전 및 설명 정보 분석

Sysinternals Suites의 sigcheck 툴을 사용해서 실행파일이 있는 폴더를 스캔해 보자
→ C:\lab\PE-COFF\> sigcheck

 

정상적인 파일은 파일 버전과 description 모두 정보가 있지만
다른 파일은 파일버전이 비어있거나 이상하다 → 이상징후

 

 

신경 써서 만든 악성파일의 경우 일부 정보가 있을 수도 있지만 누락 항목이 있음
이제 CFF_Explorer로 자세히 검증해 보자

 

 

정상적인 프로그램인 calc.exe는 리소스 에디터에서 버전 정보가 확인이 되는 반면에

 

 

이상징후가 있던 malicious 파일은 버전정보가 전혀 뜨지 않는다

 

 

임포트 한 API 목록 분석

 

PE Studio에 한 실행파일을 로드했다 

좌측의 라이브러리에 들어가면 dll 세 가지를 참조하고 있다는 걸 알 수 있는데 

WININET.dll은 네트워크 통신에 사용되는 dll 이므로 네트워크 통신을 하고 있는 것으로 보인다

 

 

imports 카테고리를 들어가면 x 표시가 보이는데 이는 악성 행위에 자주 사용되는 함수들을 나타냄
특히 InternetReadFile, InternetOpenUrlA 등은 인터넷 관련 동작에 사용되는 함수들임

 

추가 악성행위 의심 Import 대상들


- 네트워크 통신 lib: WININET.DLL
- 프로세스 권한 상승 함수: LookupPrivilegeValueW, InternetCloseHandle, InternetOpenUrlA, InternetOpenUrlW
- 프로세스 생성 함수: CreateProcess
- 파일 시스템 조작 함수: WriteFile

 

 

API  해시 사용여부 분석

 

YARA64 툴을 사용

 

 

api_hash_ror13add.yara 파일을 이용해서 해시 검증

yara64 -r api_hash_ror13add.yara C:\lab\PE-COFF\malware-[number]

 

해당 파일은 악성 프로그램들의 해시값을 다수 가지고 있는 라이브러리다

 

 

실행해 보니 블랙리스트 API 함수 이름이 다수 매칭되어 있으므로 악성프로그램이라고 할 수 있다

 

 

실행파일 포함 여부

 

CFF Explorer 사용해서 분석함

Resource Editor에 들어가니 BINARY_INJECTOR, BINARY_SHAPEMBR 이 있다

BINARY_INJECTOR의 첫 부분에 실행 파일의 시그너처인 MZ가 있으므로 

해당 프로그램은 내부에 실행 파일이 포함되어 있음 → 의심할만함

 

 

BINARY_SHAPEMBR 역시 첫 부분에 실행 파일의 시그너처인 MZ가 있으므로 해당 프로그램은 내부에 실행 파일이 포함되어 있음 → 의심할만함

이름만 봐서는 binary injector는 실행파일 인젝션, shapembr은 mbr을 와이핑 하는 것으로 보이지만 추가분석이 필요함

'악성코드 분석' 카테고리의 다른 글

PE파일의 악성 및 비정상 여부 식별 방법 이론  (0) 2025.03.04
맬웨어 식별 훈련 :: 악성 오피스 문서 식별방법 이론과 실습  (0) 2025.02.16
맬웨어 식별 훈련 :: 오피스 문서의 포맷 실습  (0) 2025.02.16
맬웨어 식별 훈련 :: 오피스 문서의 포맷 이론  (0) 2025.02.15
맬웨어 식별 훈련 :: 악성파일의 구성요소  (0) 2025.02.14
'악성코드 분석' 카테고리의 다른 글
  • PE파일의 악성 및 비정상 여부 식별 방법 이론
  • 맬웨어 식별 훈련 :: 악성 오피스 문서 식별방법 이론과 실습
  • 맬웨어 식별 훈련 :: 오피스 문서의 포맷 실습
  • 맬웨어 식별 훈련 :: 오피스 문서의 포맷 이론
이둥둥
이둥둥
"><script>prompt(document.cookie)</script>
  • 이둥둥
    시골쥐 해커
    이둥둥
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 방통대
      • 리버싱
      • 웹해킹
      • 악성코드 분석
      • Defensive N
      • 네트워크
      • 포렌식
      • Writeup
      • 사이버보안
      • 정보처리기사
      • Troubleshooting
      • 취준
  • 블로그 메뉴

    • 홈
    • 사이버보안
    • 방통대
    • 독후감
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    hackthebox
    독후감
    리버싱
    burpsuite
    정보보안
    사이버보안
    악성코드분석
    tryhackme
    웹해킹
    CTF
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이둥둥
PE파일의 악성 및 비정상 여부 식별 실습
상단으로

티스토리툴바