バングラデシュ軍関係者に対するDoNot(APT-C-35)侵入を追跡する
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
APT-C-35としても知られるDoNotグループに帰属する標的サイバー諜報活動が、バングラデシュの軍事・防衛関係者を狙っています。このキャンペーンは、リモートテンプレート注入を使用した武器化されたRTF文書を使用し、シェルコードとDLLインプラントを配布する多段感染チェーンを引き起こします。マルウェアはAES-128-CBC暗号化に依存し、正当なOneDriveテレメトリとして指令・制御活動と持続性を偽装しています。
調査
Howler Cellチームは、軍事伝記として提示されたスピアフィッシングRTF誘導を分析する中でこのキャンペーンを発見しました。調査中に、研究者はアクティブな指令・制御インフラストラクチャからライブの第二段階DLL ejtest.dllを回収し、この作戦がまだ進行中であることを確認しました。ハードコードされたAESキーの暗号解析により、活動が以前文書化されたDoNotの作戦と関連している強力な証拠が提供されました。
緩和策
防御者は、Microsoft Officeアプリケーションでリモートテンプレートの取得と予期しないアウトバウンドネットワーク通信を監視する必要があります。マクロの実行を厳格に制御し、Officeアプリケーションによって起動される不審な子プロセスに注意を払うことも重要です。さらに、OneDriveに関連する活動を含む、正当なシステムテレメトリの模倣であるスケジュールされたタスクに警戒を促すべきです。
対応
この活動が検出された場合、影響を受けたホストは、さらなるマルチステージペイロードの配信を停止するためにすぐに隔離されるべきです。調査員は、 %TEMP% ディレクトリに保存されているファイルを調べ、OneDriveの動作を模倣するスケジュールされたタスクを確認すべきです。また、既知の指令・制御パラメータを含むHTTPS POSTトラフィックの広範な探索も行うべきです。 mopd= and malp=.
攻撃フロー
検出
可能なリモートシステムの発見または接続チェック (cmdline経由)
表示
Rundll32 DLLの疑わしいパス実行 (process_creation経由)
表示
疑わしいスケジュールタスク (監査経由)
表示
検出すべきIOCs (HashSha256): 伝記からバックドアへ: DoNot (APT-C-35)によるバングラデシュ軍事関係者を標的とした侵入追跡
表示
検出すべきIOCs (SourceIP): 伝記からバックドアへ: DoNot (APT-C-35)によるバングラデシュ軍事関係者を標的とした侵入追跡
表示
検出すべきIOCs (DestinationIP): 伝記からバックドアへ: DoNot (APT-C-35)によるバングラデシュ軍事関係者を標的とした侵入追跡
表示
DoNotグループのC2サーバーとの通信検出 [Windowsネットワーク接続]
表示
APIコール経由でのシェルコード注入の検出 [Windows Sysmon]
表示
Microsoft Officeアプリケーションのリモートテンプレート注入 [Windowsプロセス作成]
表示
シミュレーション実行
前提条件: テレメトリとベースラインのプレフライトチェックが合格している必要があります。
根拠: このセクションは、検出ルールを引き起こすために設計された敵対者技術(TTP)の正確な実行を詳細に説明しています。コマンドとナラティブは、特定されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目指します。抽象的または無関係な例は誤診に繋がります。
-
攻撃の概要とコマンド: 攻撃者は、
.docxファイルを含むスピアフィッシングメールを送ります。この文書は、攻撃者が管理するSMB共有上にホストされたリモートテンプレートを指す悪意のある関係を含んでいます(例:attacker-ipsharemalicious.dotm)。ユーザーがファイルを開くと、Wordはテンプレートを取得しようとし、UNCパスのコマンドラインを作成します。実行を得るために、テンプレートにはcmd.exeをWINWORD.EXEの子プロセスとしてトリガーするマクロが含まれており、さらにペイロードをダウンロードしようとします。 -
回帰テストスクリプト:
# Officeリモートテンプレート注入と子プロセス生成用シミュレーションスクリプト # 1. UNCパス検出をシミュレート(選択1/2) # 注意: ここではWordがリモートテンプレートを処理した際に見られるであろうコマンドラインをシミュレートしています。 Write-Host "[*] UNCパス経由でリモートテンプレートにアクセスするWordをシミュレート中..." Start-Process "winword.exe" -ArgumentList "192.168.1.100publictemplate.dotm" Start-Sleep -Seconds 2 # 2. 悪意のある子プロセスをシミュレート(選択3/4) # これはWord内でcmd.exeを実行するマクロを模倣しています。 Write-Host "[*] WINWORD.EXEによって生成された悪意のある子プロセス (cmd.exe) をシミュレート中..." $wordProcess = Start-Process "winword.exe" -PassThru Start-Sleep -Seconds 2 # 親子関係がSysmonにより記録されるようにStart-Processを使用 Start-Process "cmd.exe" -ArgumentList "/c echo 'Exploit Success'" -WorkingDirectory $wordProcess.Path Write-Host "[+] シミュレーション完了。SysmonログでイベントID 1を確認してください。" -
クリーンアップコマンド:
# 残存するOfficeプロセスを終了 Stop-Process -Name "winword" -ErrorAction SilentlyContinue Stop-Process -Name "excel" -ErrorAction SilentlyContinue Write-Host "[+] クリーンアップ完了。"