TigerDemon
7주차 notepad.exe를 이용한 PE 구조 분석 실습 본문
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 섹션이 존재함을 확인할 수 있으며 문자열 덤프 분석 필요
'2025-SWLUG > 악성코드 스터디' 카테고리의 다른 글
| 8주차 keylogger 실습 (1) | 2025.11.18 |
|---|---|
| 6주차 APT 악성코드 사례 - 미분류 악성코드 (1) | 2025.11.05 |
| 6주차 APT 악성코드 사례 - 라이브리(LIveRe) 유포 악성코드 (0) | 2025.11.05 |
| 5주차 APT 악성코드 사례 - IceFog (0) | 2025.10.26 |
| 5주차 APT 악성코드 사례 - Kimsuky APT 악성코드 (0) | 2025.10.26 |