pentest-client-advanced について
XSS 以外のクライアント側攻撃面をテストするセキュリティテスト用スキルで、6 種類の WSTG-CLNT 項目を扱います。ブラウザーでの検証と概念実証の作成手順を示します。
主な機能
- 01CORS 設定不備のテスト
- 02WebSocket セキュリティチェック
- 03クリックジャッキングの評価
- 04postMessage の送信元と入力の検査
- 05CSS インジェクションとクライアント側ストレージの分析
- 06ブラウザーベースの攻撃 PoC 作成
活用シーン
- 01クロスオリジンアクセスと WebSocket 保護のテスト
- 02クリックジャッキングと postMessage 処理の評価
- 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
基本的なワークフロー
- CORS の設定ミス:ACAO ヘッダーでの Origin の反射、null オリジンによるバイパス、サブドメインのワイルドカードの悪用、クロスオリジンリクエストを介した認証情報の漏えいをテストします(WSTG-CLNT-07)。
- WebSocket セキュリティ:WS アップグレード時の認証の欠如、CSWSH(クロスサイト WebSocket ハイジャック)、WS メッセージを介したインジェクション、オリジン検証の欠如をテストします(WSTG-CLNT-10)。
- クリックジャッキング:X-Frame-Options/CSP frame-ancestors の欠如、UI の偽装、ドラッグ&ドロップのハイジャック、複数ステップのクリックジャッキングチェーンをテストします(WSTG-CLNT-09)。
- postMessage の悪用:メッセージハンドラーでのオリジン検証の欠如、クロスオリジンメッセージを介した DOM 操作、postMessage によるプロトタイプ汚染をテストします(WSTG-CLNT-11)。
- CSS インジェクション:CSS 属性セレクターと background-image を介したデータ流出、CSS ベースのキーロギング、UI 操作を目的としたスタイルのインジェクションをテストします(WSTG-CLNT-05)。
- クライアント側ストレージ:localStorage/sessionStorage 内の機密データ、IndexedDB の露出、サービスワーカーキャッシュポイズニングをテストします(WSTG-CLNT-06)。
- PoC の作成:実際の影響を示す、各攻撃用の HTML ページを作成します。
WSTG のカバレッジ
| WSTG ID | テスト名 | ステータス |
|---|---|---|
| WSTG-CLNT-05 | CSS インジェクション | ✅ |
| WSTG-CLNT-06 | クライアント側リソース操作 | ✅ |
| WSTG-CLNT-07 | クロスオリジンリソース共有 | ✅ |
| WSTG-CLNT-09 | クリックジャッキング | ✅ |
| WSTG-CLNT-10 | WebSocket テスト | ✅ |
| WSTG-CLNT-11 | Web メッセージング | ✅ |
ツールのカテゴリ
| カテゴリ | ツール | 目的 |
|---|---|---|
| CORS テスト | CORScanner、curl、カスタム PoC ページ | CORS の設定ミスの検出 |
| WebSocket | websocket-client (Python)、Burp WS | WebSocket のハイジャックとインジェクション |
| クリックジャッキング | カスタム HTML iframe、Playwright | UI 偽装 PoC の作成 |
| ブラウザ自動化 | Playwright、Puppeteer | クライアント側攻撃の自動検証 |
| ストレージ分析 | ブラウザの DevTools、カスタム JS | localStorage/IndexedDB の調査 |
参考資料
references/tools.md- ツールの関数シグネチャとパラメーターreferences/workflows.md- 攻撃パターンの定義とテストベクトル
コメント
Markdown 対応