Overview
このルームでは、ソーシャルメディア分析やフォレンジックを学びます。Google Dorking、ウェブサイトのアーカイブ、ソーシャルメディアの列挙・分析、そしてソーシャルメディア調査の文脈における基本的なOSINT手法について習得できます。OSINTの事前知識は不要ですが、あると理解が深まります。
前提条件
-
批判的思考
-
ラビットホール(深掘り)を楽しむ姿勢
-
Googleの基本的な理解
-
Python 3.7 以上
このルームを完了するとできること
ルームを終えたとき、ソーシャルメディアを通じて情報を収集するためのツールや手法を使いこなし、文脈に基づいた質問に答えられるようになります。目的は、このカテゴリのCTFチャレンジや実際の調査に備えることです。
ツールについて
このルームに登場するツールはすべて必須ではありません。理論的にはウェブブラウザと手法だけで必要な情報を得られます。ただし、本ルームで紹介されるツールを使うと、初心者にとって取り組みやすくなります。
フラグ形式
一部の問題ではフラグ形式で回答する必要があります。
本ルームのフラグ形式は ks{flag} です。大文字小文字は区別されませんが、正確に綴る必要があります(コピー&ペースト推奨)。
Story
背景情報
あなたは Aleks Juulut、グリーンランドを拠点とする私立探偵です。普段はデジタル調査を専門にしているわけではありませんが、最近 OSINT 技術を学んだことで、その分野の仕事が格段にやりやすくなりました。
そんなあなたのもとに、謎めいた人物「H」と名乗る依頼人から新たな調査依頼が舞い込みます。対象は Thomas Straussman という浮気が疑われている男性です。
彼の妻である Francesca Hodgerint と短い電話を交わしたところ、最近彼の行動が怪しいと感じているものの、具体的に何をしているのかは分からないとのこと。彼女はあなたに調査を依頼し、わかったことを報告してほしいと望んでいます。
しかし残念ながら、あなたは現在家族の事情で国外におり、調査の締め切りまでにグリーンランドへ戻ることができません。したがって、この調査はすべてデジタルで行う必要があります。
グッドラック!
Answer the questions below
Who hired you?
ks{H}
Who are you investigating? (ks{firstname lastname})
ks{thomas straussman}
Let's get started!!
前提条件
-
忍耐力、好奇心、ラビットホールを掘る情熱。
-
Firefox、Chrome、または Chromium 系ブラウザ(筆者は Brave を推奨)。
わくわくしますね!Thomas の知人への聞き取りから、彼がよく使う推測しやすいハンドルネームが tstraussman
であることが分かりました。このハンドルを手掛かりにソーシャルメディアアカウントを探し、調査を始めます。
ソーシャルメディアから情報を見つける全体的な流れは、まず「ソーシャルメディアのアカウント自体を見つける」ことから始まります。名前やメールアドレスからアカウントを発見する作業は 列挙(enumeration) と呼ばれ、通常は CLI ツールやスクリプトで自動化されますが、Google ドーキング(Google dorking)でも似た効果が得られます。Google dorking のルームはこのタスクに取り組む前の良い読み物で、便利なチートシートも含まれています。
注意事項(Disclaimer)
事前に断っておきますが、このルームで対象となるアカウントが見つかるのは Twitter(現X) と Reddit のみ です。範囲外に調査を広げないでください。範囲外を追うと行き止まりに当たるだけでなく、本CTFに関係のないアカウントを覗き見ることになってしまいます。
本ルームでは受動的(パッシブ) に情報を収集することを基本とし、アカウントと直接やり取り(投稿への反応やメッセージ送信など)は行いません。CTF 用に作成されたサックパペット(sockpuppet:演習用アカウント)以外のアカウントに対して行った行為について、作者は責任を負いません。
Answer the questions below
What is Thomas' favorite holiday?
Christmas
What is Thomas' birth date?
12-20-1990 ※激ムズ
What is Thomas' fiancee's Twitter handle?
@FHodgelink ※回答不可!?
What is Thomas' background picture of?
Buddha
Spider... what?
必要なもの
-
Python 3
まず最初に、最新の Python 3 をダウンロードしてインストールしていることを確認してください。続いてこちらの手順に従って最新の SpiderFoot(執筆時点で v3.3) をインストールしてください。
インストールが正しく終わったら、以下のコマンドで起動します。
ブラウザで http://localhost:5001
にアクセスすると、Web インターフェースが開きます。
スキャンの開始
-
「New Scan」をクリック。
-
Scan Target フィールドに
Thomas Straussman
またはtstraussman
を入力。 -
By Use Case は All にチェックを入れる。
-
Run を押してスキャンを開始。
結果を見て、Twitter や Reddit に関係ないもの(=ノイズ)をフィルタして**誤検出(false positives)**を取り除いてください。
-
Twitter アカウントで
shadowban.eu
に飛ぶような結果が見つかったら、そのリンクをクリックして詳しく確認します。 -
もし Twitter 関連の結果が何も出ない場合は、
Settings
→Account Finder
に移動して、画面で強調表示されているオプションを False に設定してください(※該当オプションはユーザー名検索のスコープやフィルタに関連する設定です)。
アカウント確認の次のステップ
アカウントが存在するかを確認したら、該当ユーザー名で直接 Twitter 検索を行うか、ブラウザで https://twitter.com/[username]
にアクセスして該当アカウントを確認します(例:https://twitter.com/tstraussman
)。
Answer the questions below
What was the source module used to find these accounts?
sfp_accounts ※回答不可!?
Check the shadowban API. What is the value of "search"?
ks{1346173539712380929} ※回答不可!?
Connections, connections..
Thomas の Reddit と Twitter アカウントが見つかったら、いろいろ面白いことができるようになります!
まず、ブラウザにリバースイメージ検索の拡張を入れておくことを検討してください。筆者のお気に入りは RevEye で、いくつかの優れたリバース検索エンジンを選べるか、複数同時に使うことができます。
(Chrome / Firefox 両対応)
ソーシャルから探したい主要な情報タイプ
-
建物や看板、記念碑、ランドマークなど、明確な識別子を含む場所の画像(IMINT / GEOMINT の目的)。
-
被写体の顔がはっきり写った画像(リバースイメージ検索で他アカウントや情報源を見つけるため)。
-
被写体が複数人で写っている写真(家族写真や友人グループなど、関係性や文脈を示す手がかり)。
-
プロフィールの自己紹介欄やプロファイルに書かれた個人情報(出身地、現在の居住地、出身校など)。
-
行動や習慣が分かる投稿(喫煙するか/飲酒するか/よく行くバーはあるか/特定の場所へよくバケーションに行くか等)。こうした情報は捜査に役立ちます。
ピボット(軸移動)
Thomas の Twitter から有益な情報を得られたら、婚約者(fiancée)のアカウントへピボットして調査を広げてください。婚約者や家族・友人のアカウントは、追加の手がかり(集合写真、居住地、行動パターンなど)を持っていることが多いです。
どんな個人情報が見つかりますか?
-
公開プロフィールに書かれている情報(職業、居住地、リンクなど)
-
投稿や写真から推測できる位置情報や行動パターン
-
友人・家族関係(タグ付けやコメント)
-
画像の背景から判別できる施設・看板・ランドマーク
ヒント(フラグ詰まったとき)
最初のフラグで詰まったら、次の2点を検討してください。
-
風景や場所の画像をリバースイメージ検索すれば、場所が特定できる可能性が高いです。
-
ウェブページのソースを確認する(
Ctrl
+Shift
+C
で要素を選択 → 画像をクリック)と、画像に埋め込まれたメタデータや参照先が見つかることがあります。
Answer the questions below
Where did Thomas and his fiancee vacation to?
Koblenz, Germany
When is Francesca's Mother's birthday? (without the year)
December 25th
What is the name of their cat?
Gotank
What show does Francesca like to watch?
90 Day Fiancee ※回答不可!?(不具合!?)
Turn back the clock!!
Thomas と Francesca の Twitter から情報を集めたので、次は別のプラットフォーム Reddit に移ります。
この調査では、Reddit を次の 2 つの方法で利用します。
-
旧バージョン(http://old.reddit.com/)を Wayback Machine での調査に利用する
-
新バージョン(https://www.reddit.com/)をその他の用途で利用する(後ほど)
Wayback Machine の準備
まずはブラウザに Wayback Machine 拡張機能 を入れておきましょう(必須ではありませんが、あると格段に便利です)。
Reddit 旧サイトでの手順
-
Thomas のプロフィールページを old.reddit.com で開く。
-
ページ上で右クリック → Wayback Machine → All Versions を選択。
-
保存されているページの履歴カレンダーが表示されます。各保存バージョンをクリックして確認してみましょう。
→ 今回は 保存なし。特に不自然な点はありません。
誕生日投稿をチェック
次に Thomas の 誕生日投稿 へ移動し、同じ手順で最初に保存されたバージョンを確認します。
すると…… 発見!
Thomas の 同僚 らしき人物が登場します。これは新しいインテリジェンスの源です。
しかし、問題は…
その同僚から どれだけの情報を引き出せるか?
ここから先が次の調査ポイントになります。
Answer the questions below
What is the name of Thomas' coworker?
Hans Minik
Where does his coworker live?
Nuuk, Greenland
What is the paste ID for the link we found? (flag format)
ks{ww4ju}
Password for the next link? (flag format)
ks{1qaz2wsx}
What is the name of Thomas' mistress?
Emilia Moller
What is Thomas' Email address?
straussmanthom@mail.com
Resources
おめでとうございます!ここまで到達しましたね。ルーム完了後にぜひ試してほしい参考リソースをいくつか挙げておきます。
ほかの TryHackMe ルーム
さらに腕試しをしたいなら(CTF)