UAT-8302 및 그 공격 배후의 악성코드 도구세트
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
Cisco Talos는 UAT-8302로 추적되는 중국 관련 APT 그룹이 2024년 후반부터 남미의 정부 기관을 대상으로, 2025년 내내 동남 유럽에서 공격을 수행한 것을 연결 지었다. 이 그룹은 NetDraft, CloudSorcerer v3, VSHELL, SNOWLIGHT, SNOWRUST, 그리고 추가적인 맞춤형 구성 요소를 포함한 광범위한 악성 코드 툴킷을 배포한다. 그들의 작전은 또한 Impacket과 같은 오픈 소스 도구, 프록시 유틸리티, 맞춤형 스크립트에 의존하여 희생자 환경에서의 정찰, 자격 증명 도용, 측면 이동을 지원한다.
조사
Talos는 그룹의 악성 코드 전달 체인, 지속성을 위한 예약 작업의 사용, 그리고 Microsoft Graph와 같은 신뢰 서비스의 명령 및 제어를 학대하는 것을 문서화했다. 연구원들은 또한 DLL 사이드로딩 로더, 정찰 명령, 네트워크 스캐닝 유틸리티, 페이로드 전달 및 원격 접근에 전념하는 인프라를 관찰했다. 보고서는 또한 Jewelbug, Earth Estries, 여러 UNC 추적 그룹을 포함한 다른 중국 관련 클러스터와 도구 및 상업 기법에서의 중복을 설명했다.
완화
조직은 참조된 취약점, 포함 CVE-2025-0994, CVE-2025-20333, 과 CVE-2025-20362에 대한 패치를 적용하고 명령 및 제어에 악용될 수 있는 Office 365와 OneDrive API에 엄격한 제어를 적용해야 한다. 수비자들은 또한 알려진 악성 도메인과 IP 주소를 차단하고 불필요한 서비스를 비활성화하며, Impacket 및 WMI와 같은 원격 실행 도구를 가능한 한 제한해야 한다. 모니터링은 식별된 예약 작업 이름과 캠페인과 관련된 DLL 사이드로딩 패턴에 집중해야 한다.
응답
보안 팀은 나열된 침투 지표를 경고하고, 영향을 받은 시스템을 격리하며, 분석을 위한 관련 로그 및 포렌식 아티팩트를 수집해야 한다. 자격 증명은 신속하게 회전해야 하며, Active Directory는 침투 또는 권한 없는 접근의 징후를 주의 깊게 검토해야 한다. 탐지 콘텐츠는 관찰된 명령 줄 및 예약 작업을 포괄하도록 업데이트되어야 하며, 수비자들은 환경 내 동일한 악성 코드 계열로부터 추가적인 기입을 검색해야 한다.
"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#cccccc classDef operator fill:#ff9900 %% Initial Access initial_access["<b>Action</b> – <b>T1190 Exploit Public-Facing Application</b><br/><b>Description</b>: Exploit a vulnerable internetu2011facing service to gain initial foothold."] class initial_access action vuln_app["<b>Tool</b> – <b>Name</b>: Cityworks (vulnerable)<br/><b>Description</b>: Publicu2011facing application containing CVEu20112025u20110994."] class vuln_app tool %% Execution u2013 System Binary Proxy exec_proxy["<b>Action</b> – <b>T1218.002 System Binary Proxy Execution</b><br/><b>Description</b>: Abuse trusted system binaries to proxy execution of malicious code."] class exec_proxy action control_panel["<b>Tool</b> – <b>Name</b>: Control Panel<br/><b>Description</b>: Legitimate binary used as proxy."] class control_panel tool %% Execution u2013 Trusted Developer Utilities Proxy (MSBuild) exec_msbuild["<b>Action</b> – <b>T1127.001 Trusted Developer Utilities Proxy Execution</b><br/><b>Description</b>: Use MSBuild to load malicious DLLs via sideu2011loading."] class exec_msbuild action msbuild["<b>Tool</b> – <b>Name</b>: MSBuild<br/><b>Description</b>: Microsoft build engine used to execute project files."] class msbuild tool %% Execution u2013 Shared Modules (DLL Sideu2011Loading) exec_shared["<b>Action</b> – <b>T1129 Shared Modules</b><br/><b>Description</b>: Load malicious DLLs by placing them next to benign executables."] class exec_shared action yandex_exe["<b>Tool</b> – <b>Name</b>: Yandex.exe<br/><b>Description</b>: Legitimate executable used as dropper."] class yandex_exe tool vmtools_exe["<b>Tool</b> – <b>Name</b>: VMtools.exe<br/><b>Description</b>: VMware tools binary leveraged for sideu2011loading."] class vmtools_exe tool malware_nedraft["<b>Malware</b> – <b>Name</b>: NetDraft"] class malware_nedraft malware malware_cloudsorcerer["<b>Malware</b> – <b>Name</b>: CloudSorcerer"] class malware_cloudsorcerer malware malware_vshell["<b>Malware</b> – <b>Name</b>: VSHELL"] class malware_vshell malware %% Persistence u2013 Scheduled Task persistence_task["<b>Action</b> – <b>T1053 Scheduled Task/Job</b><br/><b>Description</b>: Create scheduled tasks to run malicious binaries persistently."] class persistence_task action scheduled_task["<b>Tool</b> – <b>Name</b>: MicrosoftMaps{…}<br/><b>Description</b>: Scheduled task used for persistence."] class scheduled_task tool %% Defense Evasion u2013 Exploitation for Evasion defev_evasion["<b>Action</b> – <b>T1211 Exploitation for Defense Evasion</b><br/><b>Description</b>: Leverage vulnerabilities to bypass security controls."] class defev_evasion action %% Defense Evasion u2013 Subvert Trust Controls (Code Signing) defev_signing["<b>Action</b> – <b>T1553.006 Subvert Trust Controls</b><br/><b>Description</b>: Modify code signing policies to trust malicious binaries."] class defev_signing action %% Defense Evasion u2013 Preu2011OS Boot (ROMMONkit) defev_rommon["<b>Action</b> – <b>T1542.004 Preu2011OS Boot: ROMMONkit</b><br/><b>Description</b>: Install malicious driver during firmware boot."] class defev_rommon action rommon_driver["<b>Tool</b> – <b>Name</b>: Hades HIPS driver"] class rommon_driver tool %% Discovery u2013 Account and Group discovery_account["<b>Action</b> – <b>T1087.002 Account Discovery: Domain Account</b><br/><b>Description</b>: Enumerate domain user accounts."] class discovery_account action discovery_groups["<b>Action</b> – <b>T1069.002 Permission Groups Discovery: Domain Groups</b><br/><b>Description</b>: Enumerate domain groups."] class discovery_groups action %% Discovery u2013 Network discovery_netconn["<b>Action</b> – <b>T1049 System Network Connections Discovery</b><br/><b>Description</b>: Identify active network connections."] class discovery_netconn action discovery_remotes["<b>Action</b> – <b>T1018 Remote System Discovery</b><br/><b>Description</b>: Find remote systems on the network."] class discovery_remotes action discovery_scanning["<b>Action</b> – <b>T1595.001 Active Scanning: Scanning IP Blocks</b><br/><b>Description</b>: Scan IP ranges for live hosts."] class discovery_scanning action discovery_netconfig["<b>Action</b> – <b>T1016.001 System Network Configuration Discovery: Internet Connection Discovery</b><br/><b>Description</b>: Gather network configuration details."] class discovery_netconfig action discovery_cloud["<b>Action</b> – <b>T1526 Cloud Service Discovery</b><br/><b>Description</b>: Identify cloud service usage."] class discovery_cloud action discovery_cfg_repo["<b>Action</b> – <b>T1602 Data from Configuration Repository</b><br/><b>Description</b>: Dump network device configuration via SNMP MIB."] class discovery_cfg_repo action %% Lateral Movement u2013 Exploitation of Remote Services lateral_wmi["<b>Action</b> – <b>T1210 Exploitation of Remote Services</b><br/><b>Description</b>: Use WMI or SMB to execute code on remote hosts."] class lateral_wmi action lateral_smb["<b>Action</b> – <b>T1021.002 Remote Services: SMB/Windows Admin Shares</b><br/><b>Description</b>: Access admin shares for lateral movement."] class lateral_smb action lateral_transfer["<b>Action</b> – <b>T1570 Lateral Tool Transfer</b><br/><b>Description</b>: Transfer tools to remote systems."] class lateral_transfer action lateral_taint["<b>Action</b> – <b>T1080 Taint Shared Content</b><br/><b>Description</b>: Poison shared files to spread malware."] class lateral_taint action lateral_cloud["<b>Action</b> – <b>T1021.007 Remote Services: Cloud Services</b><br/><b>Description</b>: Use OneDrive or GitHub for lateral movement."] class lateral_cloud action lateral_rats["<b>Action</b> – <b>T1219 Remote Access Tools</b><br/><b>Description</b>: Deploy tools such as gogo, httpx, SNOWRUST."] class lateral_rats action tool_gogo["<b>Tool</b> – <b>Name</b>: gogo"] class tool_gogo tool tool_httpx["<b>Tool</b> – <b>Name</b>: httpx"] class tool_httpx tool tool_snowrust["<b>Tool</b> – <b>Name</b>: SNOWRUST"] class tool_snowrust tool %% Privilege Escalation u2013 Account Manipulation priv_esc["<b>Action</b> – <b>T1098.007 Account Manipulation: Additional Local or Domain Groups</b><br/><b>Description</b>: Add compromised accounts to privileged groups."] class priv_esc action %% Command and Control u2013 Proxy (multiu2011hop) c2_proxy["<b>Action</b> – <b>T1090 Proxy</b><br/><b>Description</b>: Route traffic through internal, external and multiu2011hop proxies."] class c2_proxy action c2_proxy_int["<b>Tool</b> – <b>Name</b>: Internal Proxy"] class c2_proxy_int tool c2_proxy_ext["<b>Tool</b> – <b>Name</b>: External Proxy"] class c2_proxy_ext tool %% Command and Control u2013 Protocol Tunneling c2_tunnel["<b>Action</b> – <b>T1572 Protocol Tunneling</b><br/><b>Description</b>: Encapsulate C2 traffic inside allowed protocols."] class c2_tunnel action %% Command and Control u2013 Cloud API c2_cloudapi["<b>Action</b> – <b>T1059.009 Command and Scripting Interpreter: Cloud API</b><br/><b>Description</b>: Use OneDrive, GitHub, GameSpot APIs for C2."] class c2_cloudapi action c2_onedrive["<b>Tool</b> – <b>Name</b>: OneDrive"] class c2_onedrive tool c2_github["<b>Tool</b> – <b>Name</b>: GitHub"] class c2_github tool c2_gamespot["<b>Tool</b> – <b>Name</b>: GameSpot"] class c2_gamespot tool %% Command and Control u2013 Web Protocols c2_web["<b>Action</b> – <b>T1071.001 Application Layer Protocol: Web Protocols</b><br/><b>Description</b>: Communicate over HTTP/HTTPS."] class c2_web action %% Command and Control u2013 Multiu2011Stage Channels c2_multi["<b>Action</b> – <b>T1104 Multiu2011Stage Channels</b><br/><b>Description</b>: Chain multiple C2 channels for resilience."] class c2_multi action %% Exfiltration u2013 Over Web Service exfil_web["<b>Action</b> – <b>T1567.002 Exfiltration Over Web Service</b><br/><b>Description</b>: Upload stolen data to cloud storage services."] class exfil_web action %% Connections u2013 Attack Flow initial_access –>|exploits| vuln_app vuln_app –>|enables| exec_proxy exec_proxy –>|uses| control_panel exec_proxy –>|leads_to| exec_msbuild exec_msbuild –>|uses| msbuild exec_msbuild –>|facilitates| exec_shared exec_shared –>|leverages| yandex_exe exec_shared –>|leverages| vmtools_exe exec_shared –>|loads| malware_nedraft exec_shared –>|loads| malware_cloudsorcerer exec_shared –>|loads| malware_vshell exec_shared –>|creates| persistence_task persistence_task –>|creates| scheduled_task scheduled_task –>|maintains| defev_evasion defev_evasion –>|includes| defev_signing defev_signing –>|modifies| rommon_driver defev_evasion –>|includes| defev_rommon defev_rommon –>|installs| rommon_driver %% Discovery Flow scheduled_task –>|gathers| discovery_account scheduled_task –>|gathers| discovery_groups scheduled_task –>|gathers| discovery_netconn scheduled_task –>|gathers| discovery_remotes scheduled_task –>|gathers| discovery_scanning scheduled_task –>|gathers| discovery_netconfig scheduled_task –>|gathers| discovery_cloud scheduled_task –>|gathers| discovery_cfg_repo %% Lateral Movement Flow discovery_remotes –>|enables| lateral_wmi lateral_wmi –>|uses| lateral_smb lateral_smb –>|transfers| lateral_transfer lateral_transfer –>|moves| lateral_cloud lateral_cloud –>|uses| c2_onedrive lateral_cloud –>|uses| c2_github lateral_cloud –>|uses| c2_gamespot lateral_wmi –>|executes| lateral_rats lateral_rats –>|uses| tool_gogo lateral_rats –>|uses| tool_httpx lateral_rats –>|uses| tool_snowrust %% Privilege Escalation Flow discovery_groups –>|supports| priv_esc %% Command and Control Flow priv_esc –>|reports to| c2_proxy c2_proxy –>|routes through| c2_proxy_int c2_proxy –>|routes through| c2_proxy_ext c2_proxy –>|uses| c2_tunnel c2_tunnel –>|establishes| c2_cloudapi c2_cloudapi –>|communicates via| c2_onedrive c2_cloudapi –>|communicates via| c2_github c2_cloudapi –>|communicates via| c2_gamespot c2_cloudapi –>|uses| c2_web c2_web –>|enables| c2_multi c2_multi –>|delivers| exfil_web %% Styling class initial_access,exec_proxy,exec_msbuild,exec_shared,persistence_task,defev_evasion,defev_signing,defev_rommon,discovery_account,discovery_groups,discovery_netconn,discovery_remotes,discovery_scanning,discovery_netconfig,discovery_cloud,discovery_cfg_repo,lateral_wmi,lateral_smb,lateral_transfer,lateral_taint,lateral_cloud,lateral_rats,priv_esc,c2_proxy,c2_tunnel,c2_cloudapi,c2_web,c2_multi,exfil_web action class vuln_app,control_panel,msbuild,yandex_exe,vmtools_exe,malware_nedraft,malware_cloudsorcerer,malware_vshell,scheduled_task,rommon_driver,tool_gogo,tool_httpx,tool_snowrust,tool_gogo,tool_httpx,tool_snowrust,c2_proxy_int,c2_proxy_ext,c2_onedrive,c2_github,c2_gamespot tool class rommon_driver malware "
공격 흐름
탐지
의심스러운 CURL 사용 (명령 줄을 통해)
보기
Cloudflare 개발 도메인 오용 가능성 (DNS 통해)
보기
Impacket 명령 줄 패턴 가능성 (명령 줄을 통해)
보기
Sysinternals 도구 사용 가능성 (명령 줄을 통해)
보기
바이패스 실행 정책을 사용하는 의심스러운 디렉터리에서 실행되는 PowerShell (명령 줄을 통해)
보기
시스템 열거 가능성 (명령 줄을 통해)
보기
원격 시스템 발견 또는 연결성 확인 가능성 (명령 줄을 통해)
보기
관리자 계정 또는 그룹 열거 가능성 (명령 줄을 통해)
보기
의심스러운 도메인 신뢰 발견 (명령 줄을 통해)
보기
시스템 네트워크 구성 발견 가능성 (명령 줄을 통해)
보기
Schtasks가 의심스러운 디렉터리/바이너리/스크립트를 가리킴 (명령 줄을 통해)
보기
LOLBAS wmic (명령 줄을 통해)
보기
데이터 인코딩 및 인증서 작업에 Certutil 사용 (명령 줄을 통해)
보기
공공 사용자 프로필에서의 의심스러운 실행 (프로세스 생성을 통해)
보기
데이터 수집 가능성 [7zip] (명령 줄을 통해)
보기
공공 사용자 프로필에서의 의심스러운 파일 (파일 이벤트를 통해)
보기
의심스러운 파일 다운로드 직접 IP (프록시를 통해)
보기
악성코드 가득 찬 상자 UAT-8302를 탐지하기 위한 IOC (HashSha256)
보기
악성코드 가득 찬 상자 UAT-8302를 탐지하기 위한 IOC (SourceIP)
보기
악성코드 가득 찬 상자 UAT-8302를 탐지하기 위한 IOC (DestinationIP)
보기
UAT-8302에 의한 예약 작업 및 WMIC 프로세스 생성 [Windows 프로세스 생성]
보기
UAT-8302 PowerShell 정찰 활동 탐지 [Windows PowerShell]
보기
시뮬레이션 실행
전제 조건: 원격 측정 및 기준선 사전 비행 검사가 통과했어야 한다.
논리적 근거: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 적의 기법(TTP)의 정확한 실행을 자세히 설명한다. 명령과 내러티브는 식별된 TTP를 직접 반영하고, 탐지 논리가 예상하는 정확한 원격 측정을 생성하는 것을 목표로 한다.
-
공격 내러티브 및 명령:
도메인에 조인된 Windows 호스트에서 발판을 얻은 공격자는 UAT‑8302 플레이북으로 알려진 Active Directory와 보안 로그에 대한 빠른 정찰을 수행하고자 한다. 탐지를 피하기 위해 공격자는 먼저 PowerShell 전사 기록을 비활성화하고, Sigma 규칙이 캡처하도록 조정된 세 가지 정확한 명령 줄을 발행한다:- 임시 스크립트를 배포하고(
whatpc.ps1) 임시 폴더에 넣고 실행 정책을 우회하여 실행한다. - AD 사용자 및 선택된 속성을 하나의 파이프라인에서 열거한다.
- 보안 이벤트 로그 구성을 나열하여 나중에 읽거나 지울 수 있는지를 평가한다.
이 명령들은 PowerShell 운영 이벤트(EventID 4104)를 생성하며,
명령 줄필드가 규칙의selection1‑3절과 일치하므로 경고를 발생시켜야 한다. - 임시 스크립트를 배포하고(
-
회귀 테스트 스크립트:
# ------------------------------------------------- # UAT‑8302 정찰 시뮬레이션 스크립트 # ------------------------------------------------- # 1. 더미 스크립트(whatpc.ps1)를 배포하고 실행 $scriptPath = "$env:windirTempwhatpc.ps1" Set-Content -Path $scriptPath -Value '# 탐지 테스트를 위한 더미 스크립트' -Encoding ASCII powershell -ExecutionPolicy Bypass -WindowStyle Hidden -File $scriptPath # 2. AD 사용자 열거 (RSAT AD 모듈 필요) powershell -Command "Get-ADUser -Filter * -Property * | Select-Object Name, DisplayName, LastLogonDate, PasswordLastSet, PasswordExpired, Description, EmailAddress, homeDirectory, scriptPath" # 3. 보안 로그 열거 powershell -Command "Get-WinEvent -ListLog Security | Format-List LogName, FileSize, LogMode, MaximumSizeInBytes, RecordCount" # ------------------------------------------------- -
정리 명령:
# 임시 스크립트 제거 Remove-Item -Path "$env:windirTempwhatpc.ps1" -Force # 선택적으로 PowerShell 세션 기록 삭제 (저장된 경우) Clear-History