Slide 1

Slide 1 text

ReconVillage CTF2022の Challenge 14の復習 第23回 初⼼者のためのセキュリティ勉強会(オンライン開催) meow ( @meow_noisy) _ 2022/09/27(⽕)

Slide 2

Slide 2 text

はじめに u 概要 u ReconVillage CTF(@DEFCON30)で解けなかった問題の⼀つである 「Challenge 14」を復習する u おしながき u 問題(Challenge 14)について u write-up①の確認 u write-up②の確認 u write-upの理解 u まとめ

Slide 3

Slide 3 text

問題(Challenge 14)の問題⽂ u Our junior developer Henry Lopez cannot find his assets. u Can you help him please. His credentials are given below: u Username: henry.lopez u Password: sHTA$H@&sBjPG5 u 我が社の若⼿開発者Henry Lopezのassetsが⾒つかり ません。 u assetsを探すのを⼿伝って いただけますか。クレデン シャルは下記です(後略)

Slide 4

Slide 4 text

問題(Challenge 14)の難しいポイント u Our junior developer Henry Lopez cannot find his assets. u Can you help him please. His credentials are given below: u Username: henry.lopez u Password: sHTA$H@&sBjPG5 u 我が社の若⼿開発者Henry Lopezのassetsが⾒つかり ません。 u assetsを探すのを⼿伝って いただけますか。クレデン シャルは下記です(後略) ・assetsが何を指すか不明 ・クレデンシャルが与えられている だけで、どこを調査すればいいかの 情報が皆無。 → 探索空間が絞れず泥沼にハマり やすい問題

Slide 5

Slide 5 text

write-up①の確認 u pinjaにより共有された(感謝!)Challenge 14のwrite-upを確認 u 実は番号の若い問題(Challenge 12)と関係のある問題だった ようだ u Challenge 12でGithubリポジトリを⾒つけ、そこに記載されている URLを⼿がかりにするらしい u 我々のチームはChallenge 12のリポジトリを⾒つけられず、そもそも ⼟俵に⽴てなかった Challenge 12で⾒つけるべきリポジトリ。サービスのURLが書かれている。

Slide 6

Slide 6 text

[補⾜]Challenge12の問題⽂ u We at CryptoRama are very concerned about sharing sensitive information to the outside world and even on the inside. u We use secret sharing services. u But looks like someone has been manipulating our secrets application and hindering our progress. u Can you please check. u CryptoRama社では、機微情 報を外部に共有してしまうこ とを懸念しています。 u 我々は秘密情報を共有する サービスを使います。 u しかし、誰かが我々のサービ スを操作して我々の進捗を妨 げているようです u 確認していただけますか。 ※この問題⽂から「Githubを⾒てみよう」という発想ができなかった

Slide 7

Slide 7 text

write-up①の確認 https://github.com/luminjp/osintctf_writeups/blob/main/Recon_Village_CTF_2022.md u pinjaのChallenge 14の解法に戻る u opensslコマンドでreadmeに書いてあるドメインのSSL証明書を確 認すると、 証明書チェーンにおいて“assets”という問題⽂通りの サブドメインが⾒つかるようだ u あとはassets.cryptorama.cloud が⽰す先のWebサービスに対して エクスプロイトを⾏いフラグを取得する

Slide 8

Slide 8 text

個⼈的な疑問点[1/2] https://github.com/luminjp/osintctf_writeups/blob/main/Recon_Village_CTF_2022.md u ネイキッドドメインに対して証明書チェーンを確認したら、 始点がサブドメインであることが疑問 u この状況を例えるならばconnpass.com に接続したつもりなのに、 sfb.connpass.comの証明書チェーンが出てくるようなもののよう な気がする

Slide 9

Slide 9 text

個⼈的な疑問点[2/2] u 仮説だが、同⼀IPで複数ドメインと紐付けているときにど の証明書をみればいいかわからなくなっている状態なので はないかと思う u 本来はservernameオプションで明⽰的に与える必要がある? u $ openssl s_client -servername mysite.co.uk -connect mysite.co.uk:443 u 参考: android - openssl s_client -connect defaulting to subdomain? u https://stackoverflow.com/questions/20823243/openssl-s- client-connect-defaulting-to-subdomain どなたかご存知の⽅がいらっしゃいましたら、ご教⽰いただけますと幸いです

Slide 10

Slide 10 text

write-up②の確認 u 別チームがChallenge 14について別解を共有(感謝!)してい たのでこちらも確認 u https://andrew.cloud/blog/dc30-writeup/ u ⽈く “… we looked at the certificate transparency logs, we saw that https://assets.cryptorama.cloud/ was a valid subdomain. ” u 証明書の透明性(CT)のログからサブドメインassetsを⾒つけたよ うだ

Slide 11

Slide 11 text

証明書の透明性(CT)のログ u 不正な証明書発⾏を検知する⽬的で、誰でもCTログを 確認可能 u crt.sh や Censysで証明書の発⾏履歴を確認可能 u 確かにassets.cryptorama.cloud が存在した

Slide 12

Slide 12 text

[備考]CTログの悪⽤可能性 u 今回の“assets” サブドメインのように、本来は秘密にして おきたいサブドメインがCTログを通して参照可能な状態と なっていることがある u 社内⽤SSLVPNサーバが⾒つかるかもしれない u 攻撃者はそこを起点に侵⼊を検討するかもしれない TryHackMe Passive Reconnaissance roomの問題より抜粋。 CTログにより、“remote”という少し匂うサブドメインがあることがわかる

Slide 13

Slide 13 text

余談 u xINT CTF2021でも 証明書ログを参照する問題が出た u 出題背景としては今回のようなRecon活動を模した問題 だったのかもしれない

Slide 14

Slide 14 text

まとめ u ReconVillage CTF2022のChallenge 14の復習を⾏った u 証明書の透明性ログの調査によるサブドメインの発⾒⽅法 について学んだ

Slide 15

Slide 15 text

10⽉のOSINT問のあるCTF u 10/22⼟(JST) TsukuCTF u 国産のOSINTカテゴリがメインの初⼼者向けCTF u https://fans.sechack365.com/ctf/TsukuCTF2022 u 参加費無料(のはず) u 10/29⼟(BST) Capture The Talent The Crowd Funded Capture The Flag u https://www.eventbrite.co.uk/e/capture-the-talent-the-crowd- funded-capture-the-flag-aka-ctttcfctf-tickets- 313023992187?aff=ebdsoporgprofile u 参加費20£ u ※OSINT限定ではないので注意。

Slide 16

Slide 16 text

参考⽂献 u Kawakatz著 (2021). 『ペネトレーションテストの教科 書』 データハウス出版 u やさしいopensslコマンドによるSSL証明書の確認⽅法 | Oji-Cloud u https://oji-cloud.net/2020/07/15/post-5114/ u Certificate Transparencyを知ろう 〜証明書の透明性とは 何か〜 u https://www.jnsa.org/seminar/pki-day/2016/data/1- 2_oosumi.pdf

Slide 17

Slide 17 text

ご清聴ありがとうございました @meow_noisy