PR 本記事には広告(Amazonアソシエイト・もしもアフィリエイト・A8.net等)が含まれます。掲載情報の正確性には努めていますが、商品の詳細は必ずリンク先で最新情報をご確認ください。

【画像OSINT編】写真から場所と時刻を当てるGeolocationの作法|CTF思考フレームワーク #69

【画像OSINT編】写真から場所と時刻を当てるGeolocationの作法|CTF思考フレームワーク #69 アイキャッチ画像
安全に生きたい編集部

広告・PRを含みます。この記事にはアフィリエイトリンクが含まれます。掲載内容は編集方針に基づいて作成していますが、価格・在庫・キャンペーン内容はリンク先で最新情報を確認してください。

写真から場所を特定するって、影とか看板とか見るんだよね?📷

それも一部です。EXIF メタデータ、建物の特徴、植物の生育、天気、影の方向、人々の服装、看板の言語、車のナンバープレート、車両通行方向――数十の手がかりを組み合わせて、ピンポイントで場所を当てる Geolocation の技術です。

画像 Geolocation は、Bellingcat や OSINT コミュニティで磨かれてきた技術。EXIF データ(投稿先の処理に頼らず、公開前に自分で位置情報を削除する)、影の方向と時刻から緯度推定、建物・植物・看板の照合――Geoguessr のような訓練ツールもあり、世界的なコミュニティが発達しています。

写真から緯度まで特定できるんだ…SNS投稿、気をつけよう。

この記事は、CTF思考フレームワーク第69回。画像 Geolocation の作法と代表的ツール(Google Earth・Mapillary・OpenStreetMap・SunCalc)、Bellingcat の事例研究、自分の投稿写真から漏れる情報のチェック方法を整理します。

📖 この記事はシリーズの一部です
CTF思考フレームワーク#69 / 全86記事 → シリーズ一覧を見る →

🗺️ 1枚の写真から「ここは渋谷スクランブル交差点の北東角・午後3時頃」と当てる。GeoGuessrの腕がそのままOSINTに転用できるジャンルで、CTFのMisc / OSINTで人気です。

画像ジオロケーションの三本柱:①メタデータ(EXIF GPS)、②地形・建築・看板(visual cue)、③太陽角度・影(時間と緯度)。複数手がかりを掛け合わせて精度を上げます。

難易度:★★☆(中級)

写真から場所と時刻を当てるGeolocationの作法🗺️

画像OSINTは「写真の中の小さな手がかり」から場所と時刻を当てる職人芸🗺️

この記事で出てくる言葉

先に意味を押さえておくと読みやすい用語です。

  • CTF: セキュリティの練習問題を解く競技。必ず許可された環境だけで試します。
  • OSINT: 公開されている情報だけを集めて分析する調査手法です。
  • 脆弱性: ソフトや仕組みにある弱点。攻撃者に悪用されると不正アクセスにつながります。

👀 観察フェーズ:まず何を見る?

写真を見たらEXIF・背景・植生・標識・建物・影の6要素を順に観察🔍

画像を渡されたらまずEXIF確認、次に画像内の固有要素を全部リストアップ。看板の言語、車両ナンバー、植生、空の色、影の向き、建物のスタイル。

  • EXIF(GPS座標、撮影時刻、カメラ機種)
  • 看板・標識の言語・書体
  • 建築様式(屋根の形、外装材)
  • 植生(樹種、季節指標)
  • 車両ナンバープレート、運転席位置
  • 太陽角度・影の方向(時刻+緯度ヒント)

EXIF: GPS・撮影日時・カメラ機種。背景: 標識・看板の言語、植物の種類、空の色、電線、車のナンバー…👀

GeoGuessrで磨かれた「世界の風景識別力」がそのまま使えるんだね💡

🤔 仮説フェーズ:攻撃者は何を考える?

画像OSINTの4視点。

🕶️ 攻撃者・調査者は「EXIFが残っていれば一発、無くても他の手がかりで地域を絞り、Google Earth / Street Viewで虚像合わせ」と段階的に攻めます。Yandexのreverse searchが景色画像で強く、Google Lensは建物・看板の文字読み取りに優秀。

📍 仮説①:EXIFメタデータ

GPS情報があれば一発。exiftoolで全フィールドを抽出。SNS投稿時に自動削除されることも。

🌳 仮説②:背景・植生・建物

ヤシの木があれば暖地、針葉樹なら寒地。建物の様式から地域を絞る。

🚗 仮説③:標識・ナンバープレート・看板

言語・フォント・色から国を特定。道路標識のデザインは国ごとに違う。

🌞 仮説④:太陽・影

影の長さと方向から緯度と撮影時刻を逆算。SunCalc等のツール。

画像1枚に想像以上の情報が埋まってるんだね😲

🔬 検証フェーズ:どうやって確かめる?

ツール: exiftool / Google Lens / Yandex / SunCalc / Mapillary。Mapillaryは現地ストリートビュー的に使える🧪

まずEXIFをexiftoolで全項目チェック。GPSがなければ、画像の特徴的部分をクロップしてYandex / Google Imagesにかける。建物名や店舗名が読めればSNSの位置情報投稿と突合。

# EXIF全項目
exiftool image.jpg

# GPS座標があれば一発
# 緯度経度をGoogle Mapsに貼る

# 太陽角度から時刻・緯度推定
# SunCalc.org(影の長さと方向で時刻特定)

# 画像クロップ → reverse search
# 看板部分のみ切り取って Yandex Images へ

CTFのGeolocation問は「太陽の角度+建物の向き+看板の言語」の組合せが定番だね💡

⚔️ 攻撃フェーズ:実際の手口

Geolocation実践3手法。

ジオロケーション手順例:①EXIF、②画像全体reverse、③特徴部分クロップreverse、④地域言語特定、⑤Street Viewで虚像合わせ、⑥SNSの位置情報投稿との突合、⑦時刻推定(影・太陽)。

# 画像クロップで特徴抽出(Python)
from PIL import Image
img = Image.open('photo.jpg')
crop = img.crop((100, 100, 400, 300))  # 看板部分
crop.save('sign.jpg')
# → sign.jpg を Yandex / Google Lens にかける

# Mapillary / KartaView:第三者撮影の地図画像
# Google Earth Pro:歴史画像(時系列で地形変化)

Bellingcatの「ジオロケーション・チャレンジ」ブログは学習に最適。実際のシリア紛争画像の特定プロセスが公開されており、技術と倫理を同時に学べます🌐

① EXIF確認(最初に必ず)

exiftool image.jpgGPS・撮影日時。SNS投稿で除去されてる場合のみ次へ。

② Mapillary/Google Earthでマッチ

特徴的な建物・橋・看板をストリートビュー巡回で特定。膨大な作業だが確実。

③ SunCalcで時刻確定

影の方向と長さから撮影日時を分単位で逆算。場所が分かれば時刻も逆算可。

🛡️ 防御フェーズ:どう守る?

画像OSINT対策の3鉄則!

個人としては「投稿前にEXIF除去」「自宅から○km圏内の写真は遅らせて投稿」「子供の制服や学校名が映らないよう注意」など、日常の小さな配慮で漏洩を大きく減らせます。

  • SNS側の処理に依存せず、投稿前にEXIF・位置情報を自分で削除する
  • スマホ撮影時のGPSタグを用途別に切替
  • 位置投稿は遅延させる(リアルタイム禁止)
  • 自宅・職場・学校の特定要素(玄関・制服)を映さない
  • 会社の社用画像はメタデータ除去ポリシー
  • 配信ストリーマー:背景とウィンドウ反射に注意
🧹 EXIFは投稿前に必ず削除

スマホ写真にはGPS・機種・撮影日時が埋まる。ScrubExif等で除去。

🪞 背景に映り込む情報を意識

住所が分かる看板・郵便受け・車のナンバーを写さない。鏡や窓の反射も。

🌐 SNSの自動位置情報無効

端末やSNSアプリの位置情報付与設定を確認し、不要なら無効化。

「写真は語る、想像以上に」。1枚の油断が住所バレに繋がる💪

🧪 OSINT専用の使い捨て環境

OSINT調査を「される側」にしないためにも、調査ボックスを分けるのがプロの作法です。💻 ConoHa VPSならコマンドひとつで使い捨ての調査環境を作れ、安全な環境を用意できます。

PR / 広告

ConoHa VPS

※ 上記は他社サービスへのリンクです。購入は各自でご判断ください。

⚠️ よくある落とし穴

  1. EXIFを「ない」と判断する前にRAWファイルや別解析ツールを試さない
  2. 看板の言語+文字を読まずに国を推定
  3. reverse searchで類似画像と一致画像を混同
  4. 太陽角度推定で「南半球」を考慮し忘れる
  5. タイムスタンプのタイムゾーンを間違える
  6. Street Viewの古い画像と最新を見比べず誤判定

🧰 ツール早見表

ツール用途備考
exiftoolメタデータCLI標準
Yandex Imagesreverse search景色・建物に強い
Google Lens看板文字読取スマホ連携
SunCalc.org太陽位置計算影から時刻推定
Mapillary / KartaView第三者撮影地図Street View代替

🎓 本気で学びたい人へ

OSINTや脅威インテリを職業として目指したい方へ。🎓 ササエルはセキュリティ・インフラを体系的に学べるスクールです。

PR / 広告

ササエル

📚 もっと深く学びたい人へ

体系的に攻撃と防御の両面を学びたいなら『ホワイトハッカー入門 第2版』が分かりやすい入口です📚

📚 次に読みたい

✍️ 学んだことを発信する

調査レポートやノウハウをブログでまとめるならConoHa WINGが手軽です。

PR / 広告

ConoHa WING

⚖️ 大事なお約束

必ず守ってね

この記事の手法は、必ず自分の環境か、許可されたCTF・脆弱性報奨金プログラム(HackerOne、Bugcrowd等)で試してください。他人のサービスに無断で攻撃を仕掛けるのは不正アクセス禁止法違反、立派な犯罪です。学んだ知識は守る側で活かしましょう🤝

この記事は合法な学習・防御目的での解説です。許可のないシステムへの攻撃は犯罪になります(不正アクセス禁止法ほか)。検証は必ず自分が管理する環境・CTF・公式ハンズオンで行ってください🙏

記事URLをコピーしました