AVTOKYO 2022 Day1 Events Open xINT CTF writeup
はじめに
2022年10月29日のAVTOKYO 2022にて開催されたOpen xINT CTFに初参加してチーム順位3位(同率3位だったが解答時間の差で3位)になったので、writeupにて振り返り。
チーム構成
チーム名:SabaNoMisoni
チームメンバー:Sabamiso01→k4r45u, Kaito, noki
結果
3位(/164 teams: 224 users)※他2チームと同率3位
writeup
HUMAN: saitaku / 200pt
この商品を販売している会社の社長の名前をフルネームで答えよ。Who is the president of the company that sells these products?
Answer his full name.
解答者:Kaito(解法記載者:Kaito)
まず、画像をGoogle検索(もしくはSaitaku Sushi Kitで検索)。
"Saitaku Sushi Kit"の公式サイト(http://www.saitaku-food.com/home/)にたどり着く。
"CONTACT US"に情報はないかを探ると、
"
Address: Saitaku Ltd
Ethnic Distribution GmbH
6343 Rotkreuz
Switzerland
Contact Name: David Binns
"
という記載がある。とりあえず、David Binnsと入れてみるが、Incorrect。
Addressを手掛かりに、"Ethnic Distribution GmbH"をGoogle検索してみると、とあるサイトにたどり着く(https://www.moneyhouse.ch/de/company/ethnic-distribution-gmbh-4849057061)。
左リボンにある"Meldungen"(訳:メッセージ)を押すと、この会社の過去の登録情報が記載されている。
その中の人物名がFlag.(姓名の間の,を取って入力。)
HUMAN: ho ho ho / 300pt
これからの季節、欲しくなるものを展示・販売するこの会社。
大使館にも表敬訪問する同社には、あるギルド会員でチーズの専門家も。
その人の名前をフルネームかつ漢字で答えよ。Managers of this company that sells seasonal products actively engage in many fields.
Some have paid courtesy to an embassy, and one of them is an expert & a member of a cheese guild.
What is the name of the expert?
Answer in the full name in Kanji.
解答者:noki(解法記載者:noki)
タイトルの「ho ho ho」がサンタの笑い声を表す表現であることや、画像内に貼ってあるチラシに「サンタクロース」の文字やサンタの絵が見えることから、「サンタクロース」「薪ストーブ」で検索。
問題の写真と同じ場所で撮られた画像がヒットしたため場所を確認したところ、写真の場所が「フィンランドの森」であることが判明。
続いて問題文のチーズ専門家という表現から、「チーズ」「ギルド」で検索すると「ギルド・クラブ・ジャポン」という名称のチーズ専門家の集まる組織があることが分かったため、「フィンランドの森 チーズギルドジャポン」で検索するとpdf記事がヒット。
人物紹介にて以下の紹介文を見つけたため、この紹介文の対象者の名前を入力し正解。
「栃木県。チーズショップ勤務。那須高原にある「フィンランドの森」で国内外のチーズの商品管理、接客販売をする一方、・・・」
PLACE: spacious / 100pt
写真に写っている場所の名前を答えよ。What is the name of this place in the photo?
解答者:Kaito(解法記載者:Kaito)
1枚目の画像に写っている看板から「トヨタモビリティパ」までは正確に読める。一旦「トヨタモビリティパ」と検索すると、いくつか企業ロゴ画像が出てくる。出てきたロゴと写真内ロゴを比較すると、企業名は「トヨタモビリティパーツ」と特定できる。1枚目および2枚目の写真から、周囲には高いビルがあることがわかる。このことから地方エリアではなく都市規模のエリアと想定し、東京、大阪周辺に絞る。いったん東京で絞りGoogleMapで検索すると赤羽橋駅や白山駅に該当の企業があることがわかる。
撮影されている場所が公園・広場のため、周りに公園・広場があるかを虱潰しに見ていくと赤羽橋前の東京・山梨統括支社が写真と一致することがわかる。裏の芝公園からとられたものと分かるため、同じ画角になる場所まで移動し、広場の名前を入れるとCorrect.
※フラグ候補がある程度あり地味に大変だった、かつ当人が車好きで見た瞬間にTOYOTAモビリティだと勘違いしてTOYOTAモビリティばかり探していました・・・
PLACE: VIDEO / 100pt
動画の開始地点の座標を答えよ
フラグ形式: Nxx.xxxx Exxx.xxxx
※OneDriveのリンク先に該当動画ファイルありAnswer the coordinates of the start of the video.
FlagFormat: Nxx.xxxx Exxx.xxxx
解答者:noki(解法記載者:Sabamiso01)
動画を再生すると最後のほうに看板が写っていることがわかる。ぼやけてて見づらいが「君津」と読めなくもない(エスパー)。GoogleMapで該当場所のストリートビューを見ると見事一致。あとは座標を入れることで正解となる。
PLACE: BUS / 200pt
このバスの位置を求めよ
フラグ形式: Nxx.xxx Exxx.xxxAnswer the coordinates of this bus.
FlagFormat: Nxx.xxx Exxx.xxx
解答者:noki(解法記載者:noki)
画像から「ニッポンレンタカー」「AIRPORT」等の記載が読み取れるので、 「ニッポンレンタカー」「AIRPORT」で検索。画像の一覧から似たようなバスが確認できたためアクセスすると、北海道旭川旅行の内容を記した個人ブログがヒット。
空港正面に大きな駐車場があるが、画像のバスが止まっている駐車スペースには「レンタカー」と思われる文字が読み取れる。航空写真から文字が記載されている駐車スペースがないか調べたところ、空港の北西に「レンタカー」と文字が書かれた駐車スペースを確認(レルヒ中佐像のすぐ西側)。
この駐車スペースの位置情報を入力することで正解。
PLACE: BUS2 / 200pt
このバスの位置を求めよ
フラグ形式: Nxx.xxx Exxx.xxxAnswer the coordinates of this bus.
FlagFormat: Nxx.xxx Exxx.xxx
解答者:noki(解法記載者:noki)
画像奥のバスのナンバープレートの上に「ファミリー〇〇」の文字が見えるため、「ファミリーバス」で検索すると画像の一覧から同じバスがヒットし、岩手のバス会社であることが読み取れる。
・運行区間:花巻駅前~小田越
それぞれの駅名で場所を調べたところ、小田越が県道25号線上にあることが判明したため、小田越周辺をストリートビューで確認したところ、「小田越登山口」のすぐ西側にて画像に写っていた標識を発見したためその地点の位置情報を入力することで正解。
PLACE: 3month / 300pt
この建物の座標を求めよ。
フラグ形式: Nxx.xxx Exx.xxxAnswer the coordinates of this building.
FlagFormat: Nxx.xxx Exx.xxx
解答者:noki / アシスト:Sabamiso01(解法記載者:Sabamiso01)
該当の画像をSearch by Imageにて検索すると、ロシアやウクライナの記事が複数ヒットする。
キリル文字からは情報収集するのが困難なため、検索に引っかかった記事を虱潰しに閲覧し該当画像の周辺が移っているものを探す方向に進める。すると以下リンク先に医療センター開設時の動画がアップロードされていることがわかる。
動画の始めに上空からの映像があり、目立ったため物を基準に調査することができそうな雰囲気がある。
ここで以下部分の画像を切り取り、再度Search by Imageにて検索をかける。
少し精度を上げるために「mariupol」でand検索をかけると似たような画像が複数ヒットする。
Wikipediaから住所が特定できるため、あとは動画の画角とにらめっこしながら該当箇所をブルートフォースで探す。
ここでフラグが全然当たらずnoki氏にパスしたところすんなり解答。
PLACE: tank / 300pt
この場所の戦車の位置を求めよ。
フラグ形式: Nxx.xxxx Exx.xxxx
https://twitter.com/huruank/status/1352248366143574020Answer the coordinates of this tank.
FlagFormat: Nxx.xxxx Exx.xxxx
https://twitter.com/huruank/status/1352248366143574020
解答者:Kaito / アシスト:Sabamiso01(解法記載者:Kaito、Sabamiso01)
該当画像をSearch by Imageにて検索をかけると、同じ画像が複数ヒットする。
毎日新聞のサイト(https://mainichi.jp/articles/20211215/dde/007/030/030000c)や他サイトから
この写真はジョージアのツヒンバリという地域で撮影されたことが分かる。
この壁画のある建物を特定するために、該当画像以外の別角度でとられた画像がないかを検索。
この写真の撮影者は"Arkady Babchenko"氏であり、撮影者名で調べると、Flickrにアルバムがあった。
このアルバムから、戦車のある周りの環境が把握でき、建物の反対側は木が生えていることが分かる。
ここで、Sabamiso01氏が背景にある特徴的な壁画に絞ってSearch by Image し、観光記事にたどり着く。
場所の特定方法として、建物や周辺環境が把握できたため、GoogleMapとにらめっこでも良かったが、
観光記事の画像の中に、石碑がある。これを手掛かりに、さらに場所を絞り込んだ。まずは南オセチアの公的なサイトを検索すると以下のサイトにたどり着く。https://minjust-rso.org/
このサイト内の"すべての写真"(日本語翻訳後)のなかに、同じ石碑の写真がある。また、"すべての動画"(日本語翻訳後)を確認すると、地面のタイルや石碑などが登場し、この壁画の横にある建物は"南オセチア共和国司法省"と確定できる。
ここまで絞り込み、観光記事にある通りの記載を頼りにGoogleMapで同様の地形、そして石碑、地面タイルがないかを検索すると、場所が特定できる(N42.228 E43.964)。あとは、小数点以下4桁目を微調整して、Correct.
正直、Flagを出すために南オセチア共和国司法省まで絞り込む必要はない。
弊チームは競技中、座標の微調整に大変苦労していた。今回は、南オセチア共和国司法省と特定したことで「絶対にここだ、ここに違いない」という確たる自信を持つことでき、結果的にFlagをゲットできた。
PLACE: nice view / 300pt
この写真を撮影したポイントのplus code(7桁)を答えよ。Where did I take this photo?
Answer the plus code (7 digits).
解答者:noki(解法記載者:noki)
画像の奥に小さな島が見えるため、この島部分のみを切り取り画像検索を行ったところ「初島」であると推測。
初島の位置を検索すると伊豆半島の東の海に位置しており、島が見えてかつ写真が高地で取られていることを考慮して、Googleマップから初島のすぐ西側にある陸地に南北に連なる山脈沿いの施設を調べ写真を確認した。
すると、「伊豆スカイライン 多賀駐車場」で取られた写真の中に問題で提示された写真とほぼ同じ画像を発見したため、本施設のplus codeを入力し正解。
FOOD: happy birthday, yall / 200pt
今年、54歳の誕生日をラスベガスで祝ったシェフ。
そのとき同行した新人カメラマンの青年も、それから数ヶ月後に25歳の誕生日を迎えた。
素敵なバースデーケーキのプレゼントに喜ぶ青年だったが、もしかして当日撮影用に作った料理の方がお気に入りだったかも?
その料理の名前を正確に答えよ。A chef made a trip to Las Vegas to celebrate his 54th birthday this year.
A few months later, when a newly-joined camera crew had his 25th birthday, the chef surprised him with a beautiful birthday cake.
He also seemed to be happy with the dish they filmed that day.
What is the name of the dish?
Answer in the exact phrase.
解答者:noki(解法記載者:Sabamiso01)
問題文から特徴的な単語「Las Vegas」「54th」「birthday」「chef」に絞ってDuckDuckGoにて検索をする。
文字列検索や画像検索ではめぼしいものがなさそうだが、問題文から動画の可能性も視野に入れ動画検索結果を確認する。すると2つ目に何やら54thと書かれた動画が見つかる。
見つけた動画が問題文のシェフだと想定されることがわかる。
その後、問題文から「それから数か月後に」とあるので、シェフの動画一覧に対して「birthday」で検索をかけ、該当動画より後に投稿された動画を探す。すると3つの候補がヒットするため、その中に出てくる料理名を入力すれば正解となる。
※動画自体は長時間だがメニューはそこまで多くないため虱潰しにする。
NET: whois / 100pt
194.146.200.33 のAS番号を答えよ.
Answer the AS number for 194.146.200.33.
解答者:Kaito(解法記載者:Kaito)
このサイト(https://db-ip.com/)でIPアドレスを検索すると、当該AS番号がが入手できる。
(場所はロシア)
NET: SSID / 100pt
SSID:YKAMEのBSSIDを答えよ
Answer the BSSID of SSID:YKAME.
解答者:Sabamiso01(解法記載者:Sabamiso01)
SSID名が与えられているためWiGLEを利用して検索をかけるのが妥当な道筋と考えられる。
※アカウント登録は必須です。
View>Advanced Search から与えられているSSIDを入力し検索すると一件ヒットする。
おわりに
参加したメンバーの感想などなど。
k4r45u
初めてOSINTのみのCTFに参加した割には満足のいく結果になったのではないかなと。
チーム方針としてはバラバラに問題を解いていき、最低限の問題状況の管理をしながら進めました。
※最後のほうは問題管理せずに進めちゃってましたが・・・
問題に対してどういった筋道で進めてるのかを共有するのが、チームでやるうえでは大切なのかなと感じた次第です。あらぬ方向に行ってないかをお互いで確認できる状況がないと行き詰ってしまうかなと思いました。
私自身の正答率に関しては、ゴールが決められずメンバーへのパスに従事していた形になってしまいました。今後の課題の一つとして精進します。引き続きOSINT系のCTFには参加していきたいですね。
今回、声をかけて気兼ねなく声をかけたにもかかわらず、参加承諾をしてくれたメンバーのお二方には、とても感謝しております。またなんか出ましょ~
AVTOKYOの運営様やpinjaの皆様、Open xINT CTFの開催ありがとうございました。とても実りのある時間になりました。プレイヤーとして来年も開催されることを大いに期待して楽しみにしています笑
Kaito
OSINT系CTFには初参加でした(CTF歴1年弱)。以前からBell¿ngcatなど、"Open Source Investigation"の力は知っていて、OSINTには興味はあったので、参加しました。結果は、予想以上で、まさか3位とは思いもしませんでした。サイバーセキュリティに対するモチベーションがとても上がりました。
実際に取り組んでみて、改めてサイバーセキュリティにOSINTって重要だと思いました。「これ、お前だろ?」と突きつけられるわけですから、攻撃者からすると最悪な状況だなと・・・。(弊チームは攻撃者ではないのに、会社の人にやられたらしい・・・笑)。OSINT以外のCTFでも上位入賞目指せるように、日々鍛錬します。
noki
OSINT系のCTF参加は初めてだったので自信はあまりなかったが、思っていたよりも多くの問題に正解できたこともあり非常に楽しめた。自分は専門的な知識や経験はないがそれでも多くの問題が解けるということも分かったので、同じようなCTFがあればぜひ参加したいと思う。
Discussion