サブドメイン乗っ取りは、サブドメインが削除された、または使用されていない外部サービスを指している場合に発生する脆弱性の一種です。これらの外部サービスの一般的な例としては、Github、Heroku、Gitlab、Tumblrなどがあります。このシナリオでは、元の所有者が削除されたサービスを指すDNSエントリを削除しなかった場合、攻撃者はこの脆弱性を悪用し、サブドメイン名を含むCNAMEファイルを追加することでサブドメインを乗っ取ることができます。このタイプの脆弱性は重大なセキュリティ上の影響を与える可能性があり、悪用を防ぐために注意深い対応が必要です。
サブドメインのCNAMEレコードを確認するコマンドは次のとおりです。
$dig CNAME apt.shopify.com --> apt.shopify.com.s3-website-us-east-1.amazonaws.com.
多数のサブドメインの管理とセキュリティ確保は、組織にとって困難な課題となる可能性があります。サブドメインの潜在的なセキュリティリスクを効果的に監視するためには、各ドメインのCNAMEレコードを確認するプロセスを自動化できるツールを持つことが重要です。このスクリプトはファイル名を入力として受け取り、入力ファイル内の各ドメインのCNAMEレコードを表示する出力を生成する一連のアクションを実行します。このアプローチにより、セキュリティ専門家は多数のサブドメインを容易に管理および監視でき、潜在的な脆弱性をより効率的に特定するのに役立ちます。
サービスが削除された場合、DNSエントリが残っているときに残される可能性のあるフィンガープリントを分析することが重要です。場合によっては、脆弱なサブドメインに攻撃者がアクセスすると、"There isn't a Github Pages site here." のようなエラーメッセージが表示されることがあります。これらのエラーメッセージを注意深く調べることで、セキュリティ専門家はドメインまたはサブドメイン内に存在する可能性のある潜在的な脆弱性に関する貴重な洞察を得て、これらのリスクを軽減するための対策を講じることができます。この種の分析は、不適切に構成された、または放棄されたサービスから生じる可能性のあるセキュリティ問題を特定し対処するために不可欠です。

セキュリティ研究者の@edoverflowがすべてのサービスとそのフィンガープリントをリストアップしています。詳細は https://github.com/EdOverflow/can-i-take-over-xyz をご覧ください。