본문 바로가기
악성코드 정보

스팸 메일로 유포 중인 AveMaria 악성코드

by 분석팀 2020. 8. 10.

AveMaria 는 원격제어 기능의 RAT (Remote Administration Tool) 악성코드로서 C&C 서버에서 공격자의 명령을 받아 다양한 악성 행위를 수행할 수 있다. 아래의 주간 통계에서도 확인 되듯이 Top 5 안에는 포함되지 않지만, 꾸준히 일정 비율을 차지하고 있다.

https://asec.ahnlab.com/1364

 

ASEC 주간 악성코드 통계 ( 20200727 ~ 20200802 )

ASEC 분석팀에서는 ASEC 자동 분석 시스템 RAPIT를 활용하여 알려진 악성코드들에 대한 분류 및 대응을 진행하고 있다. 여기에서는 2020년 7월 27일 월요일부터 2020년 8월 2일 일요일까지 수집된 한 주�

asec.ahnlab.com

AveMaria 악성코드는 최근 AgentTesla, Lokibot, Formbook 악성코드와 유사하게 대부분 스팸 메일을 통해 유포되고 있다. 또한 진단을 우회하기 위해 위의 악성코드들과 유사한 닷넷(.NET) 외형의 패커로 패킹되어 유포 중이다.

 

다음은 유포에 사용된 스팸 메일로서 아래와 같이 전형적인 견적 관련 스팸 메일이다.

AveMaria 유포에 사용되는 스팸 메일

 

첨부 파일을 확인해 보면 7z 및 zip 2개의 압축 파일이 존재한다.

  • RFQ-PO-005668657-08-4-20-Order_Sample,xlxs.7z
  • RFQ-PO-005668657-08-4-20-Order_Sample,xlxs.zip

해당 압축 파일들은 모두 동일한 exe 파일을 포함하는데, AveMaria 악성코드이다.

  • RFQ-PO-005668657-08-4-20-Order_Sample,xlxs.exe

 

사용자가 위의 첨부 파일을 압축 해제한 후 xlsx 엑셀 파일로 착각하고 실행시킬 경우 AveMaria 악성코드가 실행된다. 아래에서는 공격자의 명령을 받아 이 악성코드가 수행할 수 있는 다양한 기능들을 정리한다.

 

먼저 공격자는 AveMaria를 생성할 때 옵션을 지정할 수 있는데 그 옵션에 따라 다양한 기능들이 활성화될 수 있다.

 

[옵션에 따른 다양한 기능들]

 

a. 설치되는 이름 지정
지정한 이름으로 복사 및 재실행되며 그 경로는 %AppData%\Roaming이다.

 

b. Persistence Mechanism
지정한 이름으로 레지스트리 Run Key를 등록하여 재부팅 후에도 시작되게 한다.

 

c. Offline 키로깅
실행 시 부터 키로깅을 시작하며 데이터는 %AppData%\Local\Microsoft\Microsoft Vision 폴더에 저장한다. 키로깅은 SetWindowsHookExA() 함수로 글로벌 메시지 훅을 등록하는 방식이 사용된다.

 

키로깅 루틴

 

d. Watchdog
AveMaria 악성코드가 종료되었을 때 다시 실행시켜 주는 기능이다. 자식 프로세스로 cmd.exe를 생성한 후 셸코드를 인젝션한다. 해당 셸코드는 반복문을 돌면서 AveMaria의 실행 여부 검사하다가, 종료된 것이 확인되면 다시 실행시켜주는 기능을 갖는다.

 

cmd.exe에 인젝션되어 AveMaria 종료 시 재실행 기능을 담당하는 셸코드

 

e. 권한 상승

악성코드가 처음 실행되었을 때 관리자 권한을 갖지 않을 경우 UAC Bypass 기법을 이용해 관리자 권한으로 권한을 상승시키는 옵션이다. 아래의 기능 항목에서 다룬다.

 

f. Windows Defender 예외

다음과 같은 파워셸 명령을 이용해 Windows Defender 예외 경로에 추가하여 이후 Windows Defender에 의해 탐지되지 않게 한다.

 

  • powershell Add-MpPreference -ExclusionPath C:\

 

[공격자 명령에 따라 수행 가능한 기능들]

 

AveMaria는 RAT 악성코드이기 때문에 다음과 같이 공격자의 명령에 따라 수행할 수 있는 다양한 기능들이 지원된다.

 

C&C 서버의 명령에 따라 수행되는 루틴들

 

a. 파일 작업
감염된 PC의 파일들에 대해 조회 / 업로드 / 다운로드 / 실행 등의 기능을 수행할 수 있다.

 

b. 프로세스 관련 작업
감염된 PC에서 현재 실행 중인 프로세스들에 대한 조회 / 종료 기능을 수행할 수 있다

 

c. 업데이트

자기자신의 모듈을 업데이트할 수 있다.

 

d. 다운로드 및 실행

공격자로부터 URL을 받아 외부에서 추가 악성코드를 다운로드 및 실행할 수 있다.

 

e. Remote Shell
공격자의 명령을 받아 cmd.exe를 이용해 명령을 수행하며, 출력 결과를 C&C 서버에 전송한다.

 

f. Online 키로깅
공격자에게 실시간으로 키로깅 정보를 보낸다.

 

g. WebCam
감염 PC의 웹캠을 활성화하여 공격자에게 실시간 비디오를 전달한다.

 

h. Reverse Proxy

감염 PC를 프록시 서버로 활용한다. 즉 이 기능을 사용하면 C&C 서버에서 외부 접속 및 악위적인 활동을 할 때 감염 PC를 거쳐서 하기 때문에, 외부에서는 실제 공격자 IP가 아닌 감염 PC의 IP 즉 원래 공격자 대신 감염 PC의 행위로 인지하게 된다.

 

참고로 C&C 서버와의 프록시 연결 시 인증 목적으로 "AVE_MARIA"라는 문자열을 보낸다. 원래 AveMaria의 원래 이름은 WARZONE RAT이지만 이 문자열 때문에 AveMaria라고도 불리고 있다.

 

인증에 사용되는 "AVE_MARIA" 문자열

 

i. Remote VNC Control

C&C 서버로부터 vncdll.dll을 다운로드 받아 메모리 상에서 로드하는데 이 DLL은 VNC 서버 기능을 담당하는 DLL이다.

 

메모리 상에 다운로드 받은 vncdll을 디코딩하고 로드한 후 lst() 함수를 호출한다

 

즉 VNC 서버 기능을 담당하는 모듈이 AveMaria 프로세스 상에서 동작하게 되는데, 이후 공격자는 TightVNC나 TigerVNC와 같은 VNC 클라이언트 프로그램을 이용해 감염 PC에 접속하여 대해 원격 제어를 수행할 수 있다.

 

j. Reverse RDP

RdpWrapper DLL을 감염 PC에 드랍하고 서비스로 등록한다. 드랍되는 RdpWrapper DLL의 경로는 다음과 같으며 이를 TermService 라는 이름의 서비스로 등록한다.

  • %Program Files%microsft DN1\sqlmap.dll

이후 랜덤한 문자열을 생성하여 ID / PW로서 사용자 계정을 추가한다. 그리고 등록한 사용자 계정을 다음 레지스트리 키에 등록함으로써 사용자가 계정이 추가된 점을 확인할 수 없게 한다.

  • HKLM\Software\Microsoft\Windows NT\CurrentVersion\winlogon\SpecialAccounts\UserList

마지막으로 이렇게 추가한 ID / PW는 다음과 같은 레지스트리 키에 등록하여 저장한다.

  • ID : HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\[랜덤] / rudp
  • Password : HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\[랜덤] / rpdp

이후 공격자는 생성한 ID / PW를 이용해 감염 PC에 RDP 접속하여 원격 제어를 수행할 수 있다.

 

k. 권한 상승

UAC Bypass를 이용해 관리자 권한으로 상승시키는 기능이다. 참고로 일반적으로 더블 클릭으로 실행될 경우 Normal 권한으로 실행되지만, 위에서 언급한 서비스 등록과 같은 기능의 경우 High 즉 관리자 권한을 필요로 하기 때문에 공격자 입장에서 추가 기능을 위해 필요한 부분이다.

 

AveMaria는 UAC Bypass 기법을 2가지 가지고 있는데 하나는 Dism.exe의 DLL Hijacking 취약점을 악용한 방식이다. 이 기능은 리소스 섹션에 WM_DSP 라는 이름으로 저장되어 있는 악성코드를 이용한다.

 

리소스 섹션에 저장된 UAC Bypass 담당 악성코드

 

이 악성코드는 IFilerOperation을 이용해 악성 DLL을 system32 경로로 복사하는 셸코드를 explorer.exe에 인젝션한다. 이를 통해 권한 없이도 악성 DLL을 system32 경로에 복사할 수 있다. 참고로 이 DLL 또한 해당 PE의 리소스 섹션 내부에 WM_DISP 이름으로 저장되어 있다. 이후 악성 행위에 필요한 oemsetup.xml을 생성하고 이를 인자로 Auto Elevate 프로그램인 pkmgr.exe를 실행한다. 그 결과 자식 프로세스로 DLL Hijacking 취약점을 갖는 Dism.exe가 실행되며 system32 경로에 복사된 악성 dll인 DismCore.dll을 로드한다. 이 DismCore.dll은 AveMaria를 실행시켜 주는 기능을 갖는데, Auto Eevate 프로그램의 자식으로 실행되기 때문에 똑같이 관리자 권한으로 실행되어 권한 상승이 가능해 진다.

 

만약 감염 PC의 환경이 Windows 10 이라면 다른 UAC Bypass 기법이 사용된다. 다음 레지스트리에 악성코드 경로를 지정한 후 sdclt.exe를 실행시키면, Auto Elevate 프로그램인 sdclt.exe가 실행될 때 해당 키를 참조하여 자식 프로세스 control.exe를 거쳐 AveMaria를 실행시키게 된다. 참고로 HKCU 레지스트리 키이기 때문에 관리자 권한 없이도 Auto Elevate 프로그램이 참조하는 키를 수정할 수 있다는 점을 악용한 방식이다.

  • HKCU\Software\Classes\Folder\Shell\Open\command

 

l. 계정 정보 탈취

과거 AveMaria의 계정 정보 탈취 대상으로는 크롬, 파이어폭스, IE, Edge와 같은 웹 브라우저, 그리고 Outlook, Thunderbird, Foxmail과 같은 이메일 클라이언트 프로그램이 있었다.

 

크롬의 경우 이전 vncdll 처럼 sqlite3.dll을 메모리 상에 다운로드 받아 해당 DLL에서 export하는 함수들 주소를 가져오며, 이 함수들 즉 sqlite3.dll의 기능을 이용하여 계정 정보를 추출한다.

 

정보 유출에 사용할 sql 관련 함수들의 주소를 구하는 루틴

 

과거 IE, Edge의 경우 vaultcli.dll을 로드한 후 해당 DLL에서 export하는 함수들을 이용해 계정 정보를 추출하였다. 또한 FireFox, Thunderbird의 경우에는 설치 폴더에 존재하는 nss3.dll, msvcr120.dll, msvcp120.dll, mozglue.dll, softokn3.dll, vcruntime140.dll을 로드하여 필요한 함수들을 이용하여 계정 정보를 추출하며 없을 경우에는 외부에서 다운로드 받을 수도 있다.

 

최신 버전의 AveMaria에서는 Opera, Chromium, QQ Browser와 같은 다양한 웹 브라우저도 정보 탈취 대상으로 추가되었다.

 

웹 브라우저 계정 정보 탈취 루틴

 

사용자들은 의심스러운 메일을 받게 된다면 첨부 파일의 실행을 지양해야 한다. 또한 V3를 최신버전으로 업데이트하여 악성코드의 감염을 사전에 차단 할 수 있도록 신경써야 한다.

 

현재 자사 V3 제품에서는 해당 악성코드를 아래와 같이 진단 중이다.

 

[파일 진단]

  • Trojan/Win32.Kryptik.R346819

[행위 진단]

  • Malware/MDP.Inject.M218
  • Malware/MDP.Behavior.M3346

[관련 IOC 정보]

 

C2
-  54369253290033.sytes[.]net:5200

HASH
- 77384b5848a963645b44fedc97075bc2

 

 

댓글