티스토리 뷰
[Malware analysis] 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(디코딩)
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에 접근하는 것을 확인 할 수 있다. 자세히 살펴보자.
코드 검증 부분
분기문에 대해 살펴보면,
- 원복파일을(emotet.mem) 삭제하고 wizrun.exe 생성 확인(파일 생성에 사용하는 키워드 중 무작위로 2개의 키워드를 선택)
- CreateService()을 이용하여 레지스트리와 서비스에 “wizrun” 생성 및 ChangeServiceConfig2()을 이용하여 기존 서비스의 설명 중 무작위로 선택된 값을 복사하여 서비스 설명 값 변경 확인
- 이후 진행 시 디버깅이 종료가 되는 것을 확인
- Emotet.mem 파일은 첫번째 분기만 진행하고 종료 후 등록한 서비스(Wizrun)를 통해 나머지 분기를 진행하는 것을 확인
분기문
나머지 분기에 대해 살펴보면,
- 암호키 생성 (RSA 공개키 및 AES-128 값 생성)
- rawdata encoding 진행
- C&C 통신 (BASE64로 인코딩 후 rawdata 전송)
'Reversing > Malware analysis' 카테고리의 다른 글
[Malware analysis] Netwalker 랜섬웨어, 코로나 바이러스 피싱 (0) | 2020.03.24 |
---|---|
[Malware analysis] Ursnif Anti-VM (0) | 2020.01.29 |
[Malware analysis] Ursnif Unpacking (0) | 2020.01.22 |
[Malware analysis] Malwarebytes CrackMe: a step-by-step tutorial (0) | 2019.12.30 |
[Malware analysis] CVE-2017-11882 Microsoft Office EQENDT32 취약점 (0) | 2019.12.13 |
- Total
- Today