RebexをベースにしたTelegram RATがベトナムを標的に
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
ZIPアーカイブ内に配信された悪意のあるCHMファイルは、不正なPythonランタイムと埋め込まれたペイロードを暗号化解除するC++ DLLを落とします。そのペイロードはWinlogonのシェルハイジャック、スケジュールされたタスク、および MSBuildの悪用を通じて持続性を確立し、.NETベースのTelegram RATを起動します。このマルウェアはハードコーディングされたトークンを使用してTelegramボットと通信し、コマンド実行、トークン置き換え、ファイルダウンロードを支援します。このキャンペーンは現在ベトナムの被害者を標的としており、VirusTotalでの検出は確認されていません。
調査
CHMファイルの解析により、アーカイブをデコンパイルし、 PYTHONHOMEをクリアし、コンパイル済みバイトコードファイルでリネームされたPython実行ファイルを起動するスクリプトが明らかになりました。バイトコードはDLLを読み込み、暗号化されたDOCXブロブを解読し、追加コンポーネントを抽出、それらを一時的な場所に書き込みました。DLLはレジストリエントリを作成し、タスク名 Doubtをスケジュールし、 MSBuild XMLファイルを実行して2番目のDLLを読み込み、最終的に.NET Telegram RATを展開しました。RATはコマンド&コントロールのためにハードコーディングされたTelegramボットの認証情報に依存しています。
緩和策
ディフェンダーは信頼できないソースからのCHMファイルの実行をブロックし、 hh.exe, msbuild.exe、および署名されていないまたは疑わしいスクリプトに対するPowerShellの使用を制限する必要があります。監視はWinlogon Shell のレジストリ変更、異常なスケジュールされたタスクの作成、および一時ディレクトリに新たにドロップされたDLLに焦点を当てるべきです。組織はまた、プロキシコントロールを通じてTelegram APIトラフィックを検査し、エンドユーザーには最小権限アクセスを強制する必要があります。
対応
セキュリティチームは感染したホストを特定して隔離し、揮発性の証拠を収集し、分析のために悪意のあるDLLとスクリプトを抽出する必要があります。Winlogon Shell の値とスケジュールされたタスクは削除され、ドロップしたファイルは削除され、変更されたレジストリ設定は既知の良好な状態に戻す必要があります。露出されたTelegramボットトークンは即座に変更されるべきであり、さらなるコマンド&コントロール活動の監視を続けるべきです。データが流出したかどうかを確認するために、完全なフォレンジック調査が推奨されます。
攻撃の流れ
検出
可能性のある持続ポイント [ASEPs – Software/NTUSER Hive](レジストリエベントを通じて)
表示
シャットダウンはシステム停止または再起動を強制するために使用されます(cmdline経由)
表示
LOLBAS HH – HTML ヘルプ実行ファイルプログラムによる疑わしい引数(cmdline経由)
表示
自動起動位置における疑わしいバイナリ/スクリプト(ファイルイベント経由)
表示
マイクロソフトコンパイルHTMLヘルプ(.chm)拡張子を持つファイルによる可能性のある実行(ファイルイベント経由)
表示
コマンドとコントロールチャネルとしてのTelegramの悪用の可能性(dns_query経由)
表示
検出用 IOCs (HashSha256):RebexベースのTelegram RATがベトナムを標的
表示
CHMファイルの実行が悪意のある活動につながる [Windowsプロセス作成]
表示
シミュレーション実行
前提条件:テレメトリとベースラインのプレフライトチェックに合格している必要があります。
根拠:このセクションは、検出ルールをトリガーするために設計された敵手法(TTP)の正確な実行の詳細を示します。コマンドと記述は、特定されたTTPに直接対応し、検出ロジックによって期待される正確なテレメトリを生成することを目指します。
-
攻撃ナラティブとコマンド
-
配信: 攻撃者は悪意のある
.chmファイル(名前UpdateHelp.chmとされた)を被害者に届けます。 -
デコンパイル: 被害者(または悪意のあるスクリプト)が、
hh.exeを使用して-decompileフラグで埋め込みペイロードを抽出:hh.exe -decompile C:TempPayloads C:UsersPublicUpdateHelp.chmこれにより、ルールが監視する プロセス作成イベントが生成されます( ペイロード実行 – リネームされたインタープリター:
hh.exe+-decompile). -
Payload Execution – Renamed Interpreter: 抽出されたファイルの中には、リネームされたPythonインタープリター(
_pJifgWSwPi.exe)があります。攻撃者は、cmd.exeを使用して低プロファイルを維持しながらこれを起動します:cmd.exe /c "C:TempPayloads_pJifgWSwPi.exe -c "import os; os.system('whoami')""これがルールの
cmd.exe条件を満たします。 -
サイン付きバイナリプロキシ – Msbuild: Pythonペイロードは悪意のある
.projファイルを書き、その後msbuild.exeを呼び出して実行し、持続性またはさらなるコードの実行を達成:msbuild.exe C:TempPayloadsmalicious.proj /target:Build
-
-
リグレッションテストスクリプト
#============================================================= # CHMに基づく攻撃シミュレーション – Sigmaルールをトリガー #============================================================= # 変数 $chmPath = "C:UsersPublicUpdateHelp.chm" $outFolder = "C:TempPayloads" $renamedPy = "_pJifgWSwPi.exe" $projFile = "malicious.proj" # 1. 出力フォルダの存在を確認 New-Item -ItemType Directory -Force -Path $outFolder | Out-Null # 2. CHMファイルのデコンパイルをシミュレート Write-Host "[*] Decompiling CHM..." hh.exe -decompile $outFolder $chmPath # 3. python.exe(または任意の無害なexe)のコピーをリネームされたインタープリターとして配置 Copy-Item -Path "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" ` -Destination "$outFolder$renamedPy" -Force # 4. cmd.exeを介してリネームされたインタープリターを実行 Write-Host "[*] Launching renamed interpreter via cmd.exe..." cmd.exe /c "`"$outFolder$renamedPy`" -c `"Write-Host 'Simulated payload executed'`"" # 5. メッセージをエコーする簡単なmsbuildプロジェクトを作成 $projContent = @" <Project ToolsVersion='4.0' xmlns='http://schemas.microsoft.com/developer/msbuild/2003'> <Target Name='Build'> <Message Text='Msbuild executed malicious project' Importance='High'/> </Target> </Project> "@ Set-Content -Path "$outFolder$projFile" -Value $projContent -Encoding ASCII # 6. 悪意のあるプロジェクトでmsbuild.exeを実行 Write-Host "[*] Executing msbuild.exe..." msbuild.exe "$outFolder$projFile" /target:Build Write-Host "[+] Simulation complete." -
クリーンアップコマンド
# 残っている可能性のあるプロセスを停止(まだ実行中の場合) Get-Process -Name "_pJifgWSwPi","hh","msbuild","cmd" -ErrorAction SilentlyContinue | Stop-Process -Force # 生成されたファイルとフォルダを削除 Remove-Item -Recurse -Force -Path "C:TempPayloads" # テストのために作成された場合はオプションでCHMファイルを削除 Remove-Item -Force -Path "C:UsersPublicUpdateHelp.chm" -ErrorAction SilentlyContinue Write-Host "[+] クリーンアップ完了。"