상세 컨텐츠

본문 제목

Trojan.Agent.Emotet 악성코드 분석 보고서

악성코드 분석 리포트

by 알약(Alyac) 2018. 4. 23. 08:32

본문

안녕하세요? 이스트시큐리티입니다.


2014년 독일 및 오스트리아 은행 고객을 대상으로 처음 등장한 EMOTET 악성코드가 최근 다시 등장하고 있습니다. EMOTET 악성코드는 사용자 PC를 감염시키고, C&C 통신을 통해서 시스템 정보와 금융 정보를 탈취하는 등의 악성 행위를 시도합니다.

 

EMOTET 악성코드는 주로 이메일을 통해 유포됩니다. 공격자는 이메일 안에 악의적인 스크립트가 포함된 문서 파일을 첨부하거나, 악성코드가 다운로드되는 URL링크를 삽입하는 방식을 사용합니다. 또한 사용자가 관심 가질만한 거래 및 청구서 관련 내용을 포함하여 의심을 최소화하고 악성코드에 감염되도록 유도합니다.  


본 보고서에서는 EMOTET 악성코드를 상세 분석 하고자 합니다. 



악성코드 상세 분석


1. EMOTET 악성코드 유포


EMOTET 악성코드는 주로 스팸메일을 통해 유포됩니다. 공격자는 메일 내용으로 청구서와 같이 사용자가 관심을 가질만한 소재를 사용합니다. 이와 함께 청구서로 위장된 워드 파일을 첨부하거나, 청구서를 다운로드할 수 있는 URL를 포함하여 사용자의 다음 행동을 유도합니다.


[그림 1] 첨부 파일 형태로 유포되는 스팸 메일 본문

 

[그림 2] URL이 포함된 형태로 유포되는 스팸 메일 본문


URL를 통해 다운로드 받거나 첨부된 워드 파일 내에는 EMOTET 악성코드를 다운로드하는 악성 매크로가 포함되어 있습니다. 이 매크로는 매크로 기능이 활성화 되어있을 경우에만 동작합니다. 공격자는 이 기능이 활성화되지 않았을 경우를 대비해 본문에 기능 활성화를 유도하는 내용을 포함했습니다. 


[그림 3] 악성 매크로가 포함된 워드 파일


다음은 워드 파일 내에 포함된 악성 매크로 목록입니다.

 

[그림 4] 워드 파일 내 악성 매크로 목록


악성 매크로는 난독화 된 스크립트를 이용해 cmd.exe 프로세스를 실행하고, cmd.exe 프로세스는 powershell.exe 프로세스를 이용해 스크립트를 실행합니다.

  

[그림 5] 난독화 된 스크립트 실행 트리


다음은 난독화 된 스크립트로 실행되는 powershell.exe 프로세스 정보입니다.

 

[그림 6] powershell.exe 프로세스 실행 정보


powershell.exe 프로세스 매개변수로 전달된 난독화 스크립트를 해제하면 다음과 같습니다. 스크립트는 공격자가 접속 가능한 C&C서버를 조회하면서 EMOTET 악성코드 파일을 다운로드합니다.

 

[그림 7] 난독화를 해제한 스크립트


다운로드 된 파일은 Windows 7운영체제를 기준으로 ‘C:\Users\Public\[랜덤 숫자].exe’ 형태로 생성됩니다.

 

[그림 8] 다운로드 파일 생성



2. EMOTET 악성 파일 분석 


2.1 자가 복제 및 자동 실행 등록

다운로드 된 악성코드는 사용자로부터 의심을 피하기 위해 ‘C:\Windows\System32\GabriolaPivot.exe’ 경로로 자가 복제를 수행합니다. ‘GabriolaPivot.exe’ 파일명은 공격자가 미리 하드 코드한 단어들을 사용하여 랜덤으로 조합되며 분석 시스템 별로 상이할 수 있습니다. 이후 자가 복제된 악성코드가 부팅 할 때마다 실행될 수 있도록 서비스로 등록합니다. 다음은 자동 실행 등록 코드의 일부입니다. 


[그림 9] 자가 복제 및 자동 실행 등록 코드



2.2 분석 PC 우회

현재 실행 중인 파일명이 다음과 같은 이름으로 사용되면 실행을 종료합니다. 이는 분석가들이 자주 사용하는 파일명으로 분석 환경 및 샌드박스를 우회하기 위함입니다.


sample”, “mlwr_smpl”, “artifact.exe”

[표 1]  자가 종료 파일명


또한 다음과 같은 조건들에 해당할 경우 샌드박스 환경으로 인지하고 프로세스는 종료됩니다.

 

[그림 10] 샌드박스 환경 확인


- NetBIOS의 이름이 TEQUILABOOMBOOM 인 경우

- UserName이 Wilbe, NetBIOS의 이름이 SC, CW로 시작하는 경우

-UserName이 admin, DnsHostName이 SystemIT이고, C : \\ Symbols \ aagmmc.pdb와 같은 디버거 기호 파일이 있는 경우

- 사용자 이름이 admin이고 NetBIOS 이름이 KLONE_X64-PC 인 경우

- UserName이 John Doe 인 경우

- UserName이 John이고 C:\\ take_screenshot.ps1 및 C:\\ loaddll.exe 두 개의 파일이 존재할 경우

- C:\\ email.doc, C:\\123\\email.doc 및 C:\\123\\\ email.docx 파일이 존재할 경우

- C:\\a\\foobar.bmp, C:\\a\\foobar.doc 및 C : \\ a \\ foobar.gif. 파일이 존재할 경우

[표 2] 샌드박스 환경 확인



2.3 로컬 PC 정보 탈취

악성코드가 실행 중인 PC의 시스템 정보(프로세스 목록, OS 버전, 아키텍처)를 수집하고 C&C 서버로 전송합니다. 이는 감염 PC의 정보를 획득하고 관리하기 위한 공격자의 의도로 보입니다. 다음은 시스템 정보 중에서 프로세스 리스트를 획득하는 코드의 일부입니다. 


[그림 11] 프로세스 목록 획득 코드


획득한 정보는 별도의 암호화를 진행한 뒤, C&C로 전송합니다. 공격자가 사용하는 C&C 목록은 다음과 같습니다. 


149.62.173.247

 61.19.254.63

 203.198.129.4

 158.58.170.24

 220.227.247.35

 46.4.251.184

 200.146.250.0

 37.187.4.178

 178.254.24.98

 158.69.249.236

 45.55.201.174

 89.186.26.179

[표 3] C&C 목록



2.4 다운로더

C&C로 정보 전송이 성공하면 데이터를 추가로 다운로드합니다. 다운로드 된 데이터는 복호화 과정을 거쳐 PE파일인지 확인하고, 파일 드롭 및 실행 동작을 수행합니다. 다음은 다운로드 코드의 일부입니다. 

 

[그림 12] 다운로드 코드 


다운로드 된 파일은 공격자의 옵션에 따라 파일 생성 유무를 결정할 수 있습니다. 만약 파일 생성 옵션이라면 %APPDATA% 또는 “C:\Windows\System32” 경로 하위에 파일이 생성되고 실행됩니다. 파일을 생성하지 않는 옵션이라면 다음 코드를 통해 현재 실행 중인 악성코드 메모리에 로드되어 실행됩니다. 

 

[그림 13] 현재 실행 중인 악성코드 메모리에 로드


분석 시점에 해당 C&C 서버가 차단되어 현재는 파일 다운로드가 진행되지 않습니다. 따라서 추가적인 악성 행위를 직접 확인할 수는 없습니다. 하지만 국내 및 해외의 EMOTET 악성코드의 분석 및 뉴스를 통해 다운로드 된 파일은 인터넷 뱅킹 관련 금융 정보를 탈취하고 악성 행위를 하는 것으로 확인됩니다.



결론


EMOTET 악성코드는 사용자의 금융 정보를 탈취하여 금전적인 이득을 목표로 하는 뱅킹 트로이 목마로 알려져 있습니다. 분석된 악성코드와 다르게 C&C와 통신이 가능할 경우, 추가적인 악성코드를 다운받아 치명적인 피해로 이어질 수 있습니다. 따라서, 악성코드의 유입을 예방하는 것이 중요합니다. 


예방 방법으로 사용자는 출처가 불명확한 이메일로 전달된 첨부 파일이나 URL은 실행하지 않아야 합니다. 만약 실행이 필요한 경우 주의해야 합니다. 또한 MS Office 문서 파일의 매크로 자동 실행 기능과 PDF 파일에서 지원하는 첨부 파일 자동 실행 기능을 허용하지 않아야 합니다. 


현재 알약에서는 ‘Trojan.Agent.EMOTET’ 으로 진단하고 있습니다. 





관련글 더보기

댓글 영역