실버 폭스가 ZPAQ 및 ByteDance 바이너리에 ValleyRAT를 감싼다: 텔레그램 중국어 팩 MSI 유인물
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
텔레그램 중국어 언어 팩으로 가장한 악성 MSI 설치 프로그램이 ValleyRAT, BYOVD 기반 커널 루트킷 및 DLL 사이드로딩에 악용된 서명된 ByteDance 실행 파일을 포함한 다중 감염 체인을 전달합니다. 설치 프로그램은 또한 정품 zpaqfranz 아카이빙 유틸리티를 Living-off-the-land 바이너리로 잘못 사용하고 물리 메모리에 접근하기 위해 취약한 wnBios 드라이버를 배포합니다. 연구원들은 이 운영의 인프라를 홍콩의 CTG Server Ltd와 연결하고 이 활동을 Silver Fox APT 그룹에 귀속시켰습니다. 이 캠페인은 아시아 태평양 지역의 여러 국가의 중국어 사용자를 목표로 하는 것으로 보입니다.
조사
연구원들은 MSI 커스텀 액션에서 시작하여 ZPAQ 아카이브의 추출, DLL 사이드로딩을 위한 ByteDance SodaMusicLauncher 바이너리의 선택적 사용, wnBios 커널 드라이버의 배포까지 공격 흐름을 재구성했습니다. 포함된 구성 데이터의 분석을 통해 운영자 식별자 및 명령-제어 세부 정보가 공개되었습니다. 지원 인프라는 Silver Fox와 이전에 연관된 불탄성 호스팅에 연결되었습니다. 조사관들은 또한 침입 체인 전반에 걸쳐 사용된 지속성 기술 및 안티바이러스 회피 로직도 발견했습니다.
완화
승인된 백업이나 개발 환경 밖에서 zpaqfranz 바이너리의 실행을 방지하고 VBScript 커스텀 액션을 사용하는 MSI 설치를 면밀히 모니터링하십시오. AppShellElevationService의 생성을 제한하고 신뢰할 수 있는 서명된 바이너리와 함께 놓인 서명되지 않은 DLL을 감지하십시오. CTG Server Ltd가 운영하는 식별된 /21 네트워크 범위로의 아웃바운드 통신을 차단하고 커스텀 C2 포트 5040을 통한 트래픽을 거부하십시오. 이 캠페인에서 관찰된 악성 파일 이름과 프로세스 이름에 대한 호스트 기반 보호를 강화하십시오.
대응
식별된 파일, 생성된 프로세스 및 의심스러운 서비스 생성 이벤트에 대한 탐지를 배포하십시오. 취약한 커널 드라이버 및 악성코드의 독창적인 XOR 기반 복호화 로직에 대한 사냥을 수행하십시오. 잠재적으로 영향을 받을 수 있는 시스템을 격리하고, 루트킷 조사에 대한 더 깊은 메모리 이미지를 수집하며 타협 중 노출된 자격 증명을 재설정하십시오. 위협 정보 팀은 관련된 후속 활동을 위해 CTG Server 인프라를 계속 추적해야 합니다.
graph TB classDef technique fill:#ffcc99 classDef tool fill:#c2e0ff classDef malware fill:#ffd9b3 classDef process fill:#d9ffcc initial_access[“<b>기법</b> – 악성 복사/붙여넣기 사용자 실행”] class initial_access technique system_binary_proxy[“시스템 바이너리 프록시 실행”] class system_binary_proxy technique vbscript_interpreter[“VBScript 실행”] class vbscript_interpreter technique obfuscation[“난독화된 파일”] class obfuscation technique lolbin_zpaqfranz[“도구: zpaqfranz.exe”] class lolbin_zpaqfranz tool powershell_xor[“PowerShell XOR 복호화”] class powershell_xor technique dll_sideloading[“DLL 사이드로딩”] class dll_sideloading technique signed_launcher[“프로세스: SodaMusicLauncher.exe”] class signed_launcher process windows_service[“Windows 서비스 지속성”] class windows_service technique priv_esc_driver[“권한 상승 (BYOVD)”] class priv_esc_driver technique rootkit_bootkit[“루트킷 / 부트킷”] class rootkit_bootkit technique scheduled_task[“예약 작업”] class scheduled_task technique c2_valleyrat[“멀웨어: ValleyRAT”] class c2_valleyrat malware c2_nonstandard_port[“비표준 포트”] class c2_nonstandard_port technique c2_dynamic_resolution[“동적 C2 해석”] class c2_dynamic_resolution technique initial_access –> system_binary_proxy system_binary_proxy –> vbscript_interpreter vbscript_interpreter –> obfuscation obfuscation –> lolbin_zpaqfranz obfuscation –> powershell_xor powershell_xor –> dll_sideloading dll_sideloading –> signed_launcher signed_launcher –> windows_service windows_service –> priv_esc_driver priv_esc_driver –> rootkit_bootkit scheduled_task –> c2_valleyrat c2_valleyrat –> c2_nonstandard_port c2_valleyrat –> c2_dynamic_resolution
공격 흐름
탐지
PowerShell을 통해 가능한 PowerShell 난독화 지표
보기
PowerShell 명령줄에서 의심스러운 .NET 클래스/메서드 호출 (프로세스 생성 통해)
보기
의심스러운 명령 및 제어, 비정상적 최상위 도메인(TLD) DNS 요청 (dns 통해)
보기
가능한 IP 조회 도메인 통신 시도 (dns 통해)
보기
PowerShell에서 의심스러운 .NET 메서드 호출 (powerShell 통해)
보기
Silver Fox가 ZPAQ 및 ByteDance 바이너리로 ValleyRAT을 포장함을 탐지하기 위한 IOC (HashSha256): 텔레그램 중국어 언어 팩 MSI 유인
보기
Silver Fox가 ZPAQ 및 ByteDance 바이너리로 ValleyRAT을 포장함을 탐지하기 위한 IOC (HashMd5): 텔레그램 중국어 언어 팩 MSI 유인
보기
Silver Fox가 ZPAQ 및 ByteDance 바이너리로 ValleyRAT을 포장함을 탐지하기 위한 IOC (DestinationIP): 텔레그램 중국어 언어 팩 MSI 유인
보기
Silver Fox가 ZPAQ 및 ByteDance 바이너리로 ValleyRAT을 포장함을 탐지하기 위한 IOC (SourceIP): 텔레그램 중국어 언어 팩 MSI 유인
보기
물리 메모리 접근을 위한 wnBios로 커널 드라이버 로드 이벤트 감지 [Windows 이미지 로드]
보기
Silver Fox APT에 의해 사용된 악성 바이너리 실행 감지 [Windows 프로세스 생성]
보기
포트 5040에서의 ValleyRAT C2 통신 [Windows 네트워크 연결]
보기
시뮬레이션 실행
전제 조건: 텔레메트리 및 베이스라인 사전 점검이 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 적대 기술(TTP)의 정확한 실행을 세부적으로 설명합니다. 명령과 내러티브는 발견된 TTP를 직접 반영해야 하며 탐지 논리에 의해 예상된 정확한 텔레메트리를 생성하는 것을 목표로 합니다.
-
공격 내러티브 및 명령:
위협 행위자는 희생자의 워크스테이션에 떨어지는 스피어 피싱 링크(T1566.002)를 받습니다
zpaqfranz.exe정품처럼 보이는 압축 도구로 LOLBin(T1036)으로 재활용된 바이너리입니다. 공격자는 도구에 ValleyRAT 페이로드를 압축 해제하고 실행하도록 지시하는 숨겨진 명령문으로 PowerShell(T1059.001)을 통해 이를 실행합니다. 프로세스는 현재 사용자 컨텍스트에서 실행되어 규칙의Image|endswith 'zpaqfranz.exe'조건에 맞는 Windows 프로세스 생성 이벤트를 생성합니다.단계별:
- 악성 바이너리 준비 in
%TEMP%. - PowerShell을 통해 바이너리를 실행하여 더미 인수( ) 을 전달하여 실제 페이로드를 모방합니다.
) 을 전달하여 실제 페이로드를 모방합니다.프로세스를 짧은 기간 동안 유지한 후 종료합니다. - 회귀 테스트 스크립트: # Silver Fox LOLBin 실행 시뮬레이션 $tempPath = “$env:TEMPzpaqfranz.exe” # 1. 악성 LOLBin으로 가장하기 위해 무해한 실행파일 복사 # (다른 테스트의 경우 실제 악성 바이너리를 떨어뜨릴 것입니다.) Copy-Item -Path “$env:SystemRootSystem32calc.exe” -Destination $tempPath -Force # 2. PowerShell을 통해 LOLBin 실행 (T1059.001 시뮬레이션) $args = “-extract C:Temppayload.bin” Write-Host “Launching $tempPath $args” Start-Process -FilePath $tempPath -ArgumentList $args -NoNewWindow # 3. 이벤트가 로깅되도록 몇 초 기다립니다 Start-Sleep -Seconds 5 # 4. 선택사항: 시뮬레이션 정리 (드롭된 바이너리 삭제) Remove-Item -Path $tempPath -Force
- 악성 바이너리 준비 in
-
정리 명령:
# 시뮬레이션에서 남은 아티팩트 제거 $tempPath = "$env:TEMPzpaqfranz.exe" if (Test-Path $tempPath) { Remove-Item $tempPath -Force } # 의도치 않게 launch된 calc.exe 프로세스 종료 Get-Process -Name "calc" -ErrorAction SilentlyContinue | Stop-Process -Force -
Cleanup Commands:
# Remove any residual artefacts from the simulation $tempPath = "$env:TEMPzpaqfranz.exe" if (Test-Path $tempPath) { Remove-Item $tempPath -Force } # Terminate stray calc.exe processes that may have been launched inadvertently Get-Process -Name "calc" -ErrorAction SilentlyContinue | Stop-Process -Force