無料変換ソフトウェア – クリーンなシステムを数秒で感染に変換
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
正当なサイトでのマルバタイジングキャンペーンは、一見無害そうに見える偽の“コンバータ”ユーティリティを押し進め、バックグラウンドで持続的なリモートアクセス型マルウェアをインストールします。実行されると、インストーラーは通常、バックドアコンポーネントを%LocalAppData%にドロップし、起動するためのスケジュールされたタスクを作成し、攻撃者が再起動の間もアクセスを保持できるようにします。この操作は、ドメインの回転セット、コード署名された(ただし悪意のある)バイナリ、そして単純なHTTPベースのコマンド&コントロールワークフローに依存しています。ディフェンダーは、異常なスケジュールされたタスクの作成、ユーザー書き込み可能パスからの疑わしい実行、特定のC2インフラストラクチャへのアウトバウンドトラフィックに対して検出を優先できます。
調査
研究者たちは、悪意のあるGoogle広告からpokemoninfinitefusion.net、convertyfileapp.com、conmateapp.comといったなりすましドメインにホストされたランディングページへの感染経路を再構築しました。そして最終的にファイナルペイロードを配信します。配信されたバイナリは.NET実行ファイルで、盗まれた証明書で署名されており、%LocalAppData%からUpdateRetriever.exeを実行するスケジュールされたタスクを作成することで永続性を確保します。テレメトリは、マルウェアが定期的にconfetly.comに接触し、アップデートや指示を取得していることを示しています。また、アナリストは関連するファイルシステムや設定アーティファクトを検証しました。それには、id.txtマーカーやバックドアをアクティブに保つために使用されるスケジュールされたタスク定義も含まれます。
緩和策
スケジュールされたタスクの作成(Security Event ID 4698)およびレジストリ変更テレメトリ(例: Sysmon Event ID 13)のロギングを有効化し、運用化します。AppLockerやWDACを使用して%LocalAppData%からのプロセス起動をブロックまたは厳密に制御し、ユーザー書き込み可能なディレクトリを指すスケジュールされたタスクにアラートを出します。疑わしいまたは新しく観察されたコード署名証明書を高リスクとして扱い、可能であれば取り消しまたはブロックし、既知の悪意のあるインフラストラクチャに対するドメイン制御を追加します。ネットワーク層では、confetly.comおよび関連URLパターンへのアウトバウンドHTTPアクティビティの検出を展開し、可能な場合にはユーザーのワークステーションからインターネットへの直接トラフィックを防ぐことを検討してください。
対応策
疑わしいスケジュールされたタスクが検出された場合、または%LocalAppData%から実行可能ファイルが観察された場合、エンドポイントを隔離し、証拠(タスクXML、ドロップされたバイナリ、関連するプロキシ/DNSログ)を保存します。command-and-controlを中断するために、confetly.comおよび関連するインフラストラクチャを即座にブロックしてください。悪意のあるスケジュールされたタスクを削除し、ペイロードのアーティファクトを一掃し、二次持続性が残っていないことを確認するために完全なエンドポイントの修復を実行します。最後に、追加の影響を受けたシステムの範囲を決定するために、同じ指標(タスク名/パス、UpdateRetriever.exe、id.txt、およびリストされたドメイン)のエンタープライズ全体での調査を実施してください。
“graph TB %% クラス定義 classDef technique fill:#c2e0ff classDef operator fill:#ffcc66 %% ノード – 技法 initial_access[“<b>技法</b> – <b>T1659 悪意ある広告</b><br/><b>説明</b>: 対抗者は悪意あるオンライン広告を利用して被害者に悪意あるコンテンツを配信します。コンテンツ・インジェクションを介します。”] class initial_access technique user_execution[“<b>技法</b> – <b>T1204 ユーザー実行</b><br/><b>説明</b>: 被害者は悪意のある広告を手動でクリックし、ダウンロードされたペイロードを実行します。”] class user_execution technique dropper[“<b>技法</b> – <b>T1036.001 偽装: 無効なコード署名</b><br/><b>説明</b>: 正当なツールとして偽装するために署名されたコンバータ実行ファイルが使われ、信頼制御を破ります。”] class dropper technique subvert_trust[“<b>技法</b> – <b>T1553 信頼制御の回避</b><br/><b>説明</b>: 署名されたバイナリがコード署名信頼に依存するセキュリティメカニズムを破ります。”] class subvert_trust technique powershell[“<b>技法</b> – <b>T1059.001 PowerShell</b><br/><b>説明</b>: PowerShellスクリプトは持続性のためにスケジュールされたタスクを作成するために実行されます。”] class powershell technique scheduled_task[“<b>技法</b> – <b>T1053 スケジュールされたタスク</b><br/><b>説明</b>: 定期的にUpdateRetriever実行ファイルを実行するためにスケジュールされたタスクが作成されます。”] class scheduled_task technique persistence[“<b>技法</b> – <b>T1053 スケジュールされたタスク (持続性)</b><br/><b>説明</b>: スケジュールされたタスクは悪意のあるアップデータの長期実行を提供します。”] class persistence technique c2_https[“<b>技法</b> – <b>T1071.001 ウェブプロトコル: ウェブ</b><br/><b>説明</b>: HTTPSを使用して標準のウェブプロトコルを介してコマンド&コントロールトラフィックが送信されます。”] class c2_https technique compression[“<b>技法</b> – <b>T1027.015 ユーティリティを介したアーカイブ</b><br/><b>説明</b>: ZIPアーカイブ内にペイロードが保存され、検出を回避します。”] class compression technique %% オペレータノード (ANDロジック) op_and((“AND”)) class op_and operator %% フロー – 接続 initial_access u002du002d>|導く| user_execution user_execution u002du002d>|配信する| dropper dropper u002du002d>|使用する| subvert_trust dropper u002du002d>|ペイロードを格納する| compression dropper u002du002d>|実行する| powershell powershell u002du002d>|作成する| scheduled_task scheduled_task u002du002d>|有効化する| persistence persistence u002du002d>|通信する| c2_https “
攻撃フロー
検出
ウェブチルを使用した疑わしい防御回避活動 (cmdline経由)
表示
疑わしいスケジュールされたタスク (監査経由)
表示
COMオブジェクト経由のスケジュールされたタスク (powershell経由)
表示
検出すべきIOC (HashSha256): フリーコンバータソフトウェア – システムをクリーンから感染状態に変える秒間パート7
表示
検出すべきIOC (HashSha256): フリーコンバータソフトウェア – システムをクリーンから感染状態に変える秒間パート5
表示
検出すべきIOC (HashSha256): フリーコンバータソフトウェア – システムをクリーンから感染状態に変える秒間パート6
表示
検出すべきIOC (HashSha256): フリーコンバータソフトウェア – システムをクリーンから感染状態に変える秒間パート4
表示
検出すべきIOC (HashSha256): フリーコンバータソフトウェア – システムをクリーンから感染状態に変える秒間パート1
表示
検出すべきIOC (HashSha256): フリーコンバータソフトウェア – システムをクリーンから感染状態に変える秒間パート3
表示
検出すべきIOC (HashSha256): フリーコンバータソフトウェア – システムをクリーンから感染状態に変える秒間パート2
表示
検出すべきIOC (HashSha1): フリーコンバータソフトウェア – システムをクリーンから感染状態に変える秒間
表示
マルウェア持続のためのスケジュールされたタスクレジストリ変更 [Windowsレジストリエベント]
表示
マルウェア持続のためのスケジュールされたタスクの作成を検出 [Microsoft Windowsセキュリティイベントログ]
表示
ConvertMate悪意あるペイロードとUUIDファイルの作成を検出 [Windowsファイルイベント]
表示
シミュレーション実行
前提条件: テレメトリとベースラインのプリフライト チェックが完了している必要があります。
理由: このセクションは、検出ルールをトリガーするために設計された対策技術(TTP)の正確な実行を詳細に説明します。コマンドと説明は、特定されたTTPに直接関連しており、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。
-
攻撃の概要とコマンド:
ローカルシステムへのアクセスを既に取得している攻撃者は、再起動を越えて持続性を維持したいと考えています。彼らは、Windowsスケジューラのレジストリ バックエンドを利用することに決定します。これは、新しい実行ファイルを作成することなく、探索できる「地元で生きる」メソッドであるためです。Usingreg.exeを使用して、次の下に直接新しいタスク定義を追加します:TaskCacheTasksハイブにマルウェアのペイロードを保持する%LocalAppData%へ。この書き込みは、次の対象と一致するSysmonイベント13を生成します。RegistryPathこのルールのセレクターに一致するパスの一致を引き起こし、警告が発生します。 -
リグレッションテストスクリプト:
# ------------------------------------------------------------------------- # PowerShellスクリプトT1547.014 / T1574.014をシミュレートするためのスケジュールされたタスクの持続性 # ------------------------------------------------------------------------- # 変数 $taskGuid = [guid]::NewGuid().ToString("B").ToUpper() # 例えば {A1B2C3D4-...} $payload = "$env:LOCALAPPDATAmalwareevil.exe" $regPath = "HKLM:SoftwareMicrosoftWindows NTCurrentVersionScheduleTaskCacheTasks$taskGuid" # ペイロード ディレクトリが存在することを確認します (シミュレート) New-Item -Path (Split-Path $payload) -ItemType Directory -Force | Out-Null # (実際の攻撃では、悪意あるバイナリがここから削除されました) # 登録キーのスケジュールされたタスクを作成します New-Item -Path $regPath -Force | Out-Null # 最低限の必要な値を提供します (タスクXMLは遥かに大きくなりますが、単純に保ちます) New-ItemProperty -Path $regPath -Name "Path" -Value $payload -PropertyType String -Force | Out-Null New-ItemProperty -Path $regPath -Name "Id" -Value $taskGuid -PropertyType String -Force | Out-Null New-ItemProperty -Path $regPath -Name "SecurityDescriptor" -Value "O:BAG:SYD:(A;;FA;;;SY)(A;;FA;;;BA)" -PropertyType String -Force | Out-Null Write-Host "[+] レジスタリタスクが書き込まれた $regPath – 検出ルールが発生する必要があります。" -
クリーンアップコマンド:
# 悪意あるスケジュールされたタスクのレジストリエントリを削除 $taskGuid = (Get-ItemProperty -Path "HKLM:SoftwareMicrosoftWindows NTCurrentVersionScheduleTaskCacheTasks*").Id $regPath = "HKLM:SoftwareMicrosoftWindows NTCurrentVersionScheduleTaskCacheTasks$taskGuid" Remove-Item -Path $regPath -Recurse -Force # ダミーペイロードをオプションで削除 Remove-Item -Path "$env:LOCALAPPDATAmalware" -Recurse -Force Write-Host "[+] クリーンアップ完了。"