Tahoo!!

自分の勉強していること(コンピュータ関連 / ネットワーク / セキュリティ / サーバ)や趣味について書いていきます

setodaNote CTF Writeup (OSINT)

この記事はsetodaNote CTF OSINTジャンルのWriteupです。

tkys_with_love (30pts, 392solves)

コールサイン C6DF6の乗り物を特定せよという問題。乗り物の英語の正式名所を flag{} で囲んだものがFLAG。

C6DF6ググるだけ。

f:id:takahoyo:20210908010102p:plain

flag{Symphony_of_the_Seas}

Dorks (50pts, 362solves)

以下のような問題。

あなたは組織が所有するドメインに関係するサイトの中で login.php が不用意に公開されていないかを Google を使って確認するように依頼を受けました。login.php が利用されているかどうかは、ある5文字の検索演算子をひとつ使えば調査することができそうです。Googlelogin.php を URL に含むページを検索するための検索語句を検索演算子を含めてすべて小文字 でフラグ形式にして答えてください。例えばファイルタイプを限定する filetype の検索演算子pdf を検索するための検索語句を答える場合は flag{filetype:pdf} となります。

"Google Dorks" 等で調べるといろいろ出てくる。

URLに特定のページが含まれるかを確認するのは inurl:

flag{inurl:login.php}

filters_op (50pts, 378solves)

以下のような問題

Twitter アカウント @cas_nisc が2017年5月15日にツイートした注意喚起に付与されている英字のハッシュタグをフラグ形式で答えてください。例えば付与されていたのが「#HashTag」であればフラグは flag{#HashTag} となります。

"Twitter 検索 クエリ" 等で調べるといろいろ出てくる。

https://so-zou.jp/web-app/tech/web-api/twitter/search/search-query.htm

特定のユーザの指定は from:、開始日は since: 、終了日は until: なので、以下のキーワードでTwitter検索する。

from:cas_nisc since:2017-05-15 until:2017-05-16

https://twitter.com/search?q=from%3Acas_nisc%20since%3A2017-05-15%20until%3A2017-05-16&src=typed_query

すると、以下のTwitterが見つかる

FLAG

flag{#WannaCrypt}

MAC (50pts, 345solves)

以下のような問題。

友人が簡単な暗号を作ったから意見を聞かせてほしいと言ってきました。公開情報に基づき解くことができるといいます。あなたは暗号文を解いてみることにしました。

00:03:93 = A 00:01:A9 = B 04:2A:E2 = C

上記の通り変換されるとき、以下の文字列はどうなるか。

flag{2C:C2:60_FC:EC:DA_00:02:B3_AC:44:F2_FC:4E:A4}

暗号文を解きフラグを得てください。

MACアドレスの上位3bytesは各ベンダに割り当てられていることを利用した暗号。ググれば、どのベンダがどのMACアドレスを使っているかは出てくる。

例の 00:03:93Apple00:01:A9BMW04:2A:E2Ciscoなので、各ベンダのイニシャルに変換すれば良い。

FLAG

flag{O_U_I_Y_A}

tkys_eyes_only (50pts, 227solves)

以下の画像から、所在地に最も関係する組織名を特定せよという問題。

f:id:takahoyo:20210908010621j:plain

URLバーを見ると、?lat=40.749444&lon=-73.968056 となっており、緯度経度の情報がわかる。

Google Mapを使うと緯度経度の情報から場所を調べることができる。調べると国連本部だった。

f:id:takahoyo:20210908010641j:plain

国連の英語名の名称のUnited_Nations を入れるとFLAGだった。

flag{United_Nations}

MITRE (100pts, 236solves)

T1495T1152T1155T1144 T1130T1518 flag{T1170T1118T1099T1496T1212_T1531T1080T1127T1020T1081T1208_T1112T1098T1199T1159T1183T1220_T1111T1147T1220} という文字列を解読せよという問題。

問題名がMITERだし、どこからどう見ても MITER ATT&CKの Technique ID。

最初は本家サイトで調べていたが、現在はrenameされているものもないものもあった。日本語化サイト の方だと情報が少し古かったので、全部調べることができた。

  • T1495 Firmware Corruption
  • T1152 Launchctl
  • T1155 AppleScript
  • T1144 Gatekeeper Bypass

  • T1130 Install Root Certificate

  • T1518 Software Discovery

  • flag{

  • T1170 Mshta
  • T1118 InstallUtil
  • T1099 Timestomp
  • T1496 Resource Hijacking
  • T1212 Exploitation for Credential Access
  • _
  • T1531 Account Access Removal
  • T1080 Taint Shared Content
  • T1127 Trusted Developer Utilities Proxy Execution
  • T1020 Automated Exfiltration
  • T1081 Credentials In Files
  • T1208 Kerberoasting
  • _
  • T1112 Modify Registry
  • T1098 Account Manipulation
  • T1199 Trusted Relationship
  • T1159 Launch Agent
  • T1183 Image File Execution Options Injection
  • T1220 XSL Script Processing
  • _
  • T1111 Two-Factor Authentication Interception
  • T1147 Hidden Users.Hidden Users.
  • T1220 XSL Script Processing
  • }

各Techniqueのイニシャルを取るとFLAGになる。

flag{MITRE_ATTACK_MATLIX_THX}

Ropeway (120pts, 285solves)

以下の写真から乗ってるロープウェイの名称を特定せよ。という問題。

f:id:takahoyo:20210908011032j:plain

観覧車がある、海の上ぽい?ので、"海 観覧車 ロープウェイ" でググって、画像の検索結果を見る。

f:id:takahoyo:20210908011043j:plain

かんざじロープウェイぽい。と思って、submitしたら正解だった。(海の上じゃなくて湖の上だった…

flag{kanzanji}

N-th prime(200pts, 41solves)

72057594037927936 番目の素数を求める問題。72057594037927936で検索すると 256 。キリが良い…

n番目の素数を求めるサイトを調べると、多くのサイトが1010番目までで、一番知られられる範囲が広い https://primes.utm.edu/nthprime/ でも1012までなので無理。

こうなると、何か特殊な素数素数リストがあるのかなと思い、"72057594037927936 th prime" とかでググるが何も出ない。

2,3日くらいわからん…わからん…と悩みながらいろいろ調べていると、OEIS(The On-Line Encyclopedia of Integer Sequences)に10n番目の素数リストがあることを見つける。

https://oeis.org/A006988

72057594037927936 = 256なので、もしかして2n番目の素数リストもあるのでは?と考えた。

OEISは数列での検索ができるので、2n番目の素数の最初の5個くらいを https://primes.utm.edu/nthprime/ で調べて、2n番目の素数の数列を作る。

2^0=1番目  -> 2
2^1=2番目  -> 3
2^2=4番目  -> 7
2^3=8番目  -> 19
2^4=16番目 -> 53

よって、数列は 2 3 7 19 53 となる。

この数列でOEISで検索するとビンゴ。

f:id:takahoyo:20210908011523p:plain

"Table of n, a(n) for n = 0..78" のリンクをクリックすると、278番目の素数までのリストが表示され、もちろん256番目もある。 https://oeis.org/A033844/b033844.txt

0 2
1 3
2 7
3 19
4 53
...
56 2991614170035124397
...

FLAG

flag{2991614170035124397}

identify_the_source (250pts, 67solves)

以下のような問題。

組織はある攻撃者グループの動向を調査しています。あなたは旧知の情報提供者からその攻撃者グループが攻撃に利用しようとしているというファイルを入手することに成功しました。情報提供者はファイルの配布元URLの情報も持っているようですが、そちらの情報を入手するためには高額な対価が必要となりそうです。あなたが自由にできる予算は限られています。巧みな話術でどうやらあるマルウェア解析サイトから取得した情報であるようだというところまでは聞き出せました。組織はあなたに配布元URLを特定し、攻撃を未然に防ぐとともに攻撃者グループに関する重要な情報が含まれていないか調査するよう指示を出しました。

添付されたファイルを解析して関連する配布URLを特定、調査し、フラグを入手してください。

問題ファイルは、謎のバイナリファイル。

問題文に該当ファイルが、"マルウェア解析サイトから取得した情報" と書いてあるので、Virus Totalで該当ファイルを検索するためにハッシュ値を取得する。

$ sha256sum tsuru
64f10be20a97f7d25fd23d48e563cc391c54882c97d1c232832ea6beb61ca1da  tsuru

このハッシュ値でVirus Totalで検索をかけて見るが、特に有益な情報はなし。

https://www.virustotal.com/gui/file/64f10be20a97f7d25fd23d48e563cc391c54882c97d1c232832ea6beb61ca1da/details

他に思い当たる "マルウェア解析サイト" といえば any.runが思いついたので、any.runで上記のハッシュ値を検索してみる。

f:id:takahoyo:20210908011655p:plain

すると、2021/07/15にとあるURL https://yrsuccessesareunheraldedyrfailuresaretrumpeted.setodanote.net/tsuru に設置されているファイルを検査している。

https://app.any.run/tasks/50ac34a0-c4e1-41b8-bd1f-29ec76f7164b/

https://yrsuccessesareunheraldedyrfailuresaretrumpeted.setodanote.net/ にアクセスすると NO DATA と表示されるが、ソースコードをよく見ると、The flag is no longer here. と書いてある。

f:id:takahoyo:20210908011710p:plain

ということは、インターネットアーカイブサイトに保存されているのでは?と考えて、WayBack Machineで検索すると、いくつかアーカイブが取られていた。

https://web.archive.org/web/*/https://yrsuccessesareunheraldedyrfailuresaretrumpeted.setodanote.net/

f:id:takahoyo:20210908011800p:plain

ソースコードに書いてあった 1626307200 Unix Timestampで、変換すると 2021年7月15日 00:00:00 GMT。ということは、この時間の直前の07月14日 16:21:01 GMTのアーカイブ を見れば何かあるかなと思い、ソースコードを見てるとコメントにFLAGが書いてあったあった。

f:id:takahoyo:20210908011902p:plain

flag{No_one_cares_the_bomb_that_didn't_go_off}

なお、Twitterにも書きましたが、VirusTotalやAnyrunなどのオンライン解析サービスは、使用のリスクを意識して使用した方がいいですね。

Security Oepration (300pts, 39solves)

以下のような問題。

あなたと同僚は敵対組織が秘密裏に進めているオペレーションの調査を命じられました。

「どうやら事を起こそうとしているようだ。」

調査開始からしばらく経った頃、同僚からある画像が届きました。それはかなり不鮮明だったものの、どこかの Web ページを写したと思われる画像データでした。詳細を確認しようと同僚と連絡をとろうとしましたが返信はなく、同僚からの連絡はそれを最後に途絶えてしまいました。画像の Web ページを調査し敵対組織が秘密裏に進めているオペレーションを明らかにしなければ。

添付されたファイルを解析し、フラグを得てください。

問題ファイルは以下の画像。この画像からWebページを調査し、敵対組織が秘密裏に勧めているオペレーションを明らかにせよ、という問題。

f:id:takahoyo:20210908012247j:plain

まず画像に書かれているURL https://green-pond-97ff.setodanote.net/ にアクセスしてみる。自分が現在アクセスに使用しているIPアドレスから国や地域、タイムゾーンを表示しているようだった。

f:id:takahoyo:20210912131540p:plain

問題ファイルの画像では国がロシアになっていたので、アクセス元をロシアにすると問題ファイルの画像と同じ条件になるのでは?と考えた。アクセス元を変える方法はいくつかあるが、今回はTorBrowserを使用し出口ノードをロシアに固定する方法を採用した。

出口ノードの固定は、Torの設定ファイルである torrc に以下の設定を追記する。

ExitNodes {ru}
StrictNodes 1

参考: https://web.archive.org/web/20180328074444/http://www.b3rn3d.com/blog/2014/03/05/tor-country-codes/

Kali LinuxでaptでTorBrowserをインストールした場合、TorBrowserのtorrc/home/kali/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrcにある。

この設定を追記してTorBrowserで先程のサイトへアクセスすると、以下のように表示が変わる。

f:id:takahoyo:20210908012329p:plain

これで隠れていた敵対組織のメンバー?のTwitterアカウントとLink先がわかった。

Link先は https://billowing-poetry-3254.setodanote.net 。アクセスすると認証がかかっていて先に進めない。

残りの手がかりはTwitterアカウントくらいなのでこれを見ていく。

f:id:takahoyo:20210908012350p:plain

Twitterのアカウントはいくつかツイートをしてるが、特に手がかりとなるツイートは見つからなかった。

あとは何か埋め込むとしたら画像かなと思い、アップロードされている画像をダウンロードしてGoogle画像検索などで元の画像を調べていると、ほとんどが他所で公開されているJPEGのサンプル画像だったが、最初のツイートの画像だけオリジナルのPNGの画像だった。

f:id:takahoyo:20210908012402p:plain

ここに何か埋まっているかなと思い、画像ファイルをバイナリエディタで見ているとZIPファイルぽいデータが埋まっていた。

f:id:takahoyo:20210908012519p:plain

ZIPのシグネチャからフッタまでデータを抜き出してみたが、うまくZIPファイルとして開くことができなかった。しかし、ZIPの格納されているPNGファイルは無圧縮のようだったので、PNGシグネチャ (89 50 4E 47 ..)から一番近いイメージ終端(.. 49 45 4E 44 AE 42 60 82)までをバイナリエディタで抜き出して、拡張子の .png をつけてファイルを保存。

画像ビューアで開くと以下のようにユーザ名とパスワードが書かれた画像が得られた。

f:id:takahoyo:20210908012529p:plain

これで認証ページの認証情報が、User名はBio(Twitterのプロフィール文)に書いてあるので J.S、Passwordは right_next_to_you であるとわかる。

この認証情報でページにログインすると、FLAGが表示される。

f:id:takahoyo:20210908012539p:plain

flag{=we_can_change_tomorrow=}

PNGからPNGを抜き出すのをひらめくのはエスパーだろ~と思ってたけど、この事についてツイートしてる人がいてちゃんと敵対組織のメンバー?のTwitterアカウントでもfavってた。