BITTERがPapRATを用いてマルウェアの武器庫を拡大
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
南アジアのサイバースパイグループBITTERは、PapRATとWmRATとして知られるカスタムリモートアクセス型トロイの木馬 (RAT) を使用したキャンペーンを展開しています。これらの攻撃は、LNKファイル、VHDXイメージ、MSIインストーラを含む複数の感染チェーンに依存して持続性を確立し、コマンドを実行します。このマルウェアはまた、C++実装からより強力なRustベースのバリアントへと進化しています。
調査
FortiGuard Labsは、南アジア全域の組織をターゲットにした3つの異なる攻撃チェーンを分析しました。この調査では、ftp.exeやcurlといったLOLBinの悪用と、セキュリティ対策を回避するために設計された様々なステージング技術が特定されました。マルウェア分析では、XORエンコードされたC2設定と、C++インプラントから新しいRustベースのマルウェアへの移行も明らかになりました。
緩和策
組織は、意図しないLNKファイル、URLショートカット、ディスクイメージ、MSIパッケージを取り扱う際に注意を払うべきです。セキュリティチームは、不審な実行チェーン、スケジュールされたタスクの作成、および異常なアウトバウンドC2トラフィックを検出するための対策を実装すべきです。フィッシングの罠や悪意のある添付ファイルに焦点を当てたユーザー教育も必要です。
対応
悪意のある活動が検出された場合、妥協されたホストを隔離して、横方向の移動やさらなるコマンド実行を防ぎます。スケジュールされたタスクやMSIインストールログを確認して、無許可の変更を把握します。永続的なアーティファクトなどのフォレンジック分析を実施することも重要です。 err.log or talk.log、そして識別された、もしくは疑わしいC2ドメインへのアウトバウンドネットワークトラフィックを調査します。
攻撃フロー
検出
スケジュールタスクまたはATの使用の可能性 (持続性のために) (via cmdline)
Fsutilユーティリティの不審な実行 [影響] (via cmdline)
アンチウイルスまたはファイアウォールソフトウェアの列挙の可能性 (via process_creation)
スケジュールタスクが疑わしいディレクトリ/バイナリ/スクリプトを指している (via cmdline)
キャレット挿入を使用したコマンドライン難読化の可能性 (via cmdline)
一般的でない拡張子を用いたFTPスクリプトの実行の可能性 (via cmdline)
シェルプロセスによって生成されたMsiExec (via cmdline)
LOLBAS Conhost (via cmdline)
不審なCURL使用 (via cmdline)
バーチャルハードディスクファイルが作成されました (via file_event)
IOC(HashSha256)によって検出:BITTERがPapRATでその武器を拡張
IOC(SourceIP)によって検出:BITTERがPapRATでその武器を拡張
IOC(DestinationIP)によって検出:BITTERがPapRATでその武器を拡張
持続的な連絡のためのスケジュール済みタスク作成の検出 [Windows System]
PapRAT RustバリアントPowerShellコマンド実行検出 [Windows Powershell]
Windowsユーティリティおよびスクリプトを悪用した悪意のあるLNK実行 [Windows Process Creation]
シミュレーション実行
-
攻撃のシナリオとコマンド: 攻撃者は被害者のマシンに持続性を確立して、悪意のあるペイロードが30分ごとに実行されるようにし、コマンド & コントロール (C2) のインフラストラクチャに継続的な接続を維持することを目的としています。正当なシステム活動に紛れ込み、単純な署名ベースの検出を回避するために、攻撃者はネイティブのWindows
schtasks.exeユーティリティを使用します。彼らは欺瞞的なタスク名、MicrosoftUpdatesupdates11678を選択し、正当なWindows更新サービスを模倣してタスクスケジューラーライブラリ内で隠れるようにしています。 -
回帰テストスクリプト:
# 特定の検出ルールをトリガーするためのシミュレーションスクリプト # このスクリプトはBITTERグループの持続性のメカニズムを模倣します。 $TaskName = "MicrosoftUpdatesupdates11678" $Command = "cmd.exe /c echo 'C2ビーコンシミュレーション'" Write-Host "[+] スケジュール済みタスクの作成を試みています:$TaskName" -ForegroundColor Cyan # 検出ロジックと正確に一致するコマンドを実行します # ロジックは次のものを探します: schtasks.exe + /create + /sc minute + /mo 30 + タスク名 schtasks /create /sc minute /mo 30 /tn "$TaskName" /tr "$Command" /f if ($LASTEXITCODE -eq 0) { Write-Host "[!] 成功:スケジュール済みタスクが作成されました。SIEMでアラートを確認してください。" -ForegroundColor Green } else { Write-Host "[-] 失敗:タスクを作成できませんでした。管理者として実行していることを確認してください。" -ForegroundColor Red } -
クリーンアップコマンド:
# 擬似的な持続性を削除するためのクリーンアップスクリプト $TaskName = "MicrosoftUpdatesupdates11678" Write-Host "[+] スケジュール済みタスクを削除しています:$TaskName" -ForegroundColor Cyan schtasks /delete /tn "$TaskName" /f if ($LASTEXITCODE -eq 0) { Write-Host "[!] クリーンアップ成功。" -ForegroundColor Green } else { Write-Host "[-] クリーンアップ失敗。手動での削除が必要です。" -ForegroundColor Red }