티스토리 뷰

Reversing/Malware analysis

[Malware analtsis] Emotet Malware

정짱 정뚱띵 2019. 12. 26. 14:08

[Malware analtsis] Emotet Malware


악성코드 정보 

Emotet 악성코드는 2014년 금융 데이터를 훔치는 트로이 목마로 처음 발견되었다. 시간이 지남에 따라 사용자 PC 감염시키고, C&C 통신을 통해서 악성 행위를 시도한다. Emotet 악성코드는 주소 스팸메일을 통해 유포되며, 공격자는 메일 내용으로 청구서와 같이 사용자가 관심을 가질만한 소재를 사용한다. 이와 함께 위장된 워드 파일을 첨부하거나, 청구서를 다운로드 할 수 있는 URL 포함하여 사용자의 다음 행동을 유도한다. 


파일명 

Emotet.exe(payload) 

파일크기 

468.1 KB 

MD5 

1ABEEC317E6C10B9201EE1C713069715 

SHA-256 

8976948f9537629f14573a2a3007c8cf86c33b94818a8221b97e137b67bd834b 

표 1  Emotet 


상세 분석 

 .mem 확장자 유무를 통해 인코딩·디코딩 구분하였다

OllyDBG 살펴보면 정적 분석 시 확인 한 인코딩 되어 있는 데이터로 유추되는 ASCII 코드를 확인 할 수 있다.

디코딩 된 Emotet.mem” 확인 할 수 있다. 다음으로 Emotet.mem을 살펴보자. (블로그에서는 자세한 내용 생략)

 

0x401146()  Anti-Decompile 


 

Emotet.mem(디코딩) 

  1.  

Emotet.mem

IDA와 OllyDBG를 이용하여 “Emotet.mem” Main() 부분이다. 0x40BFB0을 살펴보자. 

 

Emotet.mem Main 


살펴보면 먼저 API Name을 Hash 값으로 처리 것을 확인 할 수 있다. 이후, 0x4012CD을 보게 되면 PEB 구조체의 Ldr을 이용하여 ntdll.dll을 찾는 것을 확인 할 수 있으며, 0x4012FF에서 ntdll에 필요한 API를 가지고 오는 것을 확인 할 수 있다. 내용을 요약하면 어디에서 어떤 함수를 로드하는지, 어떤 함수를 사용해서 무슨 행위를 하는지 노출을 피하기 위해 Ntdll.dll API 동적 로딩 기법을 이용하였다는 걸 확인 할 수 있다. 

 

ntdll.dll API 호출 


이후 진행 시 실행중인 프로세스가 검증을 통해 해당  —28ca0aa4”가 없으면 자가 복제 프로세스 실행 하는 걸 확인 하였다. 다음 argument값은 매번 다르다는 것을 인지하고 분석을 해야된다. 더 분석을 위해 인자를 주니 그림과 같이 0x40BD30에 접근하는 것을 확인 할 수 있다. 자세히 살펴보자.