Agent Skills by ALSEL
Anthropic ClaudeDevOps・インフラ⭐ リポ 0品質スコア 50/100

subdomain-takeover

未使用のCNAME/NS/MXレコードが残存するドメインに対して、サブドメインテイクオーバーの検出と悪用を行うプレイブック。廃止済みのクラウドリソース、有効期限切れのサードパーティサービス、または未登録のSaaSテナントを指している宙に浮いたDNSレコードを持つターゲットに対して使用し、攻撃者が被害者のドメイン配下でコンテンツを配信できる状態かどうかを評価する。

description の原文を見る

>- Subdomain takeover detection and exploitation playbook. Use when targets have dangling CNAME/NS/MX records pointing to deprovisioned cloud resources, expired third-party services, or unclaimed SaaS tenants that an attacker can register to serve content under the victim's domain.

SKILL.md 本文

SKILL: Subdomain Takeover — Detection & Exploitation Playbook

AI LOAD INSTRUCTION: Covers CNAME/NS/MX takeover, per-provider fingerprint matching, claim procedures, and defensive monitoring. Base models often confuse "CNAME exists" with "takeover possible" — the key is whether the resource behind the CNAME is unclaimed and claimable.

0. RELATED ROUTING

  • ssrf-server-side-request-forgery SSRF フィルタリストが *.target.com を信頼する場合、subdomain takeover で SSRF フィルタをバイパス可能
  • cors-cross-origin-misconfiguration CORS が *.target.com を信頼する場合 — takeover で完全なクロスオリジンリード可能
  • xss-cross-site-scripting takeover でターゲットオリジン下でのスクリプト実行を取得(Cookie 盗聴、OAuth リダイレクト悪用)
  • http-host-header-attacks Host ルーティングが subdomain スコープのキャッシュ認証問題につながる場合
  • web-cache-deception takeover された subdomain がメインドメインとキャッシュを共有する場合

1. CORE CONCEPT

Subdomain takeover は以下の場合に発生します:

  1. sub.target.com が外部サービスを指す DNS レコード(CNAME、NS、A)を持つ
  2. 外部リソースがもはやプロビジョニングされていない(削除された S3 バケット、削除された Heroku アプリなど)
  3. 攻撃者がプロバイダーでその正確なリソース名を登録/要求できる
  4. 攻撃者が sub.target.com 配下で提供されるコンテンツを制御

影響:Cookie 盗聴(親ドメイン Cookie)、OAuth トークンインターセプト、信頼されたドメイン下でのフィッシング、CORS バイパス、ホワイトリスト登録された subdomain を経由した CSP バイパス。


2. DETECTION METHODOLOGY

2.1 CNAME Enumeration

1. subdomain を収集(amass、subfinder、assetfinder、crt.sh、SecurityTrails)
2. 各 subdomain の DNS を解決:
   dig CNAME sub.target.com +short
3. 各 CNAME について → CNAME ターゲットが NXDOMAIN またはプロバイダーエラーを返すかチェック
4. エラーレスポンスをフィンガープリントテーブル(Section 3)と照合

2.2 Key Signals

Signal意味
CNAME → xxx.s3.amazonaws.com + HTTP 404 "NoSuchBucket"S3 バケット削除済み、要求可能
CNAME → xxx.herokuapp.com + "No such app"Heroku アプリ削除済み
CNAME → xxx.github.io + 404 "There isn't a GitHub Pages site here"GitHub Pages 未要求
CNAME ターゲットドメイン自体が NXDOMAINターゲットドメイン期限切れまたは非存在
CNAME → プロバイダーだが HTTP 200 でデフォルトパーキングページ要求可能の場合もあれば不可の場合もあります — 確認が必要

2.3 Automated Tools

ツール目的
subjackCNAME takeover 自動チェック
nuclei -t takeovers/Nuclei takeover 検出テンプレート
can-i-take-over-xyz (GitHub)どのサービスが脆弱かのリファレンス
dnsreaperマルチプロバイダー takeover スキャナー
subzy高速 subdomain takeover 検証

3. SERVICE PROVIDER FINGERPRINT TABLE

プロバイダーCNAME パターンフィンガープリント(HTTP レスポンス)要求可能?
AWS S3*.s3.amazonaws.com / *.s3-website-*.amazonaws.comNoSuchBucket (404)はい — マッチング名でバケット作成
GitHub Pages*.github.ioThere isn't a GitHub Pages site here (404)はい — リポジトリ作成 + Pages 有効化
Heroku*.herokuapp.com / *.herokudns.comNo such appはい — マッチング名でアプリ作成
Azure*.azurewebsites.net / *.cloudapp.azure.com / *.trafficmanager.net各種デフォルトページ、NXDOMAINはい — マッチングリソース登録
Shopify*.myshopify.comSorry, this shop is currently unavailableはい — ストア作成、カスタムドメイン追加
FastlyFastly edge への CNAMEFastly error: unknown domainはい — Fastly サービスにドメイン追加
Pantheon*.pantheonsite.io404 Site Not Found with Pantheon brandingはい
Tumblr*.tumblr.com(カスタムドメイン CNAME)There's nothing here / Whatever you were looking for doesn't existはい
WordPress.com*.wordpress.com への CNAMEDo you want to registerはい — WP.com でドメイン要求
Zendesk*.zendesk.comHelp Center Closed / Zendesk branding on errorはい — マッチング subdomain 作成
Unbounce*.unbouncepages.comThe requested URL was not foundはい
Ghost*.ghost.io404 Not Found Ghost errorはい
Surge.sh*.surge.shproject not foundはい
Fly.io*.fly.dev への CNAMEFly.io default 404はい

4. TAKEOVER PROCEDURE — COMMON PROVIDERS

4.1 AWS S3

1. 確認: curl -s http://sub.target.com → "NoSuchBucket"
2. CNAME からバケット名を抽出(例:sub.target.com.s3.amazonaws.com → bucket = "sub.target.com")
3. aws s3 mb s3://sub.target.com --region <region>
4. control を証明する index.html をアップロード
5. 静的ウェブサイトホスティングを有効化

4.2 GitHub Pages

1. 確認: curl -s https://sub.target.com → "There isn't a GitHub Pages site here"
2. GitHub リポジトリを作成(任意の名前)
3. "sub.target.com" を含む CNAME ファイルを追加
4. リポジトリ設定で GitHub Pages を有効化
5. DNS 伝播を待機(GitHub が CNAME マッチを検証)

4.3 Heroku

1. 確認: curl -s http://sub.target.com → "No such app"
2. heroku create <app-name-from-cname>
3. heroku domains:add sub.target.com
4. proof-of-concept ページをデプロイ

5. NS TAKEOVER — HIGH SEVERITY

NS takeover は CNAME takeover よりはるかに危険です:ゾーン全体の DNS 解決を制御できます。

How It Happens

target.com NS → ns1.expireddomain.com
                 ↓
攻撃者が expireddomain.com を登録
                 ↓
攻撃者が target.com の**すべての** DNS を制御
(A レコード、MX レコード、TXT レコード — すべて)

Detection

1. NS レコードを列挙: dig NS target.com +short
2. 各 NS ドメインをチェック: whois ns1.example.com → ドメインは期限切れまたは利用可能?
3. また以下もチェック: dig A ns1.example.com → NXDOMAIN/SERVFAIL?
4. サブデリゲートゾーン:sub.target.com の NS を具体的にチェック

Impact

  • フルドメイン takeover(任意のコンテンツ提供、メール傍受、DNS-01 経由での TLS 証明書発行)
  • DNS チャレンジを使用して任意の CA から DV 証明書を発行
  • SPF/DKIM/DMARC を変更 → ターゲットになりすまして認証メール送信

6. MX TAKEOVER — EMAIL INTERCEPTION

MX レコードがプロビジョニング解除されたメールサービスを指す場合:

target.com MX → mail.deadservice.com(サービス廃止)

攻撃者が mail.deadservice.com またはメールテナントを要求できる場合:

  • パスワードリセットメールを受信
  • 機密通信をインターセプト
  • メールベースの認証を使用するアカウントをリセットできる可能性

Common Scenario

期限切れ Google Workspace / Microsoft 365 テナント → MX が Google/Microsoft を指している → 攻撃者が新しいテナントを作成してドメインを要求。


7. WILDCARD DNS RISKS

*.target.com がクレーム可能なサービスへのワイルドカード CNAME を持つ場合:

  • すべての未定義の subdomain が脆弱
  • anything.target.com を takeover 可能
  • 攻撃サーフェスが大幅に増加

検出:dig A random1234567.target.com — 解決する場合、ワイルドカードが存在します。


8. DETECTION & EXPLOITATION DECISION TREE

Subdomain が発見されました(sub.target.com)?
├── DNS レコードを解決
│   ├── 外部サービスを指す CNAME がありますか?
│   │   ├── HTTP レスポンスが既知のフィンガープリントと一致?(Section 3)
│   │   │   ├── はい → プロバイダーで claim を試行(Section 4)
│   │   │   │   ├── Claim 成功 → TAKEOVER CONFIRMED
│   │   │   │   └── Claim がブロック(名前予約、リージョンロック) → ドキュメント、バリエーションを試行
│   │   │   └── いいえ → サービス有効、takeover なし
│   │   └── CNAME ターゲットが NXDOMAIN?
│   │       ├── ターゲットが登録可能なドメイン? → 登録 → 完全なコントロール
│   │       └── ターゲットがアクティブなプロバイダーの subdomain → プロバイダーの claim プロセスをチェック
│   │
│   ├── 外部ネームサーバーを指す NS レコードがありますか?
│   │   ├── NS ドメイン期限切れ/利用可能? → 登録 → FULL ZONE TAKEOVER
│   │   └── NS ドメイン有効 → takeover なし
│   │
│   ├── 外部メールサービスを指す MX がありますか?
│   │   ├── メールサービスがプロビジョニング解除/要求可能? → テナント要求 → EMAIL INTERCEPTION
│   │   └── アクティブなメールサービス → takeover なし
│   │
│   └── IP アドレスを指す A レコードがありますか?
│       ├── IP が elastic cloud に属する(AWS EIP、Azure、GCP)?
│       │   ├── IP が未割り当て? → IP 要求 → コンテンツ提供
│       │   └── IP が別の顧客に割り当て → takeover なし
│       └── IP が専用サーバーに属する → takeover なし
│
└── Takeover 後の影響評価
    ├── 親ドメインと共有 Cookie? → セッションハイジャック
    ├── CORS が *.target.com を信頼? → クロスオリジンデータ盗聴
    ├── CSP が *.target.com をホワイトリスト? → takeover された subdomain 経由での XSS
    ├── OAuth redirect_uri が sub.target.com を許可? → トークン盗聴
    └── sub.target.com の TLS 証明書を発行可能? → 完全な MITM

9. DEFENSE & REMEDIATION

アクション優先度
クラウドリソースのプロビジョニング解除時に DNS レコードを削除Critical
CNAME ターゲットの NXDOMAIN レスポンスを監視High
DNS 監視ツールを使用(SecurityTrails、DNSHistory)High
DNS レコードを削除する前にリソース名を要求/予約High
NS デリゲーションを監査 — NS ドメインが所有・更新されていることを確認Critical
第三者サービスへのワイルドカード CNAME を避けるMedium
Certificate Transparency 監視を実装Medium

10. TRICK NOTES — WHAT AI MODELS MISS

  1. CNAME ≠ takeover:S3 に対する CNAME が 403 を返す(バケット存在、プライベート)場合は脆弱ではありません。NoSuchBucket(404)のみが対象です。
  2. S3 ではリージョンが重要:バケット名はグローバルですが、ウェブサイトエンドポイントはリージョンが指定されます。CNAME からのリージョンマッチを試みてください。
  3. GitHub Pages 検証:GitHub がドメイン検証を追加しました — 組織検証済みドメインは他者が要求することはできません。ターゲットがこれを使用しているかチェックしてください。
  4. エッジケース:いくつかのプロバイダー(Cloudfront など)ではドメイン要求だけでなく特定のディストリビューション設定が必要です。
  5. Second-order takeoversub.target.com CNAME → other.target.com CNAME → dead-service.com — チェーン全体をたどる必要があります。
  6. SPF subdomain takeover:SPF が include:sub.target.com を含み、sub.target.com を takeover した場合、その SPF TXT レコードを変更してメールサーバーを認可 → target.com になりすまして メールを送信できます。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
yaklang
リポジトリ
yaklang/hack-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/yaklang/hack-skills / ライセンス: MIT

関連スキル

汎用DevOps・インフラ⭐ リポ 502

superpowers-streamer-cli

SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。

by rohanarun
汎用DevOps・インフラ⭐ リポ 493

catc-client-ops

Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。

by automateyournetwork
汎用DevOps・インフラ⭐ リポ 39,967

ci-cd-and-automation

CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。

by addyosmani
汎用DevOps・インフラ⭐ リポ 39,967

shipping-and-launch

本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。

by addyosmani
OpenAIDevOps・インフラ⭐ リポ 38,974

linear-release-setup

Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。

by novuhq
Anthropic ClaudeDevOps・インフラ⭐ リポ 2,159

tracking-application-response-times

API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。

by jeremylongshore
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: yaklang · yaklang/hack-skills · ライセンス: MIT