saml-sso-assertion-attacks について
SAML シングルサインオンを調査するセキュリティテスター向けのガイドです。署名範囲、Audience や Recipient の検証、アサーションのリプレイ、アカウント対応付けなどの信頼境界を扱います。
主な機能
- 01署名範囲とラッピングの確認
- 02Audience、Recipient、ACS の検証
- 03IdP の信頼と Issuer の混同
- 04リプレイと有効期間の確認
- 05アカウント属性の対応付け確認
活用シーン
- 01SAML ログインの一連の通信を調査
- 02署名対象ノードとアカウント属性の特定
- 03SP 起点と IdP 起点のフローを比較
- 04リプレイとアサーション配置の混同をテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ yaklang/ hack-skills --skill saml-sso-assertion-attacksインストール後、Claude Code で/saml-sso-assertion-attacksを入力して読み込まれたか確認します。
詳細
スキル:SAML SSO とアサーション攻撃 — 署名検証、バインディング、信頼の混同
AI LOAD INSTRUCTION:対象が SAML ベースの SSO を使用しており、アサーションの信頼性を検証する必要がある場合にこのスキルを使用してください。署名の適用範囲、Audience と Recipient の確認、ACS の処理、XML 解析の脆弱性、IdP/SP の混同を確認します。
1. このスキルを読み込むタイミング
次の場合に読み込みます。
- エンタープライズ SSO で SAML リクエストまたはレスポンスを使用している
SAMLRequest、SAMLResponse、XML アサーション、または ACS エンドポイントを確認した- ログインフローに外部 IdP とブラウザーの POST/リダイレクトバインディングが関係する
2. 重要度の高い設定ミスの確認項目
| テーマ | 確認する内容 |
|---|---|
| 署名検証 | 署名のないアサーションが受け入れられる、誤ったノードが署名されている、署名ラッピング |
| Audience と Recipient | Audience、Recipient、Destination、または ACS の検証が不十分 |
| 発行者の信頼 | 誤った IdP が受け入れられる、またはマルチテナントの発行者が混同される |
| リプレイと鮮度 | InResponseTo がない、NotBefore/NotOnOrAfter の適用が不十分 |
| アカウントのマッピング | メールアドレスのみでの紐付け、大文字と小文字の同一視、未検証の属性 |
| XML パーサーの動作 | SAML ドキュメントにおける XXE に類するパーサーの問題、または安全でない変換 |
3. 簡易トリアージ
- ログインの往復を最初から最後まで 1 回キャプチャします。
- どの XML ノードに署名が付与されているか、またアカウントの紐付けにどの属性が使われているかを調べます。
- SP 起点のフローと IdP 起点のフローを比較します。
- リプレイ、属性の改変、アサーションの配置の混同をテストします。
4. 関連する項目
- XML パーサー攻撃の詳細:xxe xml external entity
- OAuth または OIDC による SSO の代替手段:oauth oidc misconfiguration
- SSO 後の認証境界の問題:authbypass authentication flaws
コメント
Markdown 対応