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 첫 번째 공격 체인
① 악성 LNK 파일이 포함된 RAR 파일
② LNK 파일 실행 시 내장된 JavaScript 실행
> 드로퍼의 시작 부분인 "var onm=" 문자열 검색 후 %temp%에 로드
> LoLBin(living-off-the-land Binaries)를 사용해 JavaScript 실행 [3]
③ JavaScript는 미끼용 문서, 암호화된 SugarGh0st 페이로드, DLL 로더 및 배치 스크립트 생성
> 드로퍼로 동작하며, 포함된 파일을 디코딩하여 %TEMP% 경로에 생성
> 미끼용 문서 오픈, %TEMP%에서 배치 스크립트 로더 실행, DLL 로더 실행 순
> 동작 완료 후 자체적으로 삭제
④ 배치 스크립트와 DLL 로더를 실행해 암호화된 SugarGh0st 페이로드를 해독해 실행
> "ctfmon.bat"는 DLL 로더를 실행하는 명령이 포함
> "MSADOCG.DLL"은 %TEMP%에서 암호화된 SugarGh0st 페이로드 파일 "DPLAY.LIB'' 복호화 및 메모리에서 SugarGh0st 실행
2.2 두 번째 공격 체인
- 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
'악성코드 > 분석' 카테고리의 다른 글
국내 보안 프로그램 위장 인포스틸러 트롤스틸러(Troll Stealer) (0) | 2024.02.15 |
---|---|
Androxgh0st 악성코드 분석 보고서 (0) | 2024.01.19 |
KISA 보안 업데이트로 위장한 악성코드 유포 (0) | 2023.06.13 |
러시아 배후 Snake 악성코드 (0) | 2023.05.13 |
악의적인 MS Word RTF File 악성코드 유포 (CVE-2017-0199) #3 (0) | 2023.05.05 |