보안동향

최신 보안정보를 신속하게 전해드립니다.

[악성코드 분석]기업 내부망 침투를 위한 Flawed Ammyy RAT 악성메일

2019-05-28

1. 개요

2019년 5월 "반출 신고서" 제목의 악성메일이 대한민국 여러 기업, 기관을 대상으로 발송되었다. 해당 메일은 Microsoft Execl 문서파일을 내포하고 있으며, 분석결과 AD 환경을 사용하는 기업 내부망 침투를 목적으로 Flawed Ammyy RAT를 설치하는 악성코드로 확인되었다. 본 기술 문서는 악성 Execl 파일을 통해 Flawed Ammyy RAT가 설치되는 전체적인 악성행위 동작에 대해서 상세히 알아본다.

 

 

2. 악성파일 정보

2.1 [67854ASE.xls]_MSExecl.Macro.Downloader

File Name

67854ASE.xls

MD5

ba29927464fca99980bca1a366a8ce97

Size

211 KB (216,064 Bytes)

Type

Microsoft Execl

Creation time

2019-05-18 07:27:21

Virus Total

Link

Sandbox

Link

[표 1] 67854ASE.xls 악성파일 정보

 

 

2.2 [11.exe]_Trojan.Downloader.Installer

File Name

11.exe

MD5

9629772e9ff369dc24dd47ca948fda6c

imphash

7acf0c760b92ebefa92cfd6131933811

Size

200.71 KB (205,528 bytes)

Type

Win32 EXE

Compile time

2017-07-21 02:42:12

Virus Total

Link

Sandbox

Link

[표 2] 11.exe 악성파일 정보

 

 

2.3 [wsus.exe]_Trojan.RAT.FlawedAmmyy

File Name

wsus.exe

MD5

316945c9f551c748847b579b59d55a38

imphash

4f8647aaa18cd5e80c5d60cad4a4f442

Size

820.7 KB (840,408 Bytes)

Type

Win32 EXE

Compile time

2017-07-22 18:23:33

Virus Total

Link

Sandbox

-

[표 3] wsus.exe 악성파일 정보

 

 

 

 

3. 악성코드 동작과정

[그림 1] 67854ASE.xls 악성코드 동작과정  

 

 

4. 상세 분석

4.1 Execl 악성 매크로, 추가 악성파일 다운로드 및 실행

Execl 문서형식의 악성파일 67854ASE.xls을 실행하면 수정 버튼을 클릭하도록 유도하는 문구를 확인할 수 있다. 수정모드로 제한된 문서보기를 해제할 경우, [그림 3]과 같은 내부의 악성 VBS 매크로 코드에 의해 추가적인 악성파일을 다운로드하며, 실행시키는 구조를 가지고 있다.


[그림 2] 수정 버튼을 클릭하도록 유도하는 67854ASE.xls 악성코드

 

 

 

[그림 3] 67854ASE.vbs 내부의 악성 VBS 매크로 코드

 

 

악성 VBS 매크로 코드에 의해 다음과 같이 추가적인 악성파일이 다운로드되며 실행된다.

[그림 4]  추가 악성파일 다운로드 (11.exe)

 

 

 

4.2 net group /domain 명령을 이용한 “AD” 환경 체크

11.exe 악성코드가 실행되면, net group /domain 명령을 이용하여 반환되는 값에서 “WORKGROUP” 문자열을 비교하는 루틴이 실행된다. 일반적인 컴퓨터 환경에서 해당 명령에 의해 반환되는 값에는 “WORKGROUP” 문자열 이 존재하지만, AD 환경에서는 “AD 도메인 URL 정보”가 표시된다.

(즉, 해당코드의 기능은 현재 시스템 환경이 AD 유무를 체크하는 코드이다.)

[그림 5] net group /domain 명령을 이용한 “AD” 환경 체크

 

 

AD 환경 유무를 체크하는 “sub_411380” 함수는 net group /domain 명령에 의해 반환되는 값에서 “WORKGROUP”, “workgroup” 2개의 문자열을 StrStr 함수를 이용하여 존재 유무를 체크하며, 문자열이 존재할 경우 0의 리턴 값을 문자열이 존재하지 않을 경우 1의 리턴 값을 가진다.

[그림 6] “WORKGROUP”, “workgroup” 문자열 비교를 이용한, “AD” 환경 체크 루틴

 

 

“WORKGROUP”, “workgroup” 2개의 문자열이 존재하는 환경일 경우 다음과 같이 프로그램은 더 이상 동작하지 않고 종료 루틴이 실행된다.

(11.exe 악성코드는 AD 환경에서만 동작하도록 설계된 것을 알 수 있다.)

[그림 7] AD 환경이 아닐 경우, 프로그램 종료 루틴 호출

 

 

 

4.3 암호화된 추가 악성파일 다운로드 및 복호화 (Decryption wsus.exe)

SHGetSpecialFolderPathA, wsprintA, CreateDirectoryA 함수를 이용하여 “C:\ProgramData\NuGets” 폴더를 생성한다.

(암호화된 추가 악성파일이 다운로드될 경로)

[그림 8] “C:\ProgramData\NuGets” 폴더 생성

 

 

추가 악성파일을 다운로드 하기위해 “hxxp://45.76.223.117/02[.]dat” 악성코드 유포지 경로에 InternetOpenUrl 함수를 이용하여 해당 URL에 대한 핸들을 구한다.

[그림 9] InternetOpenUrl 함수 호출, “hxxp://45.76.223.117/02[.]dat”

 

 

CreateFile 함수를 이용하여 “C:\ProgramData\NuGets\template_41c318.DATAHASH” 파일 생성 후, 1024 Byte 단위로 반복적으로 InternetReadFile 함수가 반복 호출되며 [그림 12]과 같이 다운로드된 암호화된 악성 바이너리는 “template_41c318.DATAHASH” 쓰여진다.

[그림 10] hxxp://45.76.223.177/02.dat 암호화된 악성 바이너리 다운로드

 

 

[그림 11] 암호화된 악성 바이너리 다운로드 패킷

 

 

[그림 12] 암호화된 악성 바이너리 파일 “template_41c318.DATAHASH”

 

 

암호화된 악성 바이너리는 “gdhgJKHG2345” key 값에 의해 내부적으로 복호화 함수에 의해 다음과 같이 복호화가 완료된다.

[그림 13] 악성 바이너리(Ammyy RAT) 복호화 확인

 

 

복호화가 완료된 악성 바이너리는 다음과 같이 C:\ProgramData\NuGets\wsus.exe” 파일로 저장된다. 해당 악성코드가 Ammyy RAT에 해당된다.

[그림 14] 복호화된 악성 바이너리, C:\ProgramData\NuGets\wsus.exe” 저장.

 

 

 

4.4 wsus.exe(Ammyy RAT) foundation 서비스 설치 및 시작

net, sc 명령을 이용하여 wsus.exe(Ammyy RAT) 악성코드는 foundation 이름의 서비스로 설치된다. 이때, “strat= auto” 옵션에 따라 시스템 부팅 시 해당 악성코드는 항상 실행된다.

[그림 15] Ammyy RAT 악성코드 서비스 설치 및 시작

 

 

 

4.5 Ammyy RAT C&C 연결 및 명령대기

Ammyy RAT 가 실행되면 C&C IP “169.239.128.178” 다음의 함수에 의해 연결되며, 감염자 PC의 원격제어를 위한 시스템 정보를 전송한다.

[그림 16] Ammyy RAT, 악성 C&C IP “169.239.128.178” 연결

 

 

[그림 17] Ammyy RAT 감염자 PC의 원격제어를 위한 시스템 정보 전송

 

 

목록