コラム セキュリティ

CN、サブドメインテイクオーバーされたってよ

こんにちは、ひろかずです。

タイトルは釣りです。

ある日、メールチェックしていたら社外に公開しているグループメールアドレス宛に「サブドメインテイクオーバーの問題」という件名のメールが届いていたので一筆書きます。

ちなみに、実際にサブドメインテイクオーバーはされていませんので、あしからず。

忙しい人向けの要約

  • 一言で言うと、Ethical Disclosureのメールが来ました。
  • サブドメインテイクオーバーの問題とされていますが、通知された内容はあまり正確ではなく、実際にはサブドメインテイクオーバーがされた状態ではありませんでした。
  • 直接的に企業から金品を巻き上げるような内容ではありませんでしたが、対応次第ではそういった事態に発展する可能性はあるかもしれません。
  • 慌てず騒がず落ち着いて確認しましょう。

Ethical Disclosureってなに?

  • セキュリティ専門家が、セキュリティテストを行う際に他のベンダーが運用する製品に脆弱性を見つけることがあります。
  • セキュリティコミュニティは、「倫理的な開示の概念」という原則に基づいて、ベンダーに対して脆弱性に対するパッチや対応の機会を提供するというものです。
  • この開示は、ベンダーに対して非公開で行われ、修正のための合理的な時間を提供します。修正されない場合は、脆弱性は公開され、他のセキュリティ専門家が製品の将来的な利用について、十分な情報に基づいて判断を下せるようになることも示唆しています。

何が起きたの?

外部に公開しているグループメールアドレスにこんなメールが届きました。

  • 企業が保有していそうなローカルパートを並べて、そのうちの一つにHITしたようです。
  • 差出人メールアドレスのメールドメインはそれっぽいのですが、CCにフリーメールアドレスが含まれていたのが少し引っかかります。
  • 変なリンクを踏まないように慎重に読んでみます。

ぱっと見の印象

タイトルは、「<ドメイン名>におけるサブドメイン乗っ取り問題の責任ある開示」とあります。

  • サブドメインテイクオーバーと言われて、ちょっと驚きました。

一行目には「IT/セキュリティ管理者にすぐに連絡して!」とあります。

  • 過剰に判断や行動を急がせる相手には慎重になれって、死んだじっちゃんが言っていたのを思い出します。

文中に大きく「サブドメインテイクオーバーPOC」ってありますね。

  • POC?タイトルとちょっと違うのでここも引っかかりました。ちょっとよくわからないですね。

対象とするサブドメインとDNSレコードはAレコードであること。そして対応するIPアドレスがひとつ掲載されていました。IPアドレスは、どこのクラウドプラットフォームのもので、該当するリージョンはここだよと書かれています。

  • クラウドプラットフォームとリージョンの情報が何の役に経つ情報なのだろう?どういう意図なんでしょうね?

また、メールの最後の方に、お礼を入金してくれてもいいんやで?と振込先情報が書かれています。

  • ふーん、なるほどね

サブドメインテイクオーバーってなに?

CDNサービスやWebサービスを利用するDNSレコード(CNAME, Aレコード)を利用終了後もそのままにしておくことで、第三者が同じCDNサービスの名前やIPアドレスを利用することで、ドメインの接続先を乗っ取ることができるという攻撃手法です。

詳しくは、JPRSの用語辞典を参照するとわかりやすいです。

調査してみる

鵜呑みにはできないので、まずは事実確認です。

当該のDNSレコードの存在確認をすると、レコード自体は存在するようです。

% dig sub.domain.name
中略
;; ANSWER SECTION:
sub.domain.name. 3600	IN	A	xx.xx.xx.xx
sub.domain.name. 3600	IN	A	yy.yy.yy.yy
sub.domain.name. 3600	IN	A	zz.zz.zz.zz

後略

次に、本当にテイクオーバーされているかの確認をしてみます。

検証用のスマホでアクセスしてみると、応答がありません。

  • いきなり変な画面が表示されて大変なことにはならなそうで、ひと安心です

念のために、curlでもアクセスしてみます

  • 応答ありませんね
% curl -v https://sub.domain.name
* Host sub.domain.name:443 was resolved.
* IPv6: (none)
* IPv4: xx.xx.xx.xx, yy.yy.yy.yy, zz.zz.zz.zz
*   Trying xx.xx.xx.xx:443...
* connect to xx.xx.xx.xx port 443 from 192.168.xx.xx port 62563 failed: Operation timed out
*   Trying yy.yy.yy.yy:443...
* connect to yy.yy.yy.yy port 443 from 192.168.xx.xx port 62576 failed: Operation timed out
*   Trying zz.zz.zz.zz:443...
* connect to zz.zz.zz.zz port 443 from 192.168.xx.xx port 62597 failed: Operation timed out
* Failed to connect to sub.domain.name port 443 after 225004 ms: Couldn't connect to server
* Closing connection
curl: (28) Failed to connect to sub.domain.name port 443 after 225004 ms: Couldn't connect to server

サブドメイン名から外部に公開されていた時期の可能性を考えました。Wayback Machineでチェックしてみます。

  • アーカイブされていないようですね。

社内限で利用されていた可能性がありますので、Slackを検索してみますとHitしました。

  • 用途は判りませんが、何らかの画像が見えるサービスだったようです。
  • 今は動いていない可能性が高そうですね。

Ethical Disclosureをどう判断したの?

  • IPアドレスの報告数が実態と違うので、少し雑な印象を受けました。
  • 外部から見ると、登録されているサブドメインに対して「接続先が存在しない」または「IP制限をされている」と見える状況ですが、「テイクオーバーされている」と言い切るのは早すぎる段階だと感じました。
    • 公開システムであると推測できる、かつ、アクセスできないサブドメイン名に対して機械的に送信している印象です。
  • 一方で、(攻撃を成功させる実現性はさておき)IPアドレスを取得できた場合、サブドメインテイクオーバーができる可能性が残っている状態と判断しました。
  • 結論としては、「当たらずとも、遠からず」です。

どう対応したの?

  • 現在は利用されていないドメインであることを社内で確認上で、当該サブドメインは削除しました。
  • 念のために、サブドメインの棚卸しを行いました。

おわりに

ひょっとしたら、明日、あなたのところに似たようなメールが届くかもしれません。
なにかの参考になれば幸いです。

今日はここまでです。
お疲れ様でした。

ひろかず

ビジネスで駆動する、ビジネスを加速する、実装・運用可能なセキュリティという文脈で、セキュリティエンジニアやってます。
主戦場のAWSに拘らず、広くチャレンジを続けています。
関連キーワード:PCIDSS、CSIRT(POC)、Deep Security、EDR、OSINT、Cysec、CISSP
個人ブログもご贔屓に:https://www.fnifni.net