튀르키예 사용자들을 대상으로 유포중인 DBatLoader(ModiLoader)

튀르키예 사용자들을 대상으로 유포중인 DBatLoader(ModiLoader)

최근 AhnLab SEcurity intelligence Center(ASEC)에서는 ModiLoader(DBatLoader) 악성코드가 이메일로 유포되는 사례를 확인하였다. ModiLoader는 최종적으로 SnakeKeylogger를 실행시킨다. SnakeKeylogger는 닷넷 언어로 제작된 Infostealer 유형의 악성코드로, 이메일, FTP, SMTP 또는 Telegram 등을 이용한 데이터 유출 방법을 가지고 있는 것이 특징이다. [그림 1]은 유포 이메일의 본문으로, 튀르키예어로 작성되어 있으며 튀르키예 은행을 사칭하여 유포되었다. 거래 내역 확인을 위해 악성 첨부파일의 실행을 유도한다. 첨부된 압축파일 내부에는 [그림 2]와 같이 BAT 파일 악성코드가 존재한다.

[그림 1] 이메일 본문

[그림 2] rar 압축파일 내부(bat 파일)

 

[그림 3]은 해당 BAT 코드로 Base64로 인코딩된 DBatLoader 악성코드(x.exe)를 %temp% 경로에 생성하고 실행하는 기능을 수행한다. [그림 4]는 생성된 DBatLoader 악성코드(x.exe)의 사진이다.

 

[그림 3] bat 스크립트 본문(x.exe 생성 및 실행)

[그림 4] Temp 경로에 생성된 x.exe (DBatLoader)

 

[그림 5], [그림 6]은 DBatLoader(x.exe)가 실행하는 3개의 bat 스크립트(5696.cmd, 8641.cmd, neo.cmd)의 난독화 및 복호화된 형태이다. DBatLoader(x.exe)는 해당 bat 스크립트와 svchost.pif, netutils.dll, wxiygomE.pif 등의 파일을 이용하여 탐지 회피 및 키로거 실행의 공격 목표를 달성한다.

 

[그림 5] DBatLoader 가 bat 스크립트 (난독화) 

[그림 6] DBatLoader 가 bat 스크립트 (복호화)

 

공격과정

1. 탐지 회피

[그림 7]은 bat 스크립트 중 8641.cmd이다. Esentutl 명령을 사용하여 cmd.exe를 alpha.pif 이름으로 복사하여, alpha.pif(cmd.exe)에 mkdir 명령을 통해 정상 경로를 위장한 공백을 포함한 폴더(Windows \SysWow64)를 생성한다.

 

[그림 7] 8641.cmd 기능

 

DBatLoader(x.exe)는 해당 경로(Windows \SysWow64)에 svchost.pif 위장된 이름의 프로그램을 생성한다. 해당 프로그램은 [그림 8]과 같이 정상 프로세스인 easinvoker.exe로 동일 경로에 악성 netutils.dll을 생성하여 DLL 사이드로딩이 목적이다. 따라서 정상 프로세스인 easinvoker.exe 프로세스가 악성 행위를 발현한다. [그림 9]는 5696.cmd 스크립트의 복호화된 모습이다. 스크립트는 svchost.pif를 실행하여 악성 netutils.dll을 사이드로딩하여 dll 행위를 발생시킨다. 이후 ping 명령을 통해 10초의 시간을 지연시킨 뒤, 악성 netutils.dll 파일을 삭제한다. [그림 10]은 악성 netutils.dll의 기능으로, 인코딩된 명령어를 디코딩하여 neo.cmd 파일을 실행하는 명령을 수행한다.

[그림 8] svchost.pif 로 파일명 위장된 정상 프로그램 (easinvoker.exe)

[그림 9] 5696.cmd 기능

[그림 10] 조작된 netutils.dll의 기능(neo.cmd 실행)

 

[그림 11]은 neo.cmd 스크립트의 내용으로, extrac32 명령을 사용하여 powershell.exe를 xkn.pif 이름으로 복사하여, xkn.pif(powershell.exe)에 명령을 통해 “C:\”의 하위 경로가 윈도우 디펜더의 예외 경로로 추가하여 탐지 우회를 목적을 달성한다.

 

[그림 11] neo.cmd 기능

 

 

2. 정보 탈취(SnakeKeyLogger)

[그림 12]은 DBatLoader(x.exe)로부터 실행된 행위들의 프로세스 트리이다. 탐지 회피 목적을 달성한 이후, 마지막으로 wxiygomE.pif 이름의 파일을 생성하며 해당 프로그램은 [그림 13]과 같이 정상 프로그램인 mercurymail 프로그램의 모듈(loader.exe)이다. 이후 위장된 이름의 정상 프로세스(wxiygomE.pif)를 실행한 뒤 SnakeKeylogger를 인젝션한다.

 

[그림 12] DbatLoader(x.exe) 의 프로세스 트리

[그림 13] wxiygomE.pif 로 파일명 위장된 정상 프로그램 (loader.exe)

 

[그림 14]은 정상 프로세스(wxiygomE.pif)에 인젝션하여 동작되는 SnakeKeylogger의 기능에 해당하는 함수 리스트이다. 시스템 정보 및 키보드 입력, 클립보드 데이터 등 키로깅 데이터 탈취 등의 악의적인 기능들이 존재한다.

 

[그림 14] SnakeKeylogger의 기능 함수 목록

 

[그림 15]은 SnakeKeylogger의 공격자 설정값으로, 설정된 Telegram bot token 을 통해 Telegram C2로 탈취한 정보를 전송한다.

 

[그림 15] SnakeKeylogger의 공격자 설정 값

 

결론

피싱 이메일을 통해 유포되는 DbatLoader 악성코드는 교묘하게도 대부분의 행위를 DLL사이드로딩, 인젝션등 기법을 통해 정상 프로세스(easinvoker.exe, loader.exe)를 악용하고, 파일 복사 및 정책변경 행위 또한 정상 프로세스(cmd.exe, powershell.exe, esentutl.exe, extrac32.exe)를 악용하였다. 개인을 대상으로 유포되어 감염인지가 어려울 수 있는 만큼 개인 사용자는 피싱과 같은 초기 침투 기법에 대해 스크립트 확장자 실행을 주의하는 등 경각심을 높이고,  보안 제품의 최신 업데이트를 유지함으로써 유사 공격에 대해 사전 예방할 필요가 있다. 

MD5

7fa27c24b89cdfb47350ecfd70e30e93
a0a35155c0daf2199215666b00b9609c
URL

https[:]//api[.]telegram[.]org/bot8135369946[:]AAEGf2H0ErFZIOLbSXn5AVeBr_xgB-x1Qmk/sendDocument?chat_id=7009913093