실버 폭스, 세금 테마의 피싱 미끼로 인도 타겟팅
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
Silver Fox라는 중국 APT 그룹이 인도 기관을 대상으로 세금 주제의 피싱 캠페인을 수행합니다. 초기 이메일에는 피해자를 악성 도메인으로 유도하고 ZIP 파일 다운로드를 유발하는 PDF가 포함됩니다. 이 ZIP에는 Thunder.exe와 악성 libexpat.dll을 떨어뜨리는 NSIS 설치 프로그램이 포함되어 있으며, DLL 하이재킹, 분석 방지 검사를 수행하고 암호화된 쉘 코드를 로드합니다. 최종 페이로드는 다단계 C2 인프라스트럭처에서 설정을 수신하는 Valley RAT입니다.
조사
보고서에서는 4단계를 세부적으로 설명합니다: (1) PDF 유혹을 통한 ZIP 전달, (2) Thunder.exe와 libexpat.dll을 떨어뜨리는 NSIS 설치 프로그램 실행, (3) explorer.exe에 주입하는 Donut 생성 쉘코드 로더, (4) 레지스트리 기반 지속성과 모듈형 플러그인을 가진 Valley RAT 배포. 분석에는 바이너리의 정적 및 동적 검사, C2 도메인 나열 및 ATT&CK 기술 매핑이 포함됩니다.
완화
수비수는 임시 위치에서 서명되지 않은 DLL을 로드하는 서명된 바이너리를 모니터링하고, HKCUConsole 아래의 레지스트리 쓰기, explorer.exe에서 PAGE_EXECUTE_READWRITE 메모리의 비정상적인 생성에 주의해야 합니다. 알려진 C2 도메인 및 IP를 차단하고 다중 계층 폴백 동작을 탐지하면 노출을 줄일 수 있습니다. 초기 NSIS 설치 프로그램을 차단하기 위해 엄격한 애플리케이션 제어 및 샌드박스 회피 탐지를 구현하십시오.
대응
지표가 관찰되면, 영향을 받는 호스트를 고립시키고 프로세스 주입 분석을 위해 휘발성 메모리를 수집하며, Valley RAT 레지스트리 키 및 플러그인을 검색하세요. 확인된 모든 C2 인프라를 차단하고 침해된 자격 증명을 재설정하십시오. 추가 플러그인이나 측면 이동 도구를 식별하기 위해 전체 포렌식 검토를 수행하십시오.
graph TB %% 클래스 정의 classDef technique fill:#ddeeff classDef file fill:#ffddaa classDef process fill:#ffccbb classDef action fill:#cce5ff %% 노드 – 기술 initial_phishing[“<b>초기 접근 – T1566.001</b><br/>스피어피싱 첨부 파일<br/>피해자가 악성 소득세 PDF를 열면 ggwk.cc로 리디렉션되고 ZIP 다운로드가 시작됨”] class initial_phishing technique user_execution[“<b>사용자 실행 – T1204.002</b><br/>악성 파일<br/>사용자가 다운로드된 ZIP 파일(NSIS 설치 포함)을 실행함”] class user_execution technique cmd_scripting[“<b>실행 – T1059</b><br/>명령 및 스크립트 인터프리터<br/>NSIS 스크립트가 설치 워크플로우를 수행함”] class cmd_scripting technique native_api_1[“<b>실행 – T1106</b><br/>네이티브 API<br/>설치 프로그램이 GetTempPathA를 호출하고 임시 작업 디렉터리를 생성하며 파일을 작성함”] class native_api_1 technique shared_modules[“<b>실행 – T1129</b><br/>공유 모듈<br/>설치 프로그램이 Thunder.exe(서명됨) 및 악성 libexpat.dll을 배치함”] class shared_modules technique dll_hijack[“<b>방어 회피 – T1574.001</b><br/>DLL 검색 순서 하이재킹<br/>Thunder.exe 옆에 libexpat.dll을 배치하여 먼저 로드되도록 함”] class dll_hijack technique proxy_execution[“<b>방어 회피 – T1218</b><br/>시스템 바이너리 프록시 실행<br/>Thunder.exe가 프록시로 사용되어 악성 DLL을 실행함”] class proxy_execution technique trusted_proxy[“<b>방어 회피 – T1127</b><br/>신뢰된 개발자 유틸리티 프록시 실행<br/>서명된 Thunder.exe가 악성 활동을 숨김”] class trusted_proxy technique dll_injection[“<b>실행 – T1055.001</b><br/>DLL 인젝션<br/>libexpat.dll이 안티 분석 검사를 수행하고 Windows 업데이트 서비스를 비활성화함”] class dll_injection technique service_execution[“<b>실행 – T1569.002</b><br/>서비스 실행<br/>가시성을 줄이기 위해 wuauserv 서비스를 중지함”] class service_execution technique sandbox_evasion[“<b>방어 회피 – T1497</b><br/>가상화/샌드박스 회피<br/>안티 디버그 및 샌드박스 탐지 로직이 분석 환경에서 실행을 종료함”] class sandbox_evasion technique native_api_2[“<b>실행 – T1106</b><br/>네이티브 API<br/>VirtualAllocEx 및 WriteProcessMemory를 사용해 explorer.exe에 셸코드를 주입함”] class native_api_2 technique process_hollowing[“<b>방어 회피 – T1055.012</b><br/>프로세스 할로잉<br/>Explorer.exe를 일시 중지 상태로 실행하고 페이로드를 삽입함”] class process_hollowing technique reflective_loading[“<b>실행 – T1620</b><br/>리플렉티브 코드 로딩<br/>Donut에서 생성된 로더가 메모리 내에서 페이로드를 완전히 실행함”] class reflective_loading technique registry_persistence[“<b>지속성 – T1547.001</b><br/>레지스트리 실행 키 / 시작 폴더<br/>Valley RAT이 플러그인 모듈을 HKCU\\Console\\*에 REG_BINARY로 저장함”] class registry_persistence technique modify_registry[“<b>지속성 – T1112</b><br/>레지스트리 수정<br/>구성 매개변수(C2 주소, 기능 플래그)를 레지스트리에 기록함”] class modify_registry technique c2_web[“<b>명령 및 제어 – T1071.001</b><br/>웹 프로토콜<br/>HTTP/HTTPS를 통한 기본 C2 통신”] class c2_web technique c2_raw_tcp[“<b>명령 및 제어 – T1095</b><br/>비응용 계층 프로토콜<br/>HTTP 실패 시 Raw TCP 백업 지원”] class c2_raw_tcp technique encrypted_channel[“<b>명령 및 제어 – T1573</b><br/>암호화된 채널<br/>모든 C2 통신과 구성 페이로드 암호화됨”] class encrypted_channel technique fallback_channels[“<b>명령 및 제어 – T1008</b><br/>백업 채널<br/>자동 장애 조치가 적용된 3단계 C2 계층 구조”] class fallback_channels technique keylogging[“<b>수집 – T1056.001</b><br/>입력 캡처: 키로깅<br/>키로거 기능이 구성 플래그로 활성화됨”] class keylogging technique obfuscation[“<b>방어 회피 – T1027</b><br/>암호화된 파일 또는 정보<br/>box.ini에 암호화된 상태로 저장되며 실행 시 복호화됨”] class obfuscation technique code_signing[“<b>방어 회피 – T1553.002</b><br/>신뢰 제어 우회: 코드 서명<br/>정상 서명된 Thunder.exe가 악성 활동을 숨김”] class code_signing technique appcert_dll[“<b>방어 회피 – T1546.009</b><br/>이벤트 트리거 실행: AppCert DLLs<br/>악성 libexpat.dll이 DLL 하이재킹을 통해 실행됨”] class appcert_dll technique %% 노드 – 파일 / 프로세스 file_zip[“<b>파일</b><br/>NSIS 설치 포함 악성 ZIP”] class file_zip file nsis_installer[“<b>파일</b><br/>사용자가 실행한 NSIS 설치 프로그램”] class nsis_installer file thunder_exe[“<b>파일</b><br/>프록시로 사용된 서명된 Thunder.exe”] class thunder_exe file libexpat_dll[“<b>파일</b><br/>악성 libexpat.dll”] class libexpat_dll file box_ini[“<b>파일</b><br/>암호화된 구성 페이로드 (box.ini)”] class box_ini file explorer_exe[“<b>프로세스</b><br/>explorer.exe (인젝션 대상)”] class explorer_exe process donut_loader[“<b>파일</b><br/>Donut에서 생성된 리플렉티브 로더”] class donut_loader file %% 연결 – 공격 흐름 initial_phishing –>|다운로드| file_zip file_zip –>|포함| nsis_installer nsis_installer –>|실행| user_execution user_execution –>|트리거| cmd_scripting cmd_scripting –>|사용| native_api_1 native_api_1 –>|작성| shared_modules shared_modules –>|배치| thunder_exe shared_modules –>|배치| libexpat_dll thunder_exe –>|활성화| dll_hijack dll_hijack –>|지원| proxy_execution proxy_execution –>|활용| trusted_proxy trusted_proxy –>|로드| dll_injection dll_injection –>|비활성화| service_execution service_execution –>|가시성 감소| sandbox_evasion sandbox_evasion –>|계속| native_api_2 native_api_2 –>|주입| explorer_exe explorer_exe –>|할로잉| process_hollowing process_hollowing –>|실행| reflective_loading reflective_loading –>|사용| donut_loader donut_loader –>|설정| registry_persistence registry_persistence –>|저장| modify_registry modify_registry –>|구성| c2_web c2_web –>|백업| c2_raw_tcp c2_raw_tcp –>|보호| encrypted_channel encrypted_channel –>|지원| fallback_channels fallback_channels –>|전달| keylogging keylogging –>|입력 기록| obfuscation obfuscation –>|보호| code_signing code_signing –>|숨김| appcert_dll appcert_dll –>|실행 via| dll_hijack %% 스타일 class initial_phishing,user_execution,cmd_scripting,native_api_1,shared_modules,dll_hijack,proxy_execution,trusted_proxy,dll_injection,service_execution,sandbox_evasion,native_api_2,process_hollowing,reflective_loading,registry_persistence,modify_registry,c2_web,c2_raw_tcp,encrypted_channel,fallback_channels,keylogging,obfuscation,code_signing,appcert_dll technique class file_zip,nsis_installer,thunder_exe,libexpat_dll,box_ini,donut_loader file class explorer_exe process
공격 흐름
탐지
가능한 지속성 지점 [ASEPs – 소프트웨어/NTUSER Hive] (via registry_event)
보기
의심스러운 명령 및 제어 비정상 최상위 레벨 도메인(TLD) DNS 요청 (via dns)
보기
인수 없는 의심스러운 프로세스 (via cmdline)
보기
탐지할 IOC (SourceIP): Silver Fox가 세금 주제의 피싱 유혹을 이용하여 인도를 대상으로 함
보기
탐지할 IOC (HashSha256): Silver Fox가 세금 주제의 피싱 유혹을 이용하여 인도를 대상으로 함
보기
탐지할 IOC (DestinationIP): Silver Fox가 세금 주제의 피싱 유혹을 이용하여 인도를 대상으로 함
보기
DLL 하이재킹 탐지 via Thunder.exe 및 Explorer.exe로의 프로세스 주입 [윈도우 프로세스 생성]
보기
시뮬레이션 실행
전제 조건: 텔레메트리 및 기준선 사전점검이 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 유발하도록 설계된 적대 기술 (TTP)의 정확한 실행을 상세히 설명합니다. 명령어와 내러티브는 식별된 TTP와 직접적으로 반영되어 탐지 논리에 기대되는 정확한 텔레메트리를 생성해야 합니다. 추상적이거나 관련 없는 예제는 오진을 초래할 수 있습니다.
-
공격 내러티브 & 명령어:
적대자가 희생자의%TEMP%디렉토리에 드롭된 “Thunder.exe”와 함께 악성 DLL을 전달합니다. 사용자 의심을 피하기 위해 페이로드는 이미 실행 중인explorer.exe프로세스를 사용하여 WindowsShellExecuteAPI를 통해 실행되며, 이로 인해 프로세스 생성 이벤트 에서explorer.exe부모로 나타납니다. 악성Thunder.exe는 이후 악성 DLL을 로드하고 (DLL 하이재킹), 쉘코드를explorer.exe프로세스에 주입 (프로세스 주입)하여 사용자 토큰을 사용하여 코드 실행을 달성합니다. -
회귀 테스트 스크립트:
# ------------------------------------------------- # Sigma 탐지를 트리거하는 회귀 스크립트 # ------------------------------------------------- # 1. 가짜 Thunder.exe 준비 (notepad.exe의 복사본) $tempDir = "$env:TEMP" $thunderPath = Join-Path -Path $tempDir -ChildPath "Thunder.exe" Copy-Item -Path "$env:SystemRootsystem32notepad.exe" -Destination $thunderPath -Force # 2. (선택사항) 하이재킹을 모방하기 위해 악성 DLL을 그 옆에 드롭 $malDll = Join-Path -Path $tempDir -ChildPath "malicious.dll" # 시연을 위해 단순히 빈 파일을 생성함; 실제 테스트에서는 작성된 DLL이어야 합니다. New-Item -Path $malDll -ItemType File -Force | Out-Null # 3. ShellExecute를 사용하여 explorer.exe를 통해 Thunder.exe 실행 (Start-Process -Verb RunAs로 시뮬레이트) $explorer = (Get-Process -Name explorer).Id # PowerShell을 사용하여 탐색기 부모로 프로세스를 시작 (저수준 API 필요; 여기에서는 근사화) Start-Process -FilePath $thunderPath -ArgumentList "" -PassThru | Out-Null # 4. 로그가 생성되도록 짧은 시간 대기 Start-Sleep -Seconds 5 # 5. 정리 (다음 섹션에서 처리) -
정리 명령어:
# ------------------------------------------------- # 시뮬레이션 후 정리 # ------------------------------------------------- # %TEMP%에서 가짜 Thunder.exe 및 더미 DLL 제거 Remove-Item -Path "$env:TEMPThunder.exe" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPmalicious.dll" -Force -ErrorAction SilentlyContinue # 필요 시 남아있는 Thunder.exe 프로세스 종료 Get-Process -Name "Thunder" -ErrorAction SilentlyContinue | Stop-Process -Force