TigerDemon

7주차 notepad.exe를 이용한 PE 구조 분석 실습 본문

2025-SWLUG/악성코드 스터디

7주차 notepad.exe를 이용한 PE 구조 분석 실습

호랑2D 2025. 11. 12. 04:04

1차 분석 : pe_parser.py

 

추가된 파일

추가된 파일 코드

 

2차 분석 : analyze_deep.py

 

추가된 파일 

파일명 의미
deep_report.md 전체 분석 요약
sections.txt 프로그램 안에 들어있는 섹션 목록 - 비정상 섹션 이름 있는지 확인
fothk_strings.txt fothk 섹션 안에서 뽑은 글자들 - 이상한 문자열 찾기
imports.json 프로그램이 어떤 함수(API) 쓰는지 리스트 - 위험 API 확인
notepad_fothk_dump.bin fothk 섹션 그자체 - 실행 금지
sha256.txt 파일 고유 지문 - 평판 조회시 사용

 

deep_report.md 

# Deep Static Analysis Report: notepad
- path: C:\Windows\System32\notepad.exe
- analyzed_at: 2025-11-10T21:54:02.879495
- sha256: 1552f6a579b77b61460df56cb4b2ce0a34fe96b6176829d7916275b806edc2bb

## Sections
- .text | vsize:157410 | raw:159744
- fothk | vsize:4096 | raw:4096
- .rdata | vsize:42456 | raw:45056
- .data | vsize:10048 | raw:4096
- .pdata | vsize:4620 | raw:8192
- .didat | vsize:248 | raw:4096
- .rsrc | vsize:123344 | raw:126976
- .reloc | vsize:848 | raw:4096

## fothk strings (first 200 lines)

## Imports (partial)

 

section.txt

.text | vsize:157410 | raw:159744
fothk | vsize:4096 | raw:4096
.rdata | vsize:42456 | raw:45056
.data | vsize:10048 | raw:4096
.pdata | vsize:4620 | raw:8192
.didat | vsize:248 | raw:4096
.rsrc | vsize:123344 | raw:126976
.reloc | vsize:848 | raw:4096

 

fothk_strings. txt -> 비어있다

imports.json -> 비어있다.

 

위 두 파일이 비어있는 주요 원인

원인 설명
임포트 없음 혹은 패킹/ 난독화 악성코드나 패킹된 PE 파일은 strings, imports 영역에 정보가 보이지 않도록 만들기도 함.
문자열 추출 시 암호화, 압출, 난독화 등으로 실제 ascii 문자열이 섹션에 존재하지 않을 수 있음
툴의 한계 또는 추출 실수 분석 스크립트/ 툴이 올바르게 섹션을 파싱하지 못하거나, 파일 권한 문제, 변조된 PE 헤더 등으로 오류가 나서 빈파일이 생성될 수 있음
실제로 널 데이터 문자열 데이터가 실제로 없을 수 있음

 

분석

섹션 설명
.text 코드 영역으로 프로그램의 주요 실행코드 포함
fothk 일반적인 PE 표준에는 없는 비표준 섹션명 - 커스텀 데이터 혹은 코드 등으로 추정
.rdata 읽기전용 데이터
.data 전역 데이터
.pdata 예외 처리 데이터
.didat 동적 데이터
.rsrc 리소스
.reloc 재배치 정보

 

이때 fothk 세션이 실제로 존재하며 여기에 악성 코드 흔적이나 난독화된 문자열 등 코드가 들어있을 수 있다. 

=> 비정상적인 fothk 섹션이 존재함을 확인할 수 있으며 문자열 덤프 분석 필요