防御回避と持続性のための迂回的マルウェア技術
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
新たに特定されたバックドアMoiClientは、DLLサイドローディング、BYOVD(Bring Your Own Vulnerable Driver)、RPCベースのUACバイパスなど、複数の回避技術を使用してWindowsシステムを侵害します。マルウェアは請求書を装い、ブラウザデータを収集するMoiXD Stealerを展開します。タスクスケジューラを介した持続化を確立し、インストールされているセキュリティソフトウェアの無効化を試みます。
調査
AhnLabは、BYOVDの悪用中に使用された moimoi という文字列を分析することでMoiClientバックドアを特定しました。この調査では、正規のPDFビューアをDLLサイドローディングに悪用した .Vhdx ファイルから始まるマルチステージの実行チェーンを追跡しました。研究者は、特権昇格を実現するためにAppInfoローカルRPCインターフェイスをどのように悪用するかも文書化しました。
緩和策
組織は厳格なドライバー署名ポリシーを施行し、既知の脆弱なドライバーのインストールに対するシステムの監視を行うべきです。また、 %Public% and %LocalAppData% ディレクトリからの実行を制限することは、利用可能な攻撃面をさらに削減するのに役立ちます。セキュリティチームは、AppInfoサービスを含む不審なRPC活動を監視し、潜在的なUACバイパスの試行を特定するべきです。
対応策
MoiClient活動が検知された場合、対応者は直ちに不審な explorer.exe プロセスを終了し、 %Public% and %LocalAppData%から悪意のあるファイルを削除するべきです。さらに、 MicrosoftWindowsUpdateTask パターンに一致する不正なタスクスケジューラのエントリは削除すべきです。完全なフォレンジック調査を行い、MoiXD Stealerのような二次的なペイロードがメモリやディスクに存在しないことを確認するべきです。
攻撃フロー
この部分はまだ更新中です。
検出
持続性のための手動サービスまたはドライバーインストールの可能性(cmdline経由)
パブリックユーザープロファイルからの不審な実行(process_creation経由)
悪意のある可能性のあるファイルの二重拡張子(process_creation経由)
パブリックユーザープロファイルにおける不審なファイル(file_event経由)
不審なスケジュールタスク(audit経由)
MoiClientによるdefendnotプログラムの実行、Windows Defender無効化の試み[Windows Powershell]
MoiClientバックドア活動の検出[Windowsプロセス作成]
シミュレーション実行
前提条件: テレメトリとベースラインの事前チェックが合格していること。
根拠: このセクションでは、検出ルールを発動するよう設計された敵の技術(TTP)を正確に実行する方法を詳細に説明します。コマンドとストーリーは、特定されたTTPを直接反映し、検出ロジックが期待する正確なテレメトリを生成することを目的としています。抽象的または無関係な例は誤診につながります。
-
攻撃のストーリーとコマンド: 攻撃者は初期アクセスを取得し、MoiClientバックドアを展開しようとしています。検出を回避するため、攻撃者はプロセスホローイングを準備するための一時停止された
explorer.exeインスタンスを生成します。同時に、正規のWindowsバイナリComputerDefaults.exeを活用してPowerShellインスタンスを生成し、悪意のあるペイロードの実行を通常のシステム構成タスクとして偽装しようとします。 -
回帰テストスクリプト:
# MoiClient検出検証のためのシミュレーションスクリプト # 注意: このスクリプトは特定の動作をシミュレートするために管理者権限を必要とします。 Write-Host "[+] MoiClientシミュレーションを開始..." -ForegroundColor Cyan # 1. 一時停止されたExplorer.exeをシミュレート (T1055/T1055.003) Write-Host "[+] 一時停止されたexplorer.exeをシミュレート中..." -ForegroundColor Yellow Start-Process "C:Windowsexplorer.exe" -ArgumentList "/suspended" -ErrorAction SilentlyContinue # 2. 不審なタスクスケジューラコマンドをシミュレート (T1218) Write-Host "[+] 不審なタスクスケジューラコマンドをシミュレート中..." -ForegroundColor Yellow # 注意: コマンドラインパターンをシミュレートするためにcmdを使用してschtasksを呼び出します Start-Process "cmd.exe" -ArgumentList "/c schtasks /create /tn 'FakeTask' /tr 'task -print-to-default -silent file.Pdf' /sc once /st 00:00" -WindowStyle Hidden # 3. ComputerDefaults.exeから継承したPowerShellをシミュレート (T1218.013) Write-Host "[+] ComputerDefaults.exeから派生したPowerShellをシミュレート中..." -ForegroundColor Yellow Start-Process "C:WindowsSystem32ComputerDefaults.exe" -ArgumentList "powershell.exe -Command 'Write-Host MoiClient_Simulated'" -WindowStyle Hidden Write-Host "[+] シミュレーションコマンドが送信されました。" -ForegroundColor Green -
クリーンアップコマンド:
# クリーンアップスクリプト Write-Host "[+] シミュレーションのアーティファクトをクリーンアップ中..." -ForegroundColor Cyan # 偽のスケジュールタスクを削除 schtasks /delete /tn 'FakeTask' /f 2>$null # 注意: 一時停止したプロセスと生成されたインスタンスは、一時的なものであるかOSによってクリーンアップされます。 Write-Host "[+] クリーンアップ完了。" -ForegroundColor Green