1. 개요

- CISCO Talos에서 대한민국 사용자를 대상으로한 중국 배후 RAT "SugarGh0st RAT" 발견 [1]

> Gh0st RAT의 변종으로, C2 서버와 통신하며 명령을 수행

> 대한민국 사용자외에도 우즈베키스탄 외교부를 대상으로 공격 수행

 

1.1 Gh0st RAT [2]

- 红狼小组(C.Rufus Security Team)이라는 중국 그룹에 의해 개발

- 2008년 소스코드가 공개되어 여러 변종이 등장

 

2. SugarGh0st RAT

- 기존 Gh0st RAT과 차이점

① 정교한 표적 공격

② 특정 ODBC(Open Database Connectivity) 레지스트리 키를 찾음
③ 특정 파일 확장자와 함수 이름을 가진 라이브러리 파일을 로드
④ 원격 관리 작업을 용이하게 하기위한 C2 통신 프로토콜 변경 등

 

- 하드 코딩된 C2 도메인을 사용하며, 대상자에 뮤텍스를 생성하고 키로깅을 시작

> 키로깅은 %Program Files% 위치에 "WinRAR'' 폴더 생성 및 키로거 파일 "WinLog.txt" 생성

> WSAStartup() 함수를 이용해 하드코딩된 C2&Port로 연결을 설정

> 실행 후 10초마다 C2에 대한 연결 설정을 시도하며, 첫 패킷은 항상 "0x000011A40100"

> 컴퓨터 이름, OS 버전, 루트 및 기타 드라이브 정보, 특정 레지스트리 값 등을 전송

> 4바이트 16진수 명령 및 관련 데이터를 사용하여 C2 서버의 명령에 따라 원격 제어 기능을 수행

순번 명령 설명
1 0x20000001 프로세스 권한을 "SeShutdownPrivilege"로 조정하고 호스트 강제 종료
2 0x20000002 프로세스 권한을 "SeShutdownPrivilege"로 조정하고 호스트 강제 재부팅
3 0x20000003 프로세스 권한을 "SeShutdownPrivilege"로 조정하고 프로세스 강제 종료
4 0x20000004 이벤트 로그 지우기
5 0x20000005 레지스터 키 HKEY_LOCAL_MACHINE\Software\ODBC\H 생성
6 0x20000011 기본 창에서 키 누르기
7 0x20000012 기본 창에서 키 놓기
8 0x20000013 마우스 커서 위치 설정
9 0x20000014 마우스 왼쪽 버튼 클릭
10 0x20000015 마우스 왼쪽 버튼 놓기
11 0x20000016 마우스 왼쪽 버튼을 더블클릭
12 0x20000017 마우스 오른쪽 버튼 클릭
13 0x20000018 마우스 오른쪽 버튼 놓기
14 0x20000019 마우스 왼쪽 버튼을 더블클릭
15 0x21000002 피해자 컴퓨터의 논리 드라이브 정보 전송
16 0x21000003 피해자 컴퓨터 파일 시스템에서 파일 검색
17 0x21000004 피해자의 컴퓨터 파일 시스템에서 파일 삭제
18 0x21000005 파일을 %TEMP% 위치로 이동
19 0x21000006 임의의 쉘 명령을 실행
20 0x21000007 피해자 컴퓨터에 파일을 복사
21 0x21000008 피해자 컴퓨터에서 파일 이동
22 0x21000009 C2 서버로 파일 전송
23 0x2100000A 데이터를 Windows 소켓으로 전송
24 0x2100000B C2 서버로부터 파일 수신
25 0x22000001 스크린샷을 C2 서버로 전송
26 0x24000001 %ProgramFiles%/WinRAR/~temp.dat 파일 읽기(XOR 0x62로 인코딩됨)
27 0x24000002 %ProgramFiles%/WinRAR/~temp.dat 파일 삭제
28 0x23000000 C2 서버에 대한 역방향 셸 액세스를 제공
29 0x25000000 프로세스 정보를 얻고 프로세스를 종료
30 0x25000001 프로세스 정보 열거
31 0x25000002 프로세스 종료
32 0x25000003 피해자 기계 서비스 관리자에 액세스 
33 0x25000004 실행 중인 서비스의 구성 파일에 액세스
34 0x25000005 서비스 시작
35 0x25000006 서비스 종료 및 삭제
36 0x25000010 Windows 작업을 수행
37 0x25000011 창 목록 가져오기
38 0x25000012 Window에서 메시지 받기
39 0x28000000 창을 캡처하고 SendMessage API를 사용한 명령을 기반으로 일련의 창 작업 수행
40 0x28000002 "%PROGRAMFILES%\\Common Files\\DESIGNER'' 아래에 OLE 파일을 만들고 실행

 

2.1 첫 번째 공격 체인 

[사진 1] 첫 번째 공격 체인

 

① 악성 LNK 파일이 포함된 RAR 파일

② LNK 파일 실행 시 내장된 JavaScript 실행

> 드로퍼의 시작 부분인 "var onm=" 문자열 검색 후 %temp%에 로드

> LoLBin(living-off-the-land Binaries)를 사용해 JavaScript 실행 [3]

 

[사진 2] LNK 파일 내 포함된 JavaScript

 

③ JavaScript는 미끼용 문서, 암호화된 SugarGh0st 페이로드, DLL 로더 및 배치 스크립트 생성

> 드로퍼로 동작하며, 포함된 파일을 디코딩하여 %TEMP% 경로에 생성

> 미끼용 문서 오픈, %TEMP%에서 배치 스크립트 로더 실행, DLL 로더 실행 순

> 동작 완료 후 자체적으로 삭제

 

④ 배치 스크립트와 DLL 로더를 실행해 암호화된 SugarGh0st 페이로드를 해독해 실행

> "ctfmon.bat"는 DLL 로더를 실행하는 명령이 포함

> "MSADOCG.DLL"은 %TEMP%에서 암호화된 SugarGh0st 페이로드 파일 "DPLAY.LIB'' 복호화 및 메모리에서 SugarGh0st 실행

 

2.2 두 번째 공격 체인 

[사진 3] 두 번째 공격 체인

 

- JavaScript는 쉘코드를 실행하기 위해 DynamicWrapperX를 사용하며, 이후 SugarGh0st RAT를 실행

> 이외 나머지 과정은 첫 번째 공격 체인과 동일

> DynamicWrapperX는 스크립트(JScript, VBScript 등)에서 Windows API 함수 호출을 활성화하는 ActiveX 구성 요소 [4]

> 지속성을 위해 Run 레지스트리 키에 "CTFMON.exe"라는 레지스트리 하위 키를 생성

구분 설명
JavaScript 지속성  레지스트리 키 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
하위 키 CTFMON.exe
“cmd /c start C:\Users\user\AppData\Local\Temp\dllhost.exe C:\Users\user\AppData\Local\Temp\~204158968.js”
DynamicWrapperX 레지스트리 키 Software\Classes\DynamicWrapperX
하위 키 CLSID
"89565275-A714-4a43-912E-978B935EDCCC" 

 

3. 침해지표 [5]

구분
URL account[.]drive-google-com[.]tk
login[.]drive-google-com[.]tk
IP 103.148.245.235
103.108.67.191
파일 Hash 8584094f79fce97321ee82ca5da41b6830ecc6a0921bcaddb8dd337827cd7d1a
3436135bb3839521e7712882f0f6548aff78db66a1064408c49f820a0b85d980
c758eed6660786097b63ac6748236b5b6084783703ea7ee2111e8f0bcaa3652e
6dff111b6adc9e33bed20eae99bec779f1c29dd55895a71125cfbe3c90950eb2
7c87451261dfce64fda987eb395694b5330fd958466c46c931440cd9dc227505
ddac61f918ed87b49ef15d05873e7f52b919758aef713145f6a7d538c714fa2e
f3ea4611c72d57eabf381d5639c3c8d1840cb005ed811f3038410fb2e04978c1
9d9a0af09fc9065bacabf1a193cad4386b5e8e5101639e07efa82992b723f3b0
5ad182c913f0b5cb6a34126137c335110d4c9472f5c745cb7a438d108b03b27c
38c815729f34aef6af531edf3f0c3f09635686dbe7e5db5cb97eca5b2b5b7712
adb4eb33213fa81c8b6cc013a6f4a43fa8b70eb8027433cf4339b532cb6e84cf
2e543adb701afd40affcb4c51bd8246398b0210bee641ca9aeffcca893c9e4a5
7cacdc84a0d690564c8471a4f58ab192ef7d9091ab0809933f616010bbf6846a
66982ebd5ebb75633723c7057a1e948ac3aafe3ff808397eb0c55c853c82f9e6
21f19d87d2169c82efd76ddb1baa024a1e59b93f82d28f276de853fc3ef8b20e
362fde3362e307af3787b9bf0b5c71f87b659a3217e054c4d0acea8b9e6d74b0
ee5982a71268c84a5c062095ce135780b8c2ffb1f266c2799173fb0f7bfdd33e
9783c0eee31ce6c5f795ecf387025af5d55208ff2713c470af2042721ab38606
410d7dc973d188cd0d962a59f48deb1cfc73adf37857765e90194f6e878d4488
bd0a1efe07fcb4af4bec1b2881a0711f0be34044680ad8cff958a68a70d4a914
ff0f28f96bbb6c80fc3823fe71d5e07e1a05b06986e82a2fbe324d68ba5ab2ea

 

 

4. 참고

[1] https://blog.talosintelligence.com/new-sugargh0st-rat/
[2] https://github.com/sin5678/gh0st
[3] https://socprime.com/blog/what-are-lolbins/
[4] https://dynwrapx.script-coding.com/dwx/pages/dynwrapx.php?lang=en
[5] https://github.com/Cisco-Talos/IOCs/blob/main/2023/11/new-sugargh0st-rat.txt
[6] https://www.dailysecu.com/news/articleView.html?idxno=151748

1. 개요

- 중국의 ‘C. Rufus Security Team’에서 개발되었으며 오픈소스로 제작된 원격 제어 악성코드

- 감염에 필요한 악성코드 생성 및 감염PC들의 관리와 공격명령을 통한 악성행위를 수행할 수 있는 해킹도구

- 해커는 자신의 서버로 접속한 좀비PC들에게 간단한 조작으로 DDoS공격, 화면제어, 키로깅, 도청 등 악성행위를 수행

- 소스코드가 공개되어 꾸준하게 버전업이 되고 있으며, 누구나 쉽게 사용할 수 있음

 

2. 분석

2.1 툴

- 먼저 툴은 Connections, Settings, Build 3개의 탭으로 구성

① Connections

- 공격자가 제어 가능한 PC, 즉 좀비 PC 확인 가능

- 공격자가 배포한 파일을 피해자가 실행할 경우 목록에 등록되며 제어가 가능해짐

[사진 1] Connections

기능
파일 관리(F) 화면 제어(C) 키로거(K) 원격 터미널(T)
시스템 관리(M) 실시간 화면(V) 음성 녹음(W) 세션 관리(S)
기타 기능(O) 메모 설정(R) 연결 종료(D)  

 

② Settings

- 공격자 서버, 즉 C2 서버에 대한 설정이 가능

- 해당 탭을 이용해 공격자가 원하는 설정이 가능

- Key Strings는 C2서버 접속을 위한 C2 주소와 포트 번호로 구성된 인코딩 데이터

[사진 2] Settings

Build 

- 공격용 파일, 즉 악성파일을 생성

[사진 3] Build

 

 

2.2 악성행위

① 시스템 정보 수집

- 감염 PC의 프로세스, 열린 창 정보, Dialupass(로그온 세부 정보를 표시) 등 PC 정보를 나타냄

[사진 4] 시스템 정보 수집 일부

② 키로깅

- 사용자가 키보드를 통해 입력한 값을 txt파일로 저장

[사진 5] 키로깅 일부

③ 파일 관리

- 파일 생성, 복사, 삭제, 실행 등 파일 관리 명령 수행

- 감염 PC의 파일을 외부로 유출하거나, 악성파일을 업로드하여 추가 악성코드 다운 가능

[사진 6] 파일 관리 일부

④ 화면 캡쳐

- 감염 PC의 현재 화면을 캡쳐, 전송 등의 명령 수행

[사진 7] 화면 캡쳐 일부

⑤ 주요 기능

기능 설명
스케줄러 및
레지스트리 등록 
- 파일이 실행이 되면 ‘C:\WINDOWS\[임의8자리]’ 경로에 ‘svchsot. exe’를 생성(자기복제)
- C:\WINDOWS\Tasks경로에 At1~24까지 24개의 스케줄러 파일을 생성
- svchsot.exe를 1시간 간격으로 매일 자동실행 하도록 설정
- 부팅시 자동실행을 위해 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RUN 경로에 svchsot.exe파일 추가
Anti-Virus 종료 - Taskkill명령이나 TerminateProcess()를 이용하여 Anti-Virus프로그램 종료
Guest계정 활성화 및
관리자 그룹 등록
- CMD 명령을 이용하여 윈도우 운영체제에 기본적으로 접근하는 guest계정을 관리자 그룹으로 추가 및 활성화를 통해 감염PC로 접근하기가 쉽도록 설정
화면 및
키보드&마우스를 제어
- 감염된 PC를 공격자가 원격으로 화면 및 키보드&마우스를 원격지에서 조정
음성정보를 녹음 - 감염된 PC에 설치된 마이크를 통해 음성정보를 기록하여 공격자에게 전달
키로그 저장기능 - 감염된 PC에 조작되는 키보드 이벤트를 기록하여 [임의8자리].key로저장한 후 공격자에게 전달
DDoS공격 기능 - 공격자가 지정한 URL로 TCP,UDP, ICMP, SYN등의 DDoS 공격을 수행
추가 다운로드기능 - 공격자는 추가로 악성행위에 필요한 악성코드를 다운로드
모뎀정보 확인 - 감염PC에 모뎀이 설정된 경우 운영체제에 저장된 전화모뎀 설정파일에 접근하여 전화번호 등의 사용자 정보를 획득
웹캠 작동 - 감염PC에 장착된 웹캠이 있을 경우 사용자 동의 없이 웹캠을 작동하여 카메라 화면을 캡쳐

 

3. 대응

① OS, AV 소프트웨어 최신 업데이트 적용 후 악성코드 감염 확인 및 치료 조치

- Gh0st RAT 실행되면 C:\WINDOWS\Tasks 폴더에 At1~At24.job 스케줄러 파일을 생성

[사진 8] KISA 140508_Gh0st_RAT_원격제어_악성코드_유포.pdf 발췌

 

- C:\WINDOWS\[임의8자리] 폴더에 svchsot.exe(복사된 악성코드)파일이 저장

[사진 9] KISA 140508_Gh0st_RAT_원격제어_악성코드_유포.pdf 발췌

 

- HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\Run 경로에 C:\WINDOWS\[임의8자리]\svchsot.exe를 자동실행하도록 추가

[사진 10] KISA 140508_Gh0st_RAT_원격제어_악성코드_유포.pdf 발췌

 

② 패킷 탐지 Snort Rule 등 적용

- C&C에 접속하는 패킷의 내용 중 ‘Gh0st’라는 String값이 포함

[사진 11] KISA 140508_Gh0st_RAT_원격제어_악성코드_유포.pdf 발췌

alert tcp $HOME_NET any -> $EXTERNAL_NET 201 (msg:"Gh0stRAT malware v3.6 June 2015 check-in "; flow:to_server,established; content:"|63 6c 61 72 6b 63 6c 61 72 31|"; depth:10; sid:1; rev:1;)

 

4. 참고

https://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=21626 

https://github.com/sin5678/gh0st/tree/master/gh0st

https://github.com/abhinavbom/Snort-Rules/blob/master/malware.rules

https://koreaidc.tistory.com/60

https://www.igloo.co.kr/security-information/%EC%9B%90%EA%B2%A9-%EC%A0%91%EC%86%8D-%EB%8F%84%EA%B5%ACrat%EC%9D%98-%EB%91%90-%EC%96%BC%EA%B5%B4/

 

초기 목적은 부족하지만 직접 빌드를 수행하고, 실행해 보면서 확인해 보려 했습니다.

하지만 기술과 능력의 부족으로 그러지 못했고, 소스코드를 확인해 보면서 추측과 구글링으로 작성하였습니다.

많이 부족하며, 부정확하고, 잘못된 정보가 많을 수 있습니다.

더 노력하여 다음에는 더 나은 게시글을 작성하도록 하겠습니다.

감사합니다.

'악성코드 > 분석' 카테고리의 다른 글

제로클릭(Zero-Click)  (0) 2023.02.20
악성코드와 레지스트리  (1) 2023.01.08
2021.03.28 PHP Git 서버 해킹 사건_백도어  (1) 2022.11.25
C2aaS(C2-as-a-Service)  (0) 2022.11.19
IoT Mirai 악성코드 분석  (0) 2022.11.11

+ Recent posts