악성코드 분석

맬웨어 식별 훈련 :: 악성 오피스 문서 식별방법 이론과 실습

이둥둥 2025. 2. 16. 14:25

이론

악성 MS Office 문서 분석 절차

 

1. 악성 MS Office 문서 파일 트리아지(분류)
- MS Office 파일 내에서 VBA 코드, DDE/DDEAUTO 명령어, 쉘 코드, OLE 객체 포함 여부를 확인

2. 악성 스크립트/명령어 확보
- 파일 내에 있는 VBA 코드 혹은 스크립트 위치를 파악하여 분석을 위해 추출
- 난독화 되어 있을 경우, 난독화를 해제하여 분석이 용이하도록 조치

3. 악성 개체 분석
- 시스템 상에 생성하거나 실행하는 파일, 추가로 다운로드 하는 파일, 악성코드 배포 서버의 도메인 등을 확인
- 코드 분석 과정에서 추가로 식별된 VBA 스크립트, PowerShell 스크립트, 실행 파일, 쉘 코드를 분석
- 악성코드 배포 서버로부터 다운로드 되는 데이터가 확보 가능할 경우, 추가로 분석

 

 

악성 MS Offcie 문서의 이상 징후

 

1. 쉘코드를 포함하고 있는 경우
- MS Office 프로그램의 취약점을 공격한 이후, 메모리 상에 쉘 코드를 매핑하여 실행하는 경우.
- 파일 내 쉘 코드의 머신 코드 일부가 패턴 매칭 되는 경우.

2. 매크로를 포함하고 있는 경우
- 매크로는 MS Office에서 제공하는 기본 기능으로, 업무 자동화를 위해 사용될 수 있으나, 악성 행위에도 활용
- 문서 내 매크로가 포함되어 있을 경우, CFBF 포맷에서는 Macros,_VBA_PROJECT_CUR 파일이 존재
- 문서 내 매크로가 포함되어 있을 경우, CFBF 포맷에서는 vbaProject.bin파일이 존재

3. DDE/DDEAUTO를 포함하고 있는 경우
- DDE는 Dynamic Data Exchange의 약자로, Windows의 응용프로그램 실시간 데이터 공유를 위한 기술로, 일련의 명령을 실행시킬 수 있다
- DDEAUTO 함수는 정보 동기화에 사용되지만, 시스템의 기본 명령어를 실행할 수도 있다

 

 


실습

ls file*

 

 

 

명령어로 파일 포맷들을 확인해보니 docx, docm, doc 등 다양하게 있다

일단 malicious-a1029767.docm 분석해보자

 

 

malicious-a1029767.docm은 zip파일로 압축된 OOXML이고 안쪽에 파일구조가 존재함

python C:\Tools\Oledump_V0_0_60\oledump.py malicious-a1029767.docm

 

 

매크로가 확인되므로 추가 분석이 필요해보임 → unzip으로 압축 해제→ 성공!

 

 

악성문서임을 알 수 있다!

 


 

다음은 malicious-ea677003.doc 문서를 분석해보자

 

oledump로 발견이 안된다 OOXML 파일이여서 그런듯

 msodde.py malicious-hash값.docx

+ msodde: ms office 문서에서 DDE링크를 추출해내는 툴이라고 한다

 

https://goo.gl~ 링크에서 파워쉘 스크립트를 다운받아 실행하는 악성도메인으로 보임

→ 이상징후가 있는 파일