サブドメインテイクオーバーとは、組織が使用を停止したサブドメインの DNS レコード (主に CNAME) が残存している状態を悪用し、攻撃者がそのサブドメインを乗っ取る攻撃手法である。例えば blog.example.com が外部サービスを指す CNAME レコードを持ったまま、そのサービスのアカウントが削除された場合、攻撃者が同じサービスで新規アカウントを作成してサブドメインの制御権を奪取できる。
攻撃の仕組みは以下の通りだ。組織が GitHub Pages、Heroku、AWS S3 などの外部サービスでサブドメインを運用し、後にサービスを解約する。しかし DNS の CNAME レコードを削除し忘れると、そのサブドメインは「宙に浮いた」状態になる。攻撃者は対象の外部サービスで同じホスト名を登録し、任意のコンテンツを配信できるようになる。正規ドメインのサブドメインであるため、フィッシングや Cookie 窃取に悪用される危険性が高い。
短縮 URL サービスでカスタムドメインを設定する場合、このリスクは特に注意が必要だ。短縮 URL サービスの利用を停止する際、カスタムドメインの CNAME レコードを DNS から確実に削除しなければ、攻撃者にサブドメインを乗っ取られる。乗っ取られたサブドメインで悪意ある短縮 URL が発行されると、組織のドメイン信頼性を利用したフィッシング攻撃が可能になる。
防御策として、定期的な DNS レコードの棚卸しが最も重要だ。使用していない CNAME レコードを検出するツール (subjack、nuclei) を CI/CD パイプラインに組み込み、自動的に監視する。サービス解約時のチェックリストに DNS レコード削除を必須項目として含め、運用手順を標準化する。また CAA レコードの設定により、不正な SSL 証明書の発行を防止することも有効な対策である。