<악성코드 분석공부>/<RealSample>

중국발 문서형 이력서 악성코드 - 1. 드로퍼&매크로편

gosoeungduk 2022. 1. 29. 23:30
반응형

#악성코드분석 #중국 #문서형 악성코드


MD5 HASH Dropper : 59e08d42ce495f290c4dfd7be9614f786cdfed3ebdd7d6e68accbb630c051083
Core Malware : fa1f9f5deac24c735baa77eb5b76b9057b3fea6c2bc7f2bf7f16420a8b48f00c
주요 사용기법 Document Template Injection, Universial Shellcode
Drop URL http://xiaodi8.com/1.dotm?raw=true (현재폐쇄)

 

문서형 악성코드이다. 이전에 설명한 Template Injection 이 아주 잘 이용된 표본이라고 할 수 있다.

악성 매크로가 있는 dotm 템플릿 매크로 파일을 http://xiaodi8.com/1.dotm?raw=true 로 부터 가져오는데, 현재는 공격자가 링크를 폐쇄해놔서 원본 docx 를 열면 그냥 메인 사진처럼 중국 이력서만 출력될 뿐이다.

dropper docx 에 의해 drop 된 dotm 을 분석하기 위해 dotm 파일을 열면, 편집사용(실행) 을 하지않는 이상 보이지 않았기에 그 밖의 방법으로 추출하는 수 밖에 없었다.

그래서 이전에 썼던, DidierStevensSuite 툴을 쓰기로 하였다.

python oledump.py -a -v (document path)

oledump 를 사용하면 안에 있는 OLE 개체들의 리스트가 나온다.

python oledump.py -a -v (document path) -s (OLE's number)

그 리스트 중에서 뽑을 것을 s 옵션으로 뽑을 수 있다.

본 악성코드에서는 3번 NewMacros 매크로가 코어 악성로직이고, 위 사진은 NewMacros 를 추출한 모습이다.

해당 매크로는 정상적인 프로세스에 DLL Injection 하는 기법을 사용하는데, 우선 처음에는 Kernel32.dll 에서 DLL Injection 에 쓰이는 함수들을 정의한다.

VBA7 상수로 현재 매크로가 실행되는 환경이 오피스 2010 이상의 환경인지에 따라 Declare 문에 PtrSafe 를 붙이냐 안붙이냐를 구분하는 것을 볼 수 있다.

그리고 바로 다음줄부터 CreateProcess 함수를 통해 rundll32.exe 파일을 CREATE_SUSPENDED 상태로 실행해놓는 것을 알 수 있다.

그 다음 부터는 그냥 일반적인 DLL Injection 의 상태이다.

VirtualAllocEx 함수로 쉘코드가 담길 공간을 할당한 후에, 해당 공간에 WriteProcessMemory 함수로 쉘코드를 입히고 CreateRemoteThread 로 아까 실행한 rundll32.exe 프로세스에 쉘코드를 실행시킨다. 참고로 &H100 같은 문법은 0x100 을 의미한다.

쉘코드 같은 경우에는 이런 모습인데, Universial Shellcode 이다. 다음글에서는 이 쉘코드를 분석해보려 한다.

이번 샘플은 다른 문서형 악성코드 처럼 난독화가 되어있지는 않아서 분석에 어려움은 없었다.

ㅂㅂ

반응형