SOC Prime Bias: 中程度

28 1月 2026 11:56

共有アーセナル:RATs間の共通TTPを識別する

Author Photo
Ruslan Mikhalov SOC Primeの脅威リサーチ責任者 linkedin icon フォローする
共有アーセナル:RATs間の共通TTPを識別する
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

Splunkの投稿は、多くのリモートアクセス型トロイの木馬とスティーラーのファミリーが、どのようにして同じMITRE ATT&CKテクニックのベースラインに収束しているかをレビューしています。進入ツールの転送、ホストおよびネットワークの発見、レジストリとスケジュールタスクの永続性、回避、クレデンシャルの窃取といった繰り返しの行動を指摘しています。一方で、ファミリーをトリアージ中に分離するのに役立つ小さな実装の違いにも注目です。このアプローチは、ファミリー間のより一貫したハンティングをサポートします。

調査

チームは約18のマルウェア・ファミリーをATT&CKにマッピングし、重複するTTPを要約し、永続性、トークン操作、Webサービスの使用に関する実用的なコードスニペットを含めました。例はWMIクエリ、Runキーの書き込み、schtasksの作成、Windows Defenderの除外を追加するPowerShellコマンドまで幅広く及びます。

緩和策

ガイダンスは、ファミリー名よりも技術中心の検出を優先します:一般的なユーティリティ(schtasks、reg、WMI)の悪用を監視し、アウトバウンドWebサービスのトラフィックを制限し、クレデンシャルアクセスコントロールを強化します。また、Windows Defenderの除外ポリシーを厳しくし、トークン権限の変更を警告することを推奨しています。

対応

これらの技術が検出された場合、エンドポイントを隔離し、キーアーティファクト(レジストリハイブ、スケジュールタスクの定義、コマンドラインログ)を収集し、エステート全体で関連するIOCを検出します。持続性を除去し、既知のドメインとハッシュに対してインジケーターに基づいたブロックを適用し、共有された行動をカバーするよう検出を拡大します。

攻撃フロー

この部分はまだ更新中です。通知を受け取るためにサインアップしてください

通知する

シミュレーション実行

前提条件: テレメトリー&ベースライン事前検査が合格していること。

論拠: このセクションでは、検出ルールを発生させるよう設計された対策技術(TTP)の正確な実行について詳述します。コマンドと説明は、特定されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリーを生成することを目的としています。

  • 攻撃の説明&コマンド:

    1. 偵察: 攻撃者はOSバージョンを列挙し、ターゲットがRunキーを使用できるWindowsマシンであることを確認します。
    2. ペイロード準備: 実際の悪意のある影響を避けつつも典型的な持続ペイロードを表すために無害なテスト実行可能ファイル(notepad.exe)が選択されます。
    3. 永続性のインプラント: 攻撃者は reg.exeを使用して、 ProvingMalware という名前の新しい文字列値を HKCUSoftwareMicrosoftWindowsCurrentVersionRunに書き込み、 C:WindowsSystem32notepad.exeを指します。これにより、Runキーのパスを持つEventID 4657が生成され、検出ルールを満たします。
    4. 検証: 攻撃者はレジストリを照会して値が存在することを確認します。
  • 回帰テストスクリプト:

    # -------------------------------------------------
    # Proving – レジストリRunキー持続シミュレーション
    # -------------------------------------------------
    try {
        # 1. OSがWindowsであることを確認
        if (-not $IsWindows) {
            throw "スクリプトはWindowsでのみ実行可能です。"
        }
    
        # 2. Runキーのパスと悪意のあるペイロードを定義
        $runKey = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
        $valueName = "ProvingMalware"
        $payloadPath = "$env:SystemRootSystem32notepad.exe"
    
        # 3. 悪意のあるRunキーを書く(これがEventID 4657をトリガーする)
        New-ItemProperty -Path $runKey -Name $valueName -Value $payloadPath -PropertyType String -Force |
            Out-Null
    
        Write-Host "[+] Runキー $valueName が $runKey に追加され、$payloadPath を指しています"
    }
    catch {
        Write-Error "[!] $($_.Exception.Message)"
    }
  • クリーンアップコマンド:

    # シミュレーションした持続値を削除
    $runKey = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
    $valueName = "ProvingMalware"
    if (Test-Path "$runKey") {
        Remove-ItemProperty -Path $runKey -Name $valueName -ErrorAction SilentlyContinue
        Write-Host "[+] Runキー $valueName をクリーンアップしました"
    }