偽の注文書を通じて配信された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[“Action – T1566.001 Spearphishing Attachment
Victim receives email with malicious archive named Sarens PO_SB-0407026-001_PDF.txz“]
class action_phishing action
technique_masquerade[“Technique – T1036.007 Masquerading: Double File Extension
Archive uses .txz extension but appears as .pdf to deceive the user”]
class technique_masquerade technique
action_user_exec[“Action – T1204.002 User Execution
Victim opens the archive, causing extraction of a VBS script”]
class action_user_exec action
file_vbs[“File – VBS Script
Name: Sarens PO_SB-0407026-001_PDF.vbs”]
class file_vbs file
process_wscript[“Process – wscript.exe
Executes the VBS script”]
class process_wscript process
process_powershell[“Process – PowerShell
Launches with execution‑policy bypass to download remote payload”]
class process_powershell process
file_payload_image[“File – Fake Image
Name: optimized_MSI.png
Contains Base64‑encoded .NET PE payload”]
class file_payload_image file
technique_proc_inject_tls[“Technique – T1055.005 Process Injection: Thread Local Storage
PowerShell injects code via TLS”]
class technique_proc_inject_tls technique
technique_proc_inject_apc[“Technique – T1055.004 Process Injection: Asynchronous Procedure Call
PowerShell injects code via APC”]
class technique_proc_inject_apc technique
technique_proc_inject_pe[“Technique – T1055.002 Process Injection: Portable Executable Injection
Reconstructed .NET PE loaded into memory with AppDomain.Load”]
class technique_proc_inject_pe technique
malware_remcos[“Malware – Remcos RAT
Establishes encrypted TLS channel to C2 domain”]
class malware_remcos malware
comm_c2_web[“Technique – T1102.003 Web Service: One‑Way Communication
Encrypted TLS connection to dentalux202.ydns.eu“]
class comm_c2_web technique
registry_key[“Configuration – Registry Key
HKCUSOFTWARERmcu2011HQO1B7 created by RAT”]
class registry_key config
mutex[“Configuration – Mutex
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 (via process_creation)
表示
Powershellから.NETの不審なメソッドを呼び出す (via powershell)
表示
不審なPowershell文字列 (via powershell)
表示
動的DNSサービスが接続された可能性 (via dns)
表示
IOCs (HashSha256) 検出: ある不正注文書からRemcos RATへの流れ
表示
IOCs (SourceIP) 検出: ある不正注文書からRemcos RATへの流れ
表示
IOCs (DestinationIP) 検出: ある不正注文書からRemcos RATへの流れ
表示
Remcos RAT のコマンド&コントロールドメインと悪意あるペイロードURLアクセス [Windows ネットワーク接続]
表示
VBSスクリプトの実行後にExecutionPolicy Bypass付きのPowerShellを検出 [Windows プロセス作成]
表示
シミュレーション実行
前提条件: テレメトリーとベースラインの事前チェックを通過する必要があります。
攻撃の概要とコマンド
攻撃者は、添付 悪意ある.vbsを含むフィッシングメールを送信します。ユーザーがファイルをダブルクリックすると、 wscript.exeが呼び出されます。VBSスクリプトは次に、 ExecutionPolicy Bypass を使用してリモートPowerShellペイロードをダウンロードし、Remcos RATをインストールします。具体的なコマンドラインは次の通りです:
powershell.exe -ExecutionPolicy Bypass -NoLogo -WindowStyle Hidden -EncodedCommand
回帰テストスクリプト
#--------------------------------------------------------------------
# シミュレーションスクリプト: VBS → PowerShell ExecutionPolicy Bypass
#--------------------------------------------------------------------
# 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