シルバーフォックスが税金をテーマにしたフィッシング攻撃でインドを標的に
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Silver Foxと呼ばれる中国のAPTグループが、インドの組織を標的にした税金をテーマにしたフィッシングキャンペーンを実施しています。最初のメールには、被害者を悪意のあるドメインに誘導し、ZIPファイルのダウンロードを発動させるPDFが含まれています。このZIPには、Thunder.exeをドロップするNSISインストーラと、DLLハイジャッキング、分析対策チェックを行い、暗号化されたシェルコードをロードする悪意のあるlibexpat.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/>ユーザーがダウンロードされたNSISインストーラーを含むZIPを実行する”] 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/>libexpat.dll を Thunder.exe の隣に配置し、先に読み込ませる”] 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 Update サービスを無効化する”] 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/>レジストリ Run キー / スタートアップフォルダ<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/>Webプロトコル<br/>HTTP/HTTPS を使用した主要な C2 通信”] class c2_web technique c2_raw_tcp[“<b>コマンド&コントロール – T1095</b><br/>非アプリケーション層プロトコル<br/>HTTP が失敗した場合のフォールバックとして生 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 DLL<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 –>|実行される(経由)| 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ハイブ](レジストリエベント経由)
表示
異常なトップレベルドメイン(TLD)DNSリクエストによる疑わしいコマンド&コントロール(dns経由)
表示
引数なしの疑わしいプロセス(cmdline経由)
表示
検出するべきIOC(SourceIP):Silver Foxがインドをターゲットにした税に関連したフィッシングルアー
表示
検出するべきIOC(ハッシュSHA256):Silver Foxがインドをターゲットにした税に関連したフィッシングルアー
表示
検出するべきIOC(DestinationIP):Silver Foxがインドをターゲットにした税に関連したフィッシングルアー
表示
Thunder.exeによるDLLハイジャッキングとExplorer.exeへのプロセス注入の検出 [Windowsプロセス作成]
表示
シミュレーション実行
前提条件:テレメトリ&ベースラインプレフライトチェックが合格していること。
理由:このセクションでは、検出ルールをトリガーするために設計された攻撃者技術(TTP)の正確な実行を詳述しています。コマンドとナラティブは、特定されたTTPと直接的に一致し、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。抽象的または無関係な例は誤診を引き起こします。
-
攻撃ナラティブ&コマンド:
攻撃者は、被害者の%TEMP%ディレクトリにドロップされた「Thunder.exe」と共に悪意のあるDLLを配布します。ユーザーの疑念を回避するために、ペイロードは既に実行中のexplorer.exeプロセスを使用してWindowsShellExecuteAPI経由で起動され、 プロセス作成イベント が発生し、explorer.exeが親として表示されます。悪意のあるThunder.exeは、その後悪意のあるDLLをロード(DLLハイジャッキング)し、シェルコードをexplorer.exeプロセスに注入(プロセス注入)し、ユーザーのトークンでコード実行を達成します。 -
回帰テストスクリプト:
# ------------------------------------------------- # シグマ検出をトリガーする回帰スクリプト # ------------------------------------------------- # 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を使用してexplorerを親としてプロセスを開始する(低レベル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