Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RVCTF2022の問14の復習

meow
September 28, 2022

 RVCTF2022の問14の復習

2022/09/27(火)に 第23回 初心者のためのセキュリティ勉強会 で発表したスライドです。

https://sfb.connpass.com/event/259696/

meow

September 28, 2022
Tweet

More Decks by meow

Other Decks in Technology

Transcript

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

    View full-size slide

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

    View full-size slide

  3. 問題(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を探すのを⼿伝って
    いただけますか。クレデン
    シャルは下記です(後略)

    View full-size slide

  4. 問題(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が何を指すか不明
    ・クレデンシャルが与えられている
    だけで、どこを調査すればいいかの
    情報が皆無。
    → 探索空間が絞れず泥沼にハマり
    やすい問題

    View full-size slide

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

    View full-size slide

  6. [補⾜]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を⾒てみよう」という発想ができなかった

    View full-size slide

  7. 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サービスに対して
    エクスプロイトを⾏いフラグを取得する

    View full-size slide

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

    View full-size slide

  9. 個⼈的な疑問点[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
    どなたかご存知の⽅がいらっしゃいましたら、ご教⽰いただけますと幸いです

    View full-size slide

  10. 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を⾒つけたよ
    うだ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  15. 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限定ではないので注意。

    View full-size slide

  16. 参考⽂献
    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

    View full-size slide

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

    View full-size slide