mcpField
P
pentest-client-advanced

pentest-client-advanced

github.com/jd-opensourceセキュリティ31548 回インストール28 週間前に更新
リポジトリ

pentest-client-advanced について

XSS 以外のクライアント側攻撃面をテストするセキュリティテスト用スキルで、6 種類の WSTG-CLNT 項目を扱います。ブラウザーでの検証と概念実証の作成手順を示します。

主な機能

  1. 01CORS 設定不備のテスト
  2. 02WebSocket セキュリティチェック
  3. 03クリックジャッキングの評価
  4. 04postMessage の送信元と入力の検査
  5. 05CSS インジェクションとクライアント側ストレージの分析
  6. 06ブラウザーベースの攻撃 PoC 作成

活用シーン

  1. 01クロスオリジンアクセスと WebSocket 保護のテスト
  2. 02クリックジャッキングと postMessage 処理の評価
  3. 03ブラウザーストレージ内の機密データの確認

インストール

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

$npx skills add https://github.com/jd-opensource/joysafeter --skill pentest-client-advanced

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

同梱ファイルreferences/tools.mdreferences/workflows.md

詳細

Pentest Client Advanced

目的

XSS 以外の高度なクライアント側の攻撃対象領域をテストします。Shannon のパイプラインでは、WSTG-CLNT の項目が 6 つ未確認のままです。これらは、taint analysis とは異なる手法を必要とする、個別の攻撃クラスです。

前提条件

認可要件
  • クライアント側のテスト範囲を含む書面による認可
  • PoC HTML ページのホスティング用のテストドメイン(攻撃者が管理するオリジン)
  • DevTools にアクセスできるブラウザのテスト環境
  • ターゲットユーザーのシミュレーション — クロスオリジンのやり取りをテストできること
環境設定
  • DevTools を備えた最新のブラウザ(Chrome/Firefox)
  • WebSocket およびクロスオリジンのトラフィックを傍受するための Burp Suite
  • PoC ページをホストするためのローカル HTTP サーバー(python -m http.server)
  • ブラウザベースの攻撃検証を自動化するための Playwright

基本的なワークフロー

  1. CORS の設定ミス:ACAO ヘッダーでの Origin の反射、null オリジンによるバイパス、サブドメインのワイルドカードの悪用、クロスオリジンリクエストを介した認証情報の漏えいをテストします(WSTG-CLNT-07)。
  2. WebSocket セキュリティ:WS アップグレード時の認証の欠如、CSWSH(クロスサイト WebSocket ハイジャック)、WS メッセージを介したインジェクション、オリジン検証の欠如をテストします(WSTG-CLNT-10)。
  3. クリックジャッキング:X-Frame-Options/CSP frame-ancestors の欠如、UI の偽装、ドラッグ&ドロップのハイジャック、複数ステップのクリックジャッキングチェーンをテストします(WSTG-CLNT-09)。
  4. postMessage の悪用:メッセージハンドラーでのオリジン検証の欠如、クロスオリジンメッセージを介した DOM 操作、postMessage によるプロトタイプ汚染をテストします(WSTG-CLNT-11)。
  5. CSS インジェクション:CSS 属性セレクターと background-image を介したデータ流出、CSS ベースのキーロギング、UI 操作を目的としたスタイルのインジェクションをテストします(WSTG-CLNT-05)。
  6. クライアント側ストレージ:localStorage/sessionStorage 内の機密データ、IndexedDB の露出、サービスワーカーキャッシュポイズニングをテストします(WSTG-CLNT-06)。
  7. PoC の作成:実際の影響を示す、各攻撃用の HTML ページを作成します。

WSTG のカバレッジ

WSTG IDテスト名ステータス
WSTG-CLNT-05CSS インジェクション✅
WSTG-CLNT-06クライアント側リソース操作✅
WSTG-CLNT-07クロスオリジンリソース共有✅
WSTG-CLNT-09クリックジャッキング✅
WSTG-CLNT-10WebSocket テスト✅
WSTG-CLNT-11Web メッセージング✅

ツールのカテゴリ

カテゴリツール目的
CORS テストCORScanner、curl、カスタム PoC ページCORS の設定ミスの検出
WebSocketwebsocket-client (Python)、Burp WSWebSocket のハイジャックとインジェクション
クリックジャッキングカスタム HTML iframe、PlaywrightUI 偽装 PoC の作成
ブラウザ自動化Playwright、Puppeteerクライアント側攻撃の自動検証
ストレージ分析ブラウザの DevTools、カスタム JSlocalStorage/IndexedDB の調査

参考資料

  • references/tools.md - ツールの関数シグネチャとパラメーター
  • references/workflows.md - 攻撃パターンの定義とテストベクトル

コメント