2つのSOC、2つの成果:レッドチーム評価からの教訓
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
CISAは、2つの組織で同時にレッドチーム評価を実施し、防御の成熟度の違いが侵害の結果にどのように劇的な影響を与えるかを示しました。1つの組織は完全なドメイン妥協と横方向の移動を検出することに失敗しましたが、もう1つの組織は初期の拠点を特定し、封じ込めることに成功しました。この報告書は、クラウドアイデンティティ管理、Active Directory設定、および組織のインシデント対応プロセスにおける重大な脆弱性を明らかにしています。
調査
この調査には、政府サービスおよび施設分野の組織と、水および廃水システムセクターの組織での2つの同時シミュレーションが含まれていました。レッドチームはフィッシング、BloodHound、ADCSの悪用などの手法を使用してアクセスを得て制御を拡大しました。調査者は、セキュリティ態勢、過剰アラートボリューム、および組織のサイロが、防御者がシミュレートされた侵入を成功裏に検出し、封じ込めるかどうかにどのように影響を与えるかを調査しました。
緩和策
推奨される緩和策には、アラートノイズを削減するための検出ツールの調整と、セキュリティチームのための明確なエスカレーション手順の確立が含まれます。組織は、作業負荷アイデンティティのための条件付きアクセスを実施し、フィッシング抵抗MFAを実施し、クラウド資格情報を定期的に回転させるべきです。誤設定されたADCSテンプレートの是正と危険なMachine Account Quotas (MAQ)への対処を通じたActive Directoryセキュリティの強化も重要です。
対応
不正な活動が検出された場合、組織はC2通信を中断するために直ちに影響を受けたワークステーションとクラウドアカウントを隔離するべきです。防御者は、アクセスとリフレッシュトークンの取り消しとサービス主体の権限の監査を含む、確立されたインシデント対応プレイブックに従うべきです。効果的な対応も、組織のサイロを排除することで依存し、SOCチームが迅速で決定的な封じ込め行動を取ることができます。
攻撃フロー
このパートはまだ更新中です。
検出
誤設定されたADCSテンプレートの使用 [ESC1/SAN] (監査使用)
コンピュータ乗っ取り攻撃の可能性 (監査記録使用)
DCSync攻撃の可能性 (監査記録使用)
DCSync権限が付与されました (監査記録使用)
不審なコンピュータアカウントのパスワードリセット操作 (監査記録使用)
一般的な不審なLDAPサーチフィルターv2 (ディレクトリサービス使用)
一般的な不審なLDAPサーチフィルター (ディレクトリサービス使用)
一般的な不審なLDAPサーチフィルターv2 [関連付け/カウントによる] (ディレクトリサービス使用)
一般的な不審なLDAPサーチフィルター [関連付け/カウントによる] (ディレクトリサービス使用)
Azureクラウド調査ツール使用の可能性 (Azure監査使用)
HackTools検出の可能性 (Office365)
Microsoft Graphへの管理者同意が付与されました (読み取り範囲) (監査ログ使用)
侵害されたワークステーションを通じたレッドチームプロキシツール [Windows Powershell]
Active DirectoryにおけるBloodHoundコレクター使用の検出 [Windowsプロセス作成]
アプリケーション権限の悪用 [Azure監査ログ]
クラウドリソースの列挙および不正なAzureポータルアクセスの検出 [Azureアクティビティログ]
## シミュレーション実行
前提条件:テレメトリー&ベースラインの事前フライトチェックがパスしている必要があります。
理由:このセクションでは、検出ルールをトリガーするために設計された攻撃者の手法 (TTP) の正確な実行を詳細に記述します。コマンドと記述はTTPを直接反映し、検出ロジックが期待する正確なテレメトリーを生成することを目的としています。
-
攻撃記述とコマンド: 攻撃者はWindowsワークステーションに初期の足がかりを得ました。横方向の移動と権限昇格を促進するために、Active Directory環境をマッピングする必要があります。彼らはSharpHound実行ファイルをダウンロードします。基本的なAVによる即時検出を避けるため、通常のコマンドラインフラグを使用して実行し、すべてのドメイン情報を収集しようとします。目的はプロセス作成イベントで特定の文字列を生成し、SOCの検出ロジックが機能しているかどうかをテストすることです。
SharpHoundプロセス作成イベントでSOCの検出ロジックが機能するかどうかをテストするために、この特定の文字列を生成することを目指しています。 -
回帰テストスクリプト:
# SharpHound実行のシミュレーションで検出ルールをトリガーします。 # 注意: 実際のシナリオでは、ファイルはダウンロードされます。 # このシミュレーションでは、ダミーファイルを作成してプロセス実行を模倣します。 $dummyPath = "$env:TEMPSharpHound.exe" New-Item -Path $dummyPath -ItemType File -Force # 検出ロジックで使われるキーワードでダミーファイルを実行 # Start-Processを使うとプロセス作成ログに明確に表示されます Start-Process -FilePath $dummyPath -ArgumentList "--CollectionMethod All --Domain corp.local" -NoNewWindow -
クリーンアップコマンド:
# シミュレーション用に使用したダミーファイルを削除 Remove-Item -Path "$env:TEMPSharpHound.exe" -Force