SmartApeSGキャンペーンがRemcos RAT、NetSupport RAT、StealC、およびSectop RAT(ArechClient2)をプッシュ
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
SmartApeSGキャンペーンは、Remcos RAT、NetSupport RAT、StealC、およびSectop RATを含むいくつかのリモートアクセスの脅威を配布するために、偽のCAPTCHAページとClickFixスクリプトを組み合わせて使用しています。初期の侵害は、各ペイロードがそれぞれのコマンド・アンド・コントロールサーバーにアクセスするステージ式の感染チェーンを引き起こします。配信は、DLLサイドローディングを悪用してマルウェアを起動するアーカイブファイルを介して行われます。このレポートには、ドメイン、IPアドレス、ファイルパス、ファイルのハッシュなどの支援となるインジケーターも含まれています。
調査
アナリストは、17:11 UTCにClickFixスクリプトのトラフィックを最初に記録し、Remcos RATの通信がその1分後の17:12 UTCに開始されました。NetSupport RATのトラフィックはその4分後に現れ、StealCはおおよそ1時間後に観察され、Sectop RATはStealCの約1時間18分後に現れました。調査者はユーザーディレクトリとシステムディレクトリの両方からファイルアーティファクトを回収し、それらをチェーン内で使用された特定の悪性アーカイブに紐付けました。
緩和策
ディフェンダーは、既知の悪性ドメインとIPアドレスをブロックし、HTAファイルの実行やユーザープロファイルパス内での疑わしいアーカイブの抽出を監視する必要があります。ブラウザと電子メールの保護を強化して、クリックジャッキングや偽CAPTCHA配信へのさらなる露出を減らすべきです。エンドポイント検出ルールもDLLサイドローディングの挙動と予期しないRATプロセスを識別するように調整する必要があります。
対応
リストされたインジケーターが見つかった場合、被害を受けたホストを隔離し、悪性プロセスを停止し、フォレンジック分析のためにメモリとディスクイメージを収集します。環境全体で広範囲のIOCスイープを実行し、識別されたC2エンドポイントをブロックするためにファイアウォール制御を更新し、潜在的に侵害された資格情報をリセットします。
"graph TB %% クラス定義 classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#cccccc %% ノード victim_visits["<b>アクション</b> – 偽のCAPTCHAが悪性スクリプトを注入する改ざんされたウェブサイトを犠牲者が訪問"] class victim_visits action tech_user_exec_link["<b>テクニック</b> – T1204.001 ユーザー実行: 悪性リンク<br/><b>説明</b>: 被害者がコード実行に至る悪性リンクに関与"] class tech_user_exec_link technique tech_user_exec_copy["<b>テクニック</b> – T1204.004 ユーザー実行: 悪性コピー&ペースト<br/><b>説明</b>: 悪性コードがクリップボードにコピーされて貼り付けられて実行される"] class tech_user_exec_copy technique clickfix_script["<b>ツール</b> – 名前: ClickFixスクリプト(悪性)"] class clickfix_script malware hta_creation["<b>アクション</b> – %AppData%post.htaに書かれる悪性HTAファイル"] class hta_creation action tech_mshta["<b>テクニック</b> – T1218.005 システムバイナリプロキシ実行: Mshta<br/><b>説明</b>: MshtaはHTAファイルを実行するために使用される"] class tech_mshta technique tech_user_exec_file["<b>テクニック</b> – T1204.002 ユーザー実行: 悪性ファイル<br/><b>説明</b>: 被害者は悪性ファイルを実行する"] class tech_user_exec_file technique hta_execution["<b>プロセス</b> – mshta.exeはpost.htaを実行する"] class hta_execution process download_payload["<b>アクション</b> – HTAはリモートサーバーから圧縮されたペイロード(ZIPまたはRAR)をダウンロードする"] class download_payload action tech_web_protocol["<b>テクニック</b> – T1071.001 アプリケーション層プロトコル: ウェブプロトコル<br/><b>説明</b>: データ転送にHTTP/HTTPSを使用する"] class tech_web_protocol technique malware_remcos["<b>マルウェア</b> – Remcos RAT"] class malware_remcos malware malware_netsupport["<b>マルウェア</b> – NetSupport RAT"] class malware_netsupport malware malware_stealc["<b>マルウェア</b> – StealC"] class malware_stealc malware malware_sectop["<b>マルウェア</b> – Sectop RAT"] class malware_sectop malware tech_dll_sideloading["<b>テクニック</b> – T1574.001 実行流れのハイジャック: DLLサイドローディング<br/><b>説明</b>: 正規の実行ファイルに悪意のあるDLLがロードされる"] class tech_dll_sideloading technique c2_bidirectional["<b>テクニック</b> – T1102.002 ウェブサービス: 双方向通信<br/><b>説明</b>: RATは2方向のウェブサービスを使用してC2と通信する"] class c2_bidirectional technique c2_oneway["<b>テクニック</b> – T1102.003 ウェブサービス: 一方向通信<br/><b>説明</b>: RATはC2にデータを一方向のウェブサービス経由で送信する"] class c2_oneway technique cleanup_files["<b>アクション</b> – 実行後にHTAと一時ファイルを削除"] class cleanup_files action tech_file_deletion["<b>テクニック</b> – T1070.004 インジケーターの削除: ファイル削除<br/><b>説明</b>: 証拠を消去するためにファイルが削除される"] class tech_file_deletion technique cleanup_persistence["<b>アクション</b> – レジストリやスケジュールタスクなどの永続性アーティファクトをクリア"] class cleanup_persistence action tech_clear_persistence["<b>テクニック</b> – T1070.009 インジケーターの削除: 永続性のクリア<br/><b>説明</b>: 永続性メカニズムが除去される"] class tech_clear_persistence technique %% 接続 victim_visits –>|triggers| tech_user_exec_link victim_visits –>|triggers| tech_user_exec_copy tech_user_exec_link –>|delivers| clickfix_script tech_user_exec_copy –>|delivers| clickfix_script clickfix_script –>|writes| hta_creation hta_creation –>|uses| tech_mshta hta_creation –>|uses| tech_user_exec_file tech_mshta –>|executes| hta_execution tech_user_exec_file –>|executes| hta_execution hta_execution –>|downloads| download_payload download_payload –>|uses| tech_web_protocol download_payload –>|delivers| malware_remcos download_payload –>|delivers| malware_netsupport download_payload –>|delivers| malware_stealc download_payload –>|delivers| malware_sectop malware_remcos –>|employs| tech_dll_sideloading malware_netsupport –>|employs| tech_dll_sideloading malware_stealc –>|employs| tech_dll_sideloading malware_sectop –>|employs| tech_dll_sideloading malware_remcos –>|communicates via| c2_bidirectional malware_netsupport –>|communicates via| c2_oneway malware_stealc –>|communicates via| c2_oneway malware_sectop –>|communicates via| c2_bidirectional hta_execution –>|triggers| cleanup_files cleanup_files –>|uses| tech_file_deletion cleanup_files –>|also triggers| cleanup_persistence cleanup_persistence –>|uses| tech_clear_persistence "
攻撃フロー
検出
パブリックユーザープロファイル内の不審なファイル(file_event経由)
表示
イメージパス内の明示的なCOMSPEC使用(system経由)
表示
サービスファイルパス内の明示的なCOMSPEC使用(audit経由)
表示
不審な明示的なCOMSPEC使用(process_creation経由)
表示
奇妙なトップレベルドメイン(TLD)DNSリクエストによる不審なコマンド&コントロール(dns経由)
表示
コマンドライン引数内の環境変数(cmdline経由)
表示
スマートApeSGキャンペーンによるRemcos RAT、NetSupport RAT、StealC、およびSectop RAT(ArechClient2)のプッシュを検出するためのIOC(DestinationIP)
表示
スマートApeSGキャンペーンによるRemcos RAT、NetSupport RAT、StealC、およびSectop RAT(ArechClient2)のプッシュを検出するためのIOC(HashSha256)
表示
スマートApeSGキャンペーンによるRemcos RAT、NetSupport RAT、StealC、およびSectop RAT(ArechClient2)のプッシュを検出するためのIOC(SourceIP)
表示
SmartApeSGキャンペーンC2サーバートラフィックの検出 [Windowsネットワーク接続]
表示
シミュレーション実行
前提条件: テレメトリとベースラインのプレフライトチェックに合格している必要があります。
根拠: このセクションは、検出ルールを誘発するよう設計された敵対的技術(TTP)の正確な実行を詳述します。コマンドとナラティブは、識別されたTTPを直接反映し、検出ロジックに期待される正確なテレメトリを生成することを目指します。
攻撃ナラティブ&コマンド
敵対者は、被害者のワークステーション上で足場を得た後、SmartApeSGキャンペーンのRemcos RATコンポーネントを起動します。このRATはそのプライマリC2エンドポイントとして 95.142.45.231:443 を使用するように構成されています。最初に埋め込まれたドメイン fresicrto.top (フォールバック)を解決し、その後、IPアドレスへの持続的なHTTPSトンネルを開きます。このトラフィックは remcos.exe によって、Sysmon NetworkConnectイベントやWindowsファイアウォールログエントリを生成するWindows WinHTTP API経由で生成されます。
ステップ:
- RATバイナリをドロップ (
remcos.exe) を%TEMP%. - でバイナリを実行 C2引数として
-c 95.142.45.231:443. - アウトバウンド接続を検証 (via
netstat).
これらのアクションは T1102(ウェブサービス) C2通信と T1584.001(ドメイン取得) として、ドメインがペイロードの一部であることを示しています。
回帰テストスクリプト
# --------------------------------------------------------------
# SmartApeSG C2 シミュレーション – 検出ルールを誘発
# --------------------------------------------------------------
# 1. 最小限のRemcosに似たスタブを作成(デモ用にPowerShellでTCPをオープン)
$c2Ip = "95.142.45.231"
$c2Port = 443
$payloadFile = "$env:TEMPremcos_stub.exe"
# TCP接続を開くシンプルな.NET実行可能ファイルを作成(RATをシミュレート)
Add-Type -TypeDefinition @"
using System;
using System.Net.Sockets;
public class Stub {
public static void Main(string[] args) {
try {
var client = new TcpClient();
client.Connect("$c2Ip", $c2Port);
System.Threading.Thread.Sleep(5000); // 接続を維持
client.Close();
} catch (Exception ex) {
Console.Error.WriteLine(ex.Message);
}
}
}
"@ -OutputAssembly $payloadFile -CompilerOptions "/target:exe"
# 2. スタブを実行(これによりネットワーク接続が生成されます)
Start-Process -FilePath $payloadFile -WindowStyle Hidden
# 3. オプション: フォールバックドメインを解決してDNS活動を証明
Resolve-DnsName -Name "fresicrto.top" -Type A | Out-Null
# 4. 観察のために一時停止
Start-Sleep -Seconds 10
# 5. クリーンナップ – まだ実行中のスタブを終了
Get-Process -Name "remcos_stub" -ErrorAction SilentlyContinue | Stop-Process -Force
Remove-Item -Path $payloadFile -Force
クリーンアップコマンド
# スタブからの残存接続を終了
Get-NetTCPConnection -RemotePort 443 -RemoteAddress 95.142.45.231 -State Established |
ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }
# 一時ファイルを削除(スクリプト内で既に行われていますが、クリーンな状態を維持)
Remove-Item -Path "$env:TEMPremcos_stub.exe" -ErrorAction SilentlyContinue