mcpField
A
attack-patterns-reference

attack-patterns-reference

github.com/uphiagoセキュリティ1.3k41 回インストール8 週間前に更新
リポジトリ

attack-patterns-reference について

attack-patterns-referenceは、WebやWordPressで観測された挙動を分類し、検証スキルへ導くセキュリティテスト用カタログです。パターン自体を脆弱性の発見とみなさず、初期シグナルと検証済みの影響を区別するために使います。

主な機能

  1. 01Webシグナルを検証スキルに対応付け
  2. 02WordPress、CORS、XML-RPCのパターンを収録
  3. 03攻撃経路候補の前提条件を提示
  4. 04証拠とネガティブコントロールを重視

活用シーン

  1. 01テスト前の偵察結果の分類
  2. 02WordPressのシグナルに応じた後続スキルの選択
  3. 03攻撃経路候補を評価する前の前提条件確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/uphiago/recon-skills --skill attack-patterns-reference

インストール後、Claude Code で/attack-patterns-referenceを入力して読み込まれたか確認します。

同梱ファイルreferences/p-patterns.md

詳細

攻撃パターンのリファレンス

このカタログでは、観測された Web および WordPress の挙動を、それらの検証を担当するスキルに対応付けています。パターン ID はナビゲーション用のラベルです。悪用可能性、深刻度、発生頻度、または攻撃経路が確認済みであることを示すものではありません。

使用するタイミング

  • 集中的なテストを行う前に、偵察の結果を分類する必要がある場合。
  • 複数の検証済みの挙動が、攻撃経路の候補となる場合。
  • WordPress、CORS、XML-RPC、ソースコード漏えい、または公開サービスの兆候に対して、担当する検証手順が必要な場合。

このカタログを、スキャナーの検出結果リストや、担当スキルの検証セクションの代わりとして使用しないでください。

前提条件

  • 認可されたターゲットと、現在のスコープ上の制約。
  • 分類対象の観測内容を記録した証拠。
  • 選択した後続スキルに必要なツールと ID。

実行方法

  1. 観測された挙動に最も近いパターンを特定します。
  2. 表に記載されている担当スキルを開きます。
  3. そのスキルの前提条件と副作用を確認します。
  4. 仮説を反証できる、最小限の検証とネガティブコントロールを実行します。
  5. 結果を、観測済み、推定、確認済み、または未テストとして記録します。

手順

一般的な Web パターン
パターン初期兆候担当スキル
WordPress ユーザー情報の露出REST または author ルートがユーザーメタデータを返すwp-mass-recon
認証情報付き CORS信頼されていないオリジンが認証情報付きで反映されるcors-credential-wordpress
XML-RPC メソッドプロトコルに準拠した system.listMethods の応答xmlrpc-exploitation
XML-RPC SSRFpingback.ping が制御下のコールバックに到達するxmlrpc-exploitation
公開登録登録が有効になっているwp-mass-recon
プラグインの攻撃対象領域REST 名前空間、アセット、またはバージョンマーカーwordpress-plugin-hunt
ステージング環境との差異本番以外のホストで制御が弱くなっているstaging-subdomain-hunt
エラーログの公開応答に実際のアプリケーションエラーが含まれるerror-log-mining
PHPInfo の露出PHP 設定ページにアクセスできるphpinfo-to-rce
ソースまたはバックアップの漏えい応答にリポジトリ、設定、またはデータベースの内容が含まれるsource-leak-hunt
JavaScript 内のシークレット候補バンドルに認証情報のような値が含まれるjs-secrets-extraction
公開サービスHTTP 以外のサービスまたは管理サービスにインターネットから到達できるport-service-discovery

詳細なパターンの説明については、references/p-patterns.md を参照してください。

CORS のバリエーション
バリエーション初期兆候必要な検証
認証情報付きのオリジン反映信頼されていないオリジンと ACAC: true認証情報付きのブラウザーで、非公開データを読み取れる
Null オリジンの信頼ACAO: null と ACAC: trueサンドボックス化されたブラウザーで、非公開データを読み取れる
認証情報なしのワイルドカードACAO: *応答がすでに公開されているかどうかを確認する
認証情報付きプリフライトOPTIONS がオリジン、メソッド、ヘッダーを受け入れる実際のリクエストが成功し、ブラウザーが応答を公開する
認証ルートの CORS保護されたルートに CORS ヘッダーが現れる承認済みのセッションで、保護されたデータを読み取れる
プラグイン固有の CORS1 つのプラグイン名前空間のみがオリジンを受け入れる応答に保護されたデータが含まれるか、認可されたテストアクションが実行される
環境固有の CORSステージング環境と本番環境でポリシーが異なる認可された環境で影響を実証する
サードパーティーの許可リスト外部サービスのオリジンが 1 つ信頼されているそのオリジンを制御できること、および保護されたデータにアクセスできることを確認する
攻撃経路の候補

以下は組み合わせのテンプレートであり、確認済みの所見ではありません。

経路検証が必要な前提条件
CORS から保護データの読み取り承認済みセッション、信頼されていないオリジン、ブラウザーで読み取り可能な非公開レスポンス
XML-RPC SSRF からクラウドメタデータへのアクセス制御可能なコールバック、到達可能なメタデータサービス、利用可能な二次的影響
オープン登録からアップロード承認済みのテスト用アカウント、アップロード可能なロール、実行可能なファイルパス
露出したログからアカウントへのアクセス有効な認証情報、承認済みの ID、有効な認証制御
ステージング環境の露出から本番環境への影響共有された信頼境界、再利用可能なシークレットまたはデプロイパス、明示的なスコープ

すべての前提条件を個別に検証した後にのみ、cross-attack-chains を使用してください。

注意点

  • 過去の発生頻度は、現在のターゲットに関する証拠ではありません。
  • 製品名、バージョン、ステータスコード、ヘッダーだけでは、影響を証明できません。
  • すべてのリクエストを受け入れるルートにより、機密性の高いパスが到達可能に見えることがあります。
  • 公開クライアント識別子や意図的に公開された API は、それだけで認証情報や認可の不備とは限りません。
  • パターンの前提条件は、製品やプラグインのバージョンによって変わります。
  • 攻撃経路には、最も不確かな手順の不確実性が引き継がれます。

検証

  • すべてのパターンを、取得したリクエストとレスポンスの証拠に照らし合わせてください。
  • 結果を公開動作や一般的な動作と区別できるよう、ネガティブコントロールを実行してください。
  • CORS の影響を確認するにはブラウザーを使用してください。ヘッダーだけでは不十分です。
  • ブラインド SSRF には制御されたコールバックを使用してください。プロトコルステータスだけでは不十分です。
  • CVE に関連付ける前に、コンポーネントと前提条件を正確に確認してください。
  • スコープ内で再現した影響のみを報告してください。

コメント