악성 구매 주문을 통해 전달되는 Remcos RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
구매 주문서로 위장된 피싱 이메일이 이중 확장자를 가진 아카이브를 전달하여 악성 VBS 로더를 추출합니다. 해당 로더는 숨겨진 PowerShell 프로세스를 시작하여 인코딩된 페이로드가 있는 가짜 PNG 파일을 가져옵니다. 그런 다음 페이로드가 디오버프케이트되고 .NET 포터블 실행 파일로 재구성되어 메모리에 직접 로드되며, 결국 Remcos 원격 액세스 트로이목마를 배포합니다. 이 캠페인은 익숙한 이메일 기반 공격 기법 주변에 구축된 파일리스 실행 체인을 강조합니다.
조사
분석은 원래 피싱 이메일부터 최종 Remcos RAT 배포까지 감염 시퀀스를 따랐습니다. 조사자들은 VBS 스크립트 이름, PowerShell 환경 변수를 사용한 것, 가짜 PNG 파일을 다운로드하는 데 사용된 URL과 같은 주요 아티팩트를 식별했습니다. 복원된 .NET 어셈블리가 메모리에 로드되었고, Remcos 관련 레지스트리 항목 및 뮤텍스 아티팩트가 최종 페이로드를 확인하는 데 도움이 되었습니다. 연구자들은 또한 캠페인에 연결된 명령 및 제어 도메인을 포함한 관련 네트워크 지표를 포착했습니다.
대응책
조직은 속이는 이중 확장자를 사용하는 아카이브 파일을 차단하고 첨부 파일 스캔을 강화해야 합니다. PowerShell 실행 정책을 시행하고 wscript.exe 의 사용을 가능한 한 엄격히 제한해야 합니다. 수비수는 또한 HKCUSOFTWARE 에서 의심스러운 레지스트리 키를 감시하고 Remcos 활동과 관련된 TLS JA3 지문을 추적해야 합니다. 이메일 보안 게이트웨이는 구매 및 재무 워크플로우를 대상으로 하는 피싱 유인을 탐지하기 위해 정기적으로 업데이트되어야 합니다.
대응
활동이 탐지되면 즉시 감염된 엔드포인트를 격리하고 의심스러운 PowerShell or wscript.exe 프로세스를 종료하세요. 정리 전에 메모리 덤프와 관련된 레지스트리 아티팩트를 수집하여 포렌식 분석을 수행합니다. Remcos 페이로드와 관련된 지속성 항목을 제거한 후 노출되었을 수 있는 모든 자격 증명을 재설정하세요. 유사한 지표를 보이는 시스템을 식별하기 위해 환경 전반에 걸쳐 더 넓은 위협 사냥도 수행해야 합니다.
"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef file fill:#e6e6e6 classDef process fill:#ffeb99 classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef config fill:#dddddd %% Node definitions action_phishing["<b>Action</b> – <b>T1566.001 Spearphishing Attachment</b><br/>Victim receives email with malicious archive named <i>Sarens PO_SB-0407026-001_PDF.txz</i>"] class action_phishing action technique_masquerade["<b>Technique</b> – <b>T1036.007 Masquerading: Double File Extension</b><br/>Archive uses .txz extension but appears as .pdf to deceive the user"] class technique_masquerade technique action_user_exec["<b>Action</b> – <b>T1204.002 User Execution</b><br/>Victim opens the archive, causing extraction of a VBS script"] class action_user_exec action file_vbs["<b>File</b> – <b>VBS Script</b><br/>Name: Sarens PO_SB-0407026-001_PDF.vbs"] class file_vbs file process_wscript["<b>Process</b> – <b>wscript.exe</b><br/>Executes the VBS script"] class process_wscript process process_powershell["<b>Process</b> – <b>PowerShell</b><br/>Launches with executionu2011policy bypass to download remote payload"] class process_powershell process file_payload_image["<b>File</b> – <b>Fake Image</b><br/>Name: optimized_MSI.png<br/>Contains Base64u2011encoded .NET PE payload"] class file_payload_image file technique_proc_inject_tls["<b>Technique</b> – <b>T1055.005 Process Injection: Thread Local Storage</b><br/>PowerShell injects code via TLS"] class technique_proc_inject_tls technique technique_proc_inject_apc["<b>Technique</b> – <b>T1055.004 Process Injection: Asynchronous Procedure Call</b><br/>PowerShell injects code via APC"] class technique_proc_inject_apc technique technique_proc_inject_pe["<b>Technique</b> – <b>T1055.002 Process Injection: Portable Executable Injection</b><br/>Reconstructed .NET PE loaded into memory with AppDomain.Load"] class technique_proc_inject_pe technique malware_remcos["<b>Malware</b> – <b>Remcos RAT</b><br/>Establishes encrypted TLS channel to C2 domain"] class malware_remcos malware comm_c2_web["<b>Technique</b> – <b>T1102.003 Web Service: Oneu2011Way Communication</b><br/>Encrypted TLS connection to <i>dentalux202.ydns.eu</i>"] class comm_c2_web technique registry_key["<b>Configuration</b> – <b>Registry Key</b><br/>HKCUSOFTWARERmcu2011HQO1B7 created by RAT"] class registry_key config mutex["<b>Configuration</b> – <b>Mutex</b><br/>Remcos mutex identifier Rmcu2011HQO1B7"] class mutex config %% Connections action_phishing –>|delivers| technique_masquerade technique_masquerade –>|leads to| action_user_exec action_user_exec –>|extracts| file_vbs file_vbs –>|executed by| process_wscript process_wscript –>|launches| process_powershell process_powershell –>|downloads| file_payload_image file_payload_image –>|provides| technique_proc_inject_tls file_payload_image –>|provides| technique_proc_inject_apc file_payload_image –>|provides| technique_proc_inject_pe technique_proc_inject_tls –>|enables| malware_remcos technique_proc_inject_apc –>|enables| malware_remcos technique_proc_inject_pe –>|enables| malware_remcos malware_remcos –>|communicates via| comm_c2_web malware_remcos –>|creates| registry_key malware_remcos –>|creates| mutex "
공격 흐름
탐지
LOLBAS WScript / CScript (프로세스 생성 통해)
보기
PowerShell에서 의심스러운 .NET 메서드 호출 (PowerShell 통해)
보기
의심스러운 PowerShell 문자열 (PowerShell 통해)
보기
동적 DNS 서비스가 연락되었을 가능성 있음 (DNS 통해)
보기
IOC (HashSha256)를 감지: 기만적인 구매 주문서부터 Remcos RAT까지
보기
IOC (SourceIP)를 감지: 기만적인 구매 주문서부터 Remcos RAT까지
보기
IOC (DestinationIP)를 감지: 기만적인 구매 주문서부터 Remcos RAT까지
보기
Remcos RAT 명령 및 제어 도메인 및 악성 페이로드 URL 액세스 [Windows 네트워크 연결]
보기
VBS 스크립트 실행 후 PowerShell 실행 정책 우회 탐지 [Windows 프로세스 생성]
보기
시뮬레이션 실행
필수조건: 텔레메트리 및 기준선 사전 점검을 통과해야 합니다.
공격 내러티브 및 명령
공격자는 첨부된 피싱 이메일을 보냅니다. malicious.vbs. 사용자가 파일을 더블클릭 하면 wscript.exe이 호출됩니다. 그런 다음 VBS 스크립트는 -ExecutionPolicy Bypass 를 사용하여 리모트 PowerShell 페이로드를 다운로드 받는 Remcos RAT를 설치합니다. 정확한 커맨드 라인은:
powershell.exe -ExecutionPolicy Bypass -NoLogo -WindowStyle Hidden -EncodedCommand <BASE64_PAYLOAD>
회귀 테스트 스크립트
#--------------------------------------------------------------------
# 시뮬레이션 스크립트: VBS → PowerShell 실행 정책 우회
#--------------------------------------------------------------------
# 1. 작은 PowerShell 페이로드 생성 (예: 마커 파일 작성)
$payload = 'Set-Content -Path "$env:Temppwned.txt" -Value "Compromised"'
$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
# 2. PowerShell 명령을 실행하는 악성 VBS 파일 생성
$vbsContent = @"
Set objShell = CreateObject("WScript.Shell")
objShell.Run "powershell.exe -ExecutionPolicy Bypass -NoLogo -WindowStyle Hidden -EncodedCommand $encoded", 0, False
"@
$vbsPath = "$env:Tempmalicious.vbs"
Set-Content -Path $vbsPath -Value $vbsContent -Encoding ASCII
# 3. VBS 스크립트 실행 (사용자가 더블클릭 시뮬레이션)
Start-Process -FilePath "wscript.exe" -ArgumentList "`"$vbsPath`"" -WindowStyle Hidden
# 선택 사항: 페이로드를 실행하기 위해 몇 초간 대기
Start-Sleep -Seconds 5
Write-Host "시뮬레이션 완료. $env:Temppwned.txt에서 아티팩트를 확인하세요."
#--------------------------------------------------------------------
정리 명령
# 시뮬레이션 중 생성된 아티팩트 제거
Remove-Item -Path "$env:Tempmalicious.vbs" -ErrorAction SilentlyContinue
Remove-Item -Path "$env:Temppwned.txt" -ErrorAction SilentlyContinue
# 스크립트에 의해 시작된 남아있는 PowerShell 프로세스 중지 (필요 시)
Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Stop-Process -Force