setodaNoteCTF - Writeup (OSINT : secret_operation)
8/21(土) 21:00 JST~9/4(土) 21:00 JSTに開催されたsetodaNoteCTF に会社のチームで参加した。 他のチームメンバーの陰で解けた問題のWriteupを記載する。
OSINT
secret_operation
あなたと同僚は敵対組織が秘密裏に進めているオペレーションの調査を命じられました。 「どうやら事を起こそうとしているようだ。」 調査開始からしばらく経った頃、同僚からある画像が届きました。それはかなり不鮮明だったものの、どこかの Web ページを写したと思われる画像データでした。詳細を確認しようと同僚と連絡をとろうとしましたが返信はなく、同僚からの連絡はそれを最後に途絶えてしまいました。画像の Web ページを調査し敵対組織が秘密裏に進めているオペレーションを明らかにしなければ。 添付されたファイルを解析し、フラグを得てください。
添付ファイルの画像に記載された以下のURLへアクセスすると接続元の情報が表示される。
まずは添付ファイルの接続元が表示されるように偽装する必要があるようだ。
X-Forwarded-Forの指定によるアクセスではうまく偽装されないため、VPNかプロキシ経由であれば接続元が変更されることを確認した。今回は一時的にプロキシ経由でロシアのサンクト・ペテルブルグからつなげた。(OSのプロキシ設定と独立しているFirefoxのブラウザ設定のプロキシ設定を変更して確認すると便利かな~と思います。)
添付ファイルの画像と同じアクセス元でアクセスすることで得られた情報は3つになる。
①Twitterのアカウント
@aarron142857
②サイトのURL(basic認証が必要)
https://billowing-poetry-3254.setodanote.net
③ロシア語?のことわざ
Молодец против овец, а против молодца и сам овца.
②のbasic認証が必要なURLについてヒントになりそうなものがなく、ここで詰まった。(セキュリティツールのhydra?現実的ではなさそうだ...)
色々調べていくと問題のTwitterアカウントがいいねしている内容で以下のものがあった。画像ファイルにzipを組み込む記事。
I found a way to stuff up to ~3MB of data inside a PNG file on twitter. This is even better than my previous JPEG ICC technique, since the inserted data is contiguous.
— David Buchanan (@David3141593) 2021年3月17日
The source code is available in the ZIP/PNG file attached: pic.twitter.com/zEOl2zJYRC
投稿している画像を確認すると1番最初の画像だけpngで後はjpeg形式。
対象のpng画像を確認するとUserとパスワードが記載された画像が末尾に付与されていた。
画像の情報は②サイトのURLに入力するアカウント/パスワードになる。
CHECK MY BIO
はTwitterのJ.S
の記載が該当する。
②のサイトに得られたアカウントでログインすると以下の画面が表示される。
ユーザ名:J.S
パスワード:right_next_to_you
再度一時的にプロキシの設定を変更してロシアからのアクセスに偽装すると修正された部分のflagが見えた。
flag{=we_can_change_tomorrow=}
感想
・主催者様へ、素晴らしい大会を開催頂き有難うございました。
取り組みやすい問題が多く 非常に楽しかったです。