1. 개요

- 한국을 포함한 APAC 지역 기업을 대상으로 FatalRat을 배포하는 대규모 피싱 공격(SalmonSlalom 캠페인)이 발견 [1]

- 제조업, 건설업, 정보기술(IT), 통신, 의료, 에너지, 물류 운송 등 산업군을 대상으로 진행

- 중국의 정식 클라우드 서비스(Youdao Cloud Notes, myqcloud CDN)를 악용한 정교한 다단계 감염 기법을 사용

2. 주요 내용

[사진 1] 공격 체인 요약

2.1 초기 감염 (Initial Infection)

- APAC 지역 정부 기관 및 기업을 대상으로 피싱 메일, WeChat, Telegram을 통해 악성 ZIP 파일 유포

> ZIP 파일에는 세금 신고서나 송장 파일이 포함되어 있으며, 파일명은 중국어로 작성

> 또한, ZIP 파일에 1단계 로더가 포함되어 있으며, AsPacker, UPX, NSPack으로 패킹하여 탐지 회피

패킹 (Packing) : 악성코드가 보안 솔루션에 탐지되지 않도록 파일을 압축하거나 암호화하는 기술로, 악성코드의 구조 및 코드 흐름을 숨겨 정적 분석이나 시그니처 기반 탐지로는 악성코드를 쉽게 식별하지 못하도록 함

 

2.2 1단계 로더 (First-stage loader)

- ZIP 파일을 실행하면, 1단계 로더가 활성화

> AsPacker, UPX, NSPack으로 패킹

> 압축 해제 후, Microsoft Visual C++ 2010으로 컴파일

 

- 로더는 Youdao Cloud Notes에 HTTP 요청을 보내 구성기(Before.dll) 및 2단계 로더(Fangao.dll)에 대한 동적으로 업데이트된 링크 목록을 다운로드

> 링크 목록에서 첫 번째 링크부터 선택되며, 해당 링크가 작동하지 않으면 다음 링크가 선택됨

> 다운로드가 완료되면 Fangao.dll과 Before.dll이 1단계 로더에 의해 로드 및 실행

링크 목록이 저장된 URL : hxxp://note.youdao[.]com/yws/api/note/4b2eead06fc72ee2763ef1f653cdc4ae

 

[사진 2] 다음 단계 모듈에 대한 동적으로 업데이트된 링크 목록

2.2.1 Before.dll (구성기)

- 구성 정보를 다운로드하고 시스템 정보를 수집 및 공격자 서버로 전송

> Youdao Cloud Notes에서 JSON 데이터를 다운로드

> 노트에는 submit, dll, online의 세 가지 유형의 URL이 존재하며, 노트를 사용할 수 없을 경우를 대비한 추가적인 URL

구성 정보 다운 URL : hxxp[:]//note.youdao[.]com/yws/api/note/1eaac14f58d9eff03cf8b0c76dcce913

 

[사진 3] 동적으로 업데이트된 구성정보가 포함된 메모 내용

- 각 매개변수 값은 XOR(Key : 0x58)로 암호화되어 구성 파일인 C:\Users\Public\vanconfig.ini에 저장

> belong 매개변수는 작동한 URL과 관련된 노트 콘텐츠 블록 번호를 나타내며, 차단된 URL을 식별할 수 있도록 함

 

[사진 4] 구성 정보 암/복호화 비교

- 피해자 ID로 사용되는 6자리 난수 값을 생성해 C:\Users\Public\history.txt 파일에 저장

- 또한, DLL 파일이 있는 디렉토리에 사용자의 의심을 줄이기 위한 가짜 청구서가 작성된 텍스트 파일 추출

 

- 감염된 시스템의 이름과 Windows 버전을 수집공격자 서버로 GET 요청을 전송

공격자 서버 URL : hxxp://101.33.243[.]31:82/initialsubmission?windows_version=17134&computer_name=MYTEST:DESKTOP-CROB74D
공격자 서버로 POST 메서드가 아닌 GET 메서드를 사용하는 이유 (개인적인 궁금증 및 생각)
① 탐지 회피
> POST 메서드는 일반적으로 데이터 전송이나 인증에 사용되기 때문에 비정상적인 POST 요청은 보안 솔루션에 의해 탐지될 수 있음
② 전송 데이터의 작은 크기
> 단순히 감염된 시스템의 이름과 Windows 버전 정보만을 전송하기에 상대적으로 전송 데이터가 큰 POST 보다 효율적

③ 공격자 인프라 단순화
> 공격자 서버에 기록되는 로그를 활용해 정보를 수집할 수 있으므로 인프라를 단순화 시킬 수 있음
④ 서버 부하 감소
> Stateless 방식으로 서버의 자원 소모를 감소시켜 여러 피해자로부터 정보를 수집할 때 서버 부하를 감소시킬 수 있음 

2.2.2 2단계 로더 (Fangao.dll)

- Before.dll에 의해 생성된 C:\Users\Public\vanconfig.ini 구성 파일을 사용최종 페이로드 다운 및 실행

 

- 구성 파일에서 submit 매개변수를 사용해 네트워크 이름과 운영체제 버전을 공격자 서버로 전송

> Baidu.com에 접속을 시도해 인터넷 연결을 확인하고, 뮤텍스 UniqueMutexName 생성

뮤텍스 (Mutexex) : 악성코드의 중복 실행을 방지하기 위한 목적으로 사용

 

- 구성 파일에서 dll 매개변수를 사용해 FatalRAT 페이로드 다운

> 각 로더 샘플에 고유한 7Byte XOR키를 사용해 복호화하고 FatalRat 실행

 

- 사용자의 주의를 돌리기 위해 프로그램에 오류가 있다는 알림을 표시하고, 악성코드 실행 여부를 판별하기 위해 몇 가지 검사를 수행

> 검사에 통과할 경우 리소스를 압축 해제하는 프로세스를 시작

> 압축 해제 유틸리티(unrar.dll)은 악성 프로그램의 실행 파일이 있는 디렉토리의 리소스 103에 저장되고 숨김 및 시스템 속성이 할당

> C:\ProgramData\KnGoe와 C:\ProgramData\8877이라는 두 개의 새 폴더 생성하고 리소스를 추출해 파일에 저장

 

- 아카이브가 저장되면 unrar.dll과 비밀번호 by2022를 사용해 아카이브에서 파일 추출 및 압축 해제

> 압축 해제 후 아카이브 파일 삭제 및 실행 중인 프로그램 중에서 mmc.exe 프로세스의 인스턴스를 찾아 종료

아카이브 저장 경로 파일 설명
PO520.rar C:\ProgramData\KnGoe\e.dll 합법적인 DriverAssistant 유틸리티의 일부인 DDUtility.dll
C:\ProgramData\KnGoe\r.dll 합법적인 DriverAssistant 유틸리티의 일부인 DMMUtility.dll
C:\ProgramData\KnGoe\t.dll wke.dll : 사이드로드된 악성 DLL
C:\ProgramData\KnGoe\t.ini 텍스트 파일 내에 저장된 "MZ" 헤더
C:\ProgramData\KnGoe\w.dll acvb.exe : DLL 사이드로딩에 사용되는 실행 파일(DriverAssistant 프로세스로)
QD.rar C:\ProgramData\KnGoe\0user.exe PureCodec의 일부인 합법적인 소프트웨어
C:\ProgramData\KnGoe\update.ini PureCodec 구성 파일
C:\ProgramData\KnGoe\YX.vbs 악성 VBS 스크립트
C:\ProgramData\KnGoe\user.bat 악성 CMD script
MMC.rar C:\ProgramData\8877\Local Group Policy Editor.msc 중국어 그룹 정책 편집기

 

2.3 지속성 확보 (Persistence)

- 시스템 재부팅 후에도 자동으로 재실행되도록 Fangao.dll를 활용해 그룹 정책 로그온 스크립트 (Group Policy Logon Script)를 악용

그룹 정책 로그온 스크립트 (Group Policy Logon Script) : 사용자가 로그온할 때 실행되는 스크립트 파일

 

- 가장 먼저 레지스트리 키의 존재 유무 확인

> 존재 시 이미 지속성이 확보되었다고 판단하고 추가 작업을 수행하지 않음

> 존재하지 않을 시 GUI 자동화 기법을 활용해 다음 과정으로 자동 실행 등록 작업 수행

레지스트리 키 : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Logon

 

자동 실행 등록 작업
① DriverUtility 도구 실행 - DriverUtility 도구 (합법적이고 서명됨)를 실행해 UAC를 우회해 관리자 권한 획득
사용자 계정 컨트롤 (User Account Control, UAC)
> 윈도우 비스타 이상의 운영체제에서 제공하는 보안기능
> 권한이 없는 프로그램이나 악성코드가 바로 실행되지 않도록 사용자에게 실행 여부를 묻는 기능
② Windows Explorer 창 
열기 및 숨기기
- Windows Explorer를 사용하여 C:\ProgramData\8877 디렉토리를 엶
> 해당 디렉토리에는 그룹 정책 편집기의 중국어 버전이 압축 해제된 파일을 포함
> SetWindowPos 및 EnableWindow API 함수를 사용해 사용자에게 보이지 않도록 숨겨진 창 상태로 전환
③ GUI 상호작용 시뮬레이션 - GUI 작업을 WM_KEYDOWN 및 WM_KEYUP API 메시지로 마우스 클릭과 키보드 입력을 자동화
> 과정 : Windows 설정 > 스크립트 (로그온/로그오프) > 로그온 스크립트 추가
※ 윈도우 메시지
> 프로그램에서 변화가 생겼을 때 Windows가 프로그램에게 알려주는 정보
> WM_KEYDOWN : 키보드의 특정 키가 눌린 순간 발생
> WM_KEYUP : 키가 떼어질 때 발생
④ 악성 프로그램 등록 - 로그온 스크립트에 C:\ProgramData\KnGoe\0user.exe 등록
> 해당 실행 파일은 PureCodec의 설치 프로그램으로 위장

 

- 자동 실행 절차의 성공 여부를 확인하기 위해 레지스트리 키를 다시 한 번 확인

> 키가 존재하지 않으면 "RegRunError" 메시지를 전송하여 오류 로그 생성

 

2.4 FatalRAT

[사진 5] FatalRAT 동작 과정

- 0user.exe는 update.ini 구성 파일을 로드(정상적인 과정)하고 path 매개변수로 지정된 바이너리를 호출 및 실행

> update.ini 파일 내용을 조작해 path 매개변수를 XY.vbs로 변경

 

- XY.vbs는 wscript.shell을 사용하여 user.bat 실행

> user.bat 동작 과정

C:\user0 디렉토리를 생성

C:\test 디렉토리를 제거

③ user0.exe가 이미 실행 중인지 확인 및 실행 중일 경우 taskill.exe를 사용하여 종료

C:\ProgramData\KnGoe\w.dll 파일 존재 여부 확인

존재 시 - C:\ProgramData\KnGoe\t.ini에 저장된 MZ 헤더를 4개의 파일에 추가 후 C:\user0 폴더에 저장
> C:\ProgramData\KnGoe\w.dll (저장 파일명 : C:\user0\acvb.exe)
> C:\ProgramData\KnGoe\e.dll (저장 파일명 : C:\user0\DDUtility.dll)
> C:\ProgramData\KnGoe\r.dll (저장 파일명 : C:\user0\DMMUtility.dll)
> C:\ProgramData\KnGoe\t.dll (저장 파일명 : C:\user0\wke.dll)

C:\user0 폴더에 read only, system, hidden and archived 속성 설정

⑥ Ping 127.0.0.1 (스크립트 실행을 일시 중지하는 데 사용됨)

⑦ C:\user0\acvb.exe (DriverAssistant 도구)를 실행

⑧ Ping 127.0.0.1 (스크립트 실행을 일시 중지하는 데 사용됨)

C:\test 폴더에 있는 모든 파일에 read only, system, hidden and archived 속성 설정

⑩ tasklist를 사용하여 실행 중인 프로세스 목록 검색 및 findstr을 사용하여 acvb.exe를 실행하는 프로세스 검색

> 프로세스를 찾을 수 없으면 4단계로 복귀

C:\ProgramData\KnGoe\YX.vbs에 read only, system, hidden and archived 속성 설정

C:\user0 폴더의 파일에 read only, system, hidden and archived 속성 설정

 

[사진 6] user.bat의 내용

- acvb.exeDriverAssistant 유틸리티로 DLL 사이드로딩에 취약함을 악용

> DMMUtility.dll, DDUtility.dll, wke.dll 중 하나를 DLL 사이드로딩 시도

 

- wke.dll

> ASPacker로 패킹

> 파일 끝에 다수의 널 바이트를 추가하여  파일 크기를 부풀리고, 런타임 때 메모리에서 압축 해제

> wkeInit 함수 호출 시 하드코딩된 URL로 HTTP GET 요청을 전송

> DLL.dll은 FatalRAT 페이로드로, XOR 연산을 사용해 복호화되고 메모리에서 실행됨

하드코딩된 URL : hxxp://mytodesktest-1257538800.cos.ap-nanjing.myqcloud[.]com/DLL.dll

 

- FatalRAT

> 악성코드가 가상머신이나 샌드박스 환경에서 실행되는지 확인하기 위해 17가지 검사 수행 및 검사 중 하나라도 실패할 경우 실행 중지

> rundll32.exe 프로세스의 모든 인스턴스를 종료

> 레지스트리  키 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableLockWorkstation를 1로 설정 (화면 잠금 기능 차단)

> C:\Windows\Fatal.key에 키로깅 정보 저장

> C:\Users\Public\vanconfig.ini에서 online 값(C2 서버 주소:포트 정보)을 읽고, XOR (Key : 0x58)로 복호화

 

- 감염된 시스템에 대한 아래 정보가 모두 수집된 후 C2 서버로 암호화하여 전송

> 외부 IP 주소(hxxp://www.taobao.com/help/getip.php 서비스를 사용하여 얻음)

> 운영체제 설치 시간

> 운영 체제 아키텍처 및 버전

> 맬웨어 서비스/레지스트리 키에 대한 정보

> CPU에 대한 정보

> 사용자가 현재 유휴 상태인지 여부에 대한 정보 (180,000틱 이상 동안 입력 이벤트가 수신되지 않은 경우)

> 사용자 이름

> Tencent QQ 메신저가 시스템에서 실행 중인지 여부 (창 클래스 CTXOPConntion_Class로 검색)

> 시스템에서 실행되는 보안 솔루션 및 기타 소프트웨어에 대한 정보

 

- 이후 C2 서버로부터 명령이 도착할 때까지 대기

> 키로깅: 사용자의 키 입력을 기록해 민감한 정보를 탈취
> 시스템 조작: 마스터 부트 레코드 (MBR) 손상, 화면 켜기/끄기, 프로세스 종료
> 데이터 유출: 구글 크롬 (Google Chrome), 인터넷 익스플로러 (Internet Explorer) 등 브라우저에서 사용자 데이터 탈취
> 추가 악성 프로그램 설치: 애니데스크 (AnyDesk), 울트라뷰어 (UltraViewer) 등 원격 제어 도구 설치
> 프록시 관리: 프록시 서비스 시작/중지 및 네트워크 트래픽 조작

 

- 침해지표 참고 (Indicators of compromise) [1]

> 악성파일명 27개

> 악성 파일 MD5 145개

IP 60개

> URL 45개

> 레지스트리 키 1개

파일 경로 6개

> PDB 경로 5개

> 뮤텍스 명 1개

3. 참고

[1] https://ics-cert.kaspersky.com/publications/reports/2025/02/24/fatalrat-attacks-in-apac-backdoor-delivered-via-an-overly-long-infection-chain-to-chinese-speaking-targets/
[2] https://www.dailysecu.com/news/articleView.html?idxno=164002

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

정적분석 (Static Analysis) #3  (1) 2025.03.07
정적분석 (Static Analysis) #2  (0) 2025.03.06
정적분석 (Static Analysis)  (1) 2025.02.25
악성코드 분석 개요  (1) 2025.02.18
Malvertising 기법  (0) 2024.12.16

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