【OSINT】追跡調査のチートシート
最終更新 2023/11/06 22:15
4. Webサイトの調査
5. Twitter(X)の調査
9. Skypeアカウントの調査
OSINT(オープン・ソース・インテリジェンス)は、合法的に入手できる資料を調べて突き合わせ、特定のターゲットについて調査する手法のことを言います。
本記事は、OSINTによって効率的かつ安全で信用性の高い情報収集を行うためのマニュアル、いわゆるチートシートです。
無論、全ての内容について、自己責任が原則ですので、ご注意ください。
1. 攻撃者の秘匿
OSINTによってターゲットを調査する場合、OSINTを行う側(攻撃者と言います。以下同じ)はその正体を隠し、自らを秘匿しなければ、逆にトラッキングされてしまう可能性があります。
そのため、最低限追跡防止にTorや追跡できないVPNを利用しましょう。
理想はTailsでほぼ完全に匿名化を行うことですが、Torを利用できない環境にある場合、独自に防弾VPSをセットアップしてSquidを構築することも有効な選択肢の一つです。
Torの利用方法
Torはアメリカ海軍調査研究所を発端としてスタートしたプロジェクトで、Torを利用すると匿名性を確保しながらWebサイトを閲覧することができます。
具体的には、Torはある種の多重プロキシで、クライアント端末とサーバー端末の間にノードと呼ばれるプロキシを複数経由させることによって、通信元の情報を秘匿する機能を持ちます。
Torのプログラムは以下の公式サイトから入手できます。
Tor Project | Anonymity Online
ただし、iOS版は公式からリリースされておらず、匿名化が不十分である可能性があるため、利用を控えることを推奨します。
また、プロキシを構成できない環境においては、Tor2Webを利用して通常のブラウザからTorに接続する方法もあります。
匿名電話番号の入手方法
最近、各種SNSやメジャーなフリーメーラーなどでは、スパム防止のためにSMS認証(電話番号認証)が求められるようになりました。
一般に、電話番号は契約時に情報を提供しなければならないため、匿名性が低下する要因となり得ます。
そこで、匿名で使い捨ての電話番号を購入することができるサービス「5sim」をご紹介させていただきます。
Online SMS verification service | Receive SMS online
このサービスでは、利用対象のサービスと電話番号の地域を選択するだけで、簡単に使い捨ての電話番号を購入できます。
どの電話番号も相場は10円~200円程度で、自動的に安価なオペレーターが選択されるのが特徴です。
また、アカウント登録は匿名で行えるうえ、料金支払いが仮想通貨で行えるため、私はいつも重宝しています。
2. 倫理の問題
OSINTはあくまでも合法的に公開情報を収集する行為に過ぎませんが、深入りしたり、攻撃しすぎてしまうと倫理的な問題や法律に抵触する危険性があります。
OSINTを行うにあたっては、必ず以下の内容を確認して下さい。
無条件に行える行為
通常の範囲における公開情報の調査:
SNSやブログにおいて、一般に公開されている投稿を調査/監視するなど。
技術的に公開されている情報の調査:
APIによってメタデータを閲覧したり、HTTPやメールのヘッダーを調べるなど。
倫理的に避けるべき行為
本人に影響を及ぼす情報の調査:
本人と関わる第三者に接触して、情報を聞き出すなど。
犯罪の一歩手前の行為:
許可されていないサーバーへのペネトレーションテストなど。
法律的に行ってはならない行為
触法行為:
サーバーに対するDoS攻撃や不正アクセス行為、フィッシングなど。
脅迫による調査:
相手を脅して情報を開示させるなど。
3. 検索エンジンの利用と応用
本章では、OSINTの本質とも言える「検索」を扱います。
検索エンジン一覧
インターネット利用者の多くはGoogleなどの著名な検索エンジンを利用しますが、それ以外にも多くの検索エンジンが存在し、それぞれに利点と欠点があります。
ここでは、幾つかの検索エンジンを紹介させて頂きます。
言わずと知れた、プライバシー特化の検索エンジンです。ただし、過去に不祥事を起こしたこともあるため、Torなどを経由して利用されることを推奨します。
画像から検索できます。Googleのアルゴリズムが搭載されているため、精度が高いです。ただし、Torなどでアクセスするとロボット扱いされることがあります。
何かと嫌われがちなBingですが、個人的には「Googleには表示されない、ほとんど知名度のないページ」までインデックスされているように感じます。
特殊なクエリの発行
検索エンジンには、「高度な検索」と呼ばれる特殊クエリ機能が搭載されています。例えば、Googleなら以下のページから行えます。
また、このページを利用しなくても、「二重引用符で囲った文字列は必ず含まれる」「文字列の先頭にマイナス記号を付けると、それを含まない記事のみに絞られる」などのショートカットが用意されています。
Sherlockによる複数サイトの同時検索
特定のスクリーンネーム(ユーザー名)を持つアカウントを、大量のSNSから簡単に検索を行える「Sherlock」というプログラムがあります。
sherlock-project/sherlock - GitHub
Python3で動作するため、基本的にはコマンドライン操作となりますが、以下のように複数のサービスを網羅的に検索できます。
4. Webサイトの調査
特定のWebサイトについてOSINTを行い、情報収集をしたい場合には、大まかに分けて以下の5つを行うことができます。
・(前提)Webアーカイブの作成
・ソースコードや利用している外部スクリプトの調査
・ドメイン名のWhois照会
・DNSレコードやIPアドレスについての調査
・SSL/TLS証明書の調査
Webアーカイブの作成
Webサイトはその性質上、サーバー管理者がサイトを消去しようと思えば簡単に運営を終了することができ、以降追跡調査が行えなくなる可能性があります。
そこで、Webサイトについて調査する場合、後から参照できるようにまずWebアーカイブ(魚拓)を作成する必要があります。
Webサイトのアーカイブ作成が行えるサイトには、以下のようなものがあります。
Weyback Machineは20年以上前から運営されている著名なWebアーカイバーです。また、Archive.todayは削除請求を一切受け付けないという、とても厄介な素晴らしいWebアーカイバーです。
最後のDarkWeb Archiveは、名前の通りクリアネットだけでなくOnionサイトも記録することができるアーカイバーで、私が中学生の時に開発したものです。
ソースコードや利用している外部スクリプトの調査
HTMLのソースコードは、通常のPCブラウザなら「右クリック→ページのソース表示」や「Ctrl + C」で閲覧できますが、スマホをお使いの場合には外部のWebサービスを利用して閲覧しましょう。
HTMLのソースコードは圧縮されていたり、自動生成されていることが多いので、プログラムを理解する目的で閲覧されることはお勧めしません。
直接ソースコードを見る目的は、「埋め込まれたトークンを調べるため」と「HTMLコメントを閲覧するため」に留めましょう。
前者については、例えばGoogleのアドセンスIDやアナリティクスIDが該当します。当サイト(note.activetk.jp)のソースコードには、以下のようなスクリプトタグが含まれています。
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V1CPYP07HP"></script>
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag("js",new Date());gtag("config","G-V1CPYP07HP");</script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2939270978924591" crossorigin="anonymous"></script>
この3行から、当サイトでは「G-V1CPYP07HPというIDでGoogleアナリティクスを利用しており、またアドセンスIDはca-pub-2939270978924591である」という事を読み取ることができます。
これらのIDをShodanなどで検索することにより、管理者が他のドメインを運営していないかなどを調査することができます。
ただし、サービスによってはアカウントを共有している可能性もあるため、必ずしも管理者が一意に決まらないことにご注意下さい。
ドメイン名のWhois照会
Whoisとは、ドメイン名の登録者や登録事業者などに関する情報を誰でもインターネット上で参照できるサービスです。
Webサイトの管理者と連絡を取りたい場合や、ドメインの登録を行った事業者を特定したい場合などに利用できます。
Whois照会は原則としてドメインごとのレジストラーに対して行います。例えば、「.jp」のドメインはJPRSが管理していますので、Whois照会は同社のサイトから行えます。
このようなサイトを発見するのは一見複雑そうに見えますが、Google先生に「jp whois」などと聞く事で、容易にドメイン管理団体のサイトを発見する事ができます。
また、以前「ドメインを入力するだけで自動的に管理団体を特定して、whois情報を入手できるツール」を作成しましたので、良ろしければお使い下さい(宣伝)。
上記のツールを利用すると、以下のようにWhois情報を取得できます。
DNSレコードやIPアドレスについての調査
インターネット上でサービスを提供するには、サーバーが必要であり、必然的にアクセスを受け入れるためのIPアドレスが存在します。
このIPアドレスは、一般にAレコードなどと呼ばれますが、ここではDNSレコード全般を調査できるサービスをご紹介させて頂きます。
DNSdumpster.com - dns recon and research, find and lookup dns records
こちらのサイトでは、ドメイン入力すると自動でレコードの一覧やIPアドレスの地域のマップ表示などを行ってくれます。
また、取得できたIPアドレスの詳細は、6.b IPinfo.ioの利用方法で説明する手法により、更に詳細を調査することができます。
SSL/TLS証明書の調査
Webサイトをhttps通信に対応させるためには、SSL/TLS証明書が必須です。
Webサイトとの通信にhttpsを利用しているかどうかは、ブラウザのアドレスバーに有効な鍵マークが存在するかどうかで判別できます。
ところで、このSSL/TLS証明書には三種類の信用度が存在し、EV証明書と呼ばれる証明書がその頂点に位置します。
上位二種類の証明書では取得にあたって企業の実在証明が必要であるため、そこからサイトを運営している企業を特定することができます。
また、ワイルドカードを使用しない証明書の場合、証明の対象となるサブドメインが列挙されているため、そこから非公開のドメインを知ることができる可能性があります。
SSL/TLS証明書の検索は、以下のサイトから行えます。または、sslscanというプログラムからローカルで調査することもできます。
5. Twitter(X)の調査
本章はTwitterのOSINTについて扱い、以下の7つの手法についてそれぞれ解説させて頂きます。
・高度な検索
・画像の撮影場所特定
・FF(相互フォロー)の調査
・内部IDやスクリーンネーム履歴の調査
・ツイート(ポスト)のログ作成方法
・鍵アカウントの調査
・位置情報付きツイート(ポスト)の検索
高度な検索
Twitterには、高度な検索と呼ばれる機能が備わっており、「20以上のいいねが付いたツイート」や「1年以上前のツイート」などのクエリを発行できます。
詳しく解説している記事がありますので、ここでは詳細を扱いませんが、例えば以下のような検索が可能です。
・特定のアカウント(@example)のツイートのみ表示: 「from:@example」
・特定のアカウント(@example)あてのツイートのみ表示: 「to:@example」
・指定した年月日からのツイートを検索: 「since:yyyy-mm-dd」
・指定した年月日までツイートを検索: 「until:yyyy-mm-dd」
画像の撮影場所特定
画像の撮影場所を特定する方法は、「メタデータによるもの」と「固有名詞によるもの」に分類することができます。
そもそもメタデータとは、画像の撮影時に自動的に撮影時刻やGPS情報が記録される機能(あるいはそれによって記録されたデータ)のことです。
Twitterでは、画像を投稿すると自動的にEXIFのメタデータが削除されますが、外部のファイルアップローダーなどに画像がアップロードされていた場合には削除されていない可能性が高いです。
そのような場合、以下のサービスからEXIF情報を取得できます。
そして「固有名詞によるもの」は、その名の通り画像に映り込んだ日本語や英単語などを元にGoogle Mapsなどで検索を行う手法です。
飲食店の名前や道路の名称などが映り込んでいればそのまま特定できますが、それ以外にもマンホールから場所を割り出す方法などがあります。
FF(相互フォロー)の調査
TwitterのFFアカウントには、一部現実世界の友達、いわゆる"リア友"が含まれている可能性があります。
そのため、アカウントのFFのうち、自らの出身学校や最寄り駅を公開しているユーザーが居れば、参考にしましょう。
ただし、この方法は確証性がかなり低いため、あまり頼るべきではありません。また、リア友と思われる人物を発見したとしても、直接DMを送る行為は倫理的にアウトです(2.b 倫理的に避けるべき行為を参照)。
内部IDやスクリーンネーム履歴の調査
Twitterには、スクリーンネーム(@から始まるID)の他に、内部IDと呼ばれるアカウントに一意の数字が割り当てられています。
例えば、私のスクリーンネームは@ActiveTK5929ですが、内部IDは1271252049653465089です。
そのため、例えターゲットがスクリーンネームを変更したとしても、内部IDは変更できないため、追跡することができます。
Twitterの内部IDとスクリーンネームを相互変換できるサイトや手法は幾つかありますので、調べてみて下さい。
ツイート(ポスト)のログ作成方法
ターゲットがツイートやアカウント本体を削除しようとしている場合、以下のようなサービスでログを作成することができます。
Twitter ログ保存サイト 「ツイログ」 | 総合サービス ツイログ
ログを作成しておくことによって、削除された後もツイートを閲覧できます。
鍵アカウントの調査
鍵アカウントはその性質上、フォロワー以外の第三者からツイートを閲覧することができません。
このようなアカウントを調査する場合、以下の手法が有効です。
・アカウントが公開されていた頃のアーカイブを探す:
web.archive.orgのようなサービスでアカウントのURLを検索し、アカウントが公開状態の時のWebアーカイブが残っていないか確認します。
・アカウントに対してリプを行っているユーザーの公開ツイートを元に、ターゲットのツイート内容を推測する:
鍵アカウントのツイートが非表示であっても、鍵アカウントのツイートに対してリプ(返信)を行っている公開ユーザーのツイートは閲覧することができます。
そこから鍵アカウントにおけるツイート内容を、ある程度は推測することができます。
位置情報付きツイート(ポスト)の検索
Twitterには、ツイートに位置情報を付属させる機能があります。
この機能を過去に一度でも利用したことがあれば、そのツイートを行った位置を取得することができます。
具体的には、以下のサービスからそのようなツイートがないか検索できます。
Twitterの位置情報チェッカー (ツイートの場所を確認)
6. IPアドレスの調査
IPアドレスによる追跡調査は、そもそもIPアドレスが動的なものであるため、信頼できるソースではありません。それでも、以下のようなツールからIPアドレスを取得したり、そこからある程度の地域を絞り込むことができます。
位置情報特定ツール v2
位置情報特定ツール v2は、私が開発したリンク追跡ツールです。
生成したURLに第三者をアクセスさせることによって、IPアドレスやユーザーエージェント、許可すればGPS情報などを取得することができます。
IPinfo.ioの利用方法
IPinfo.ioは、IPアドレスからホスト名やプロバイダ、そしてある程度の地域を特定することができる無料のサービスです。
「https://ipinfo.io/」の後にIPアドレス(1.1.1.1など)を加えてアクセスすることで、IPアドレスの詳細情報が表示されます。
例えば、1.1.1.1というIPアドレスの詳細を知りたい場合、https://ipinfo.io/1.1.1.1にアクセスして下さい。
以下のように、マップも表示されます。
7. メールアドレスの調査
この章では、メールアドレスから詳細情報を取得する方法を解説させて頂きます。
SEON
SEONは、メールアドレスが特定のサービスに登録されているかどうかを確認できるサービスです。
これにより、例えば[email protected]というメールアドレスがTwitterとDiscordに登録されている、といったことを調べることができます。
have i been pwned
have i been pwnedは、メールアドレスが過去に流失したことがあるかどうかを調査することができるサービスです。
以下のURLからアクセスすることができます。
Have I Been Pwned: Check if your email has been compromised in a data breach
GHunt
GHuntは、Gmailアドレスからアカウント名やプロフィール画像のURLなどを取得できるプログラムです。
そもそも、Google LLCが提供する無料のメールサービス「Gmail」は、世界規模で利用されており、2019年10月時点で15億人のユーザーがいます。
ところで、実はGmailアドレスに登録した情報の一部(名前やプロフ画像、マップへの書き込み履歴など)は、公開情報となっており、メールを送信したりしなくても第三者から閲覧できてしまいます。
しかし、このことを多くのユーザーは知らないため、意図せずGmailアドレスに登録してしまった本名が公開されていることがあります。そこで、GHuntを使うことによって、Gmailアドレスから公開情報を収集することができます。
GHuntオープンソースで開発が行われており、以下のURLからソースコードにアクセスできます。
mxrch/GHunt: 🕵️♂️ Offensive Google framework.
また、私はWeb上でGHuntが実行できるサービスを運営していますので、よろしければこちらをご利用下さい。
上記のサイトにアクセスすると、以下のような画面が表示されます。表示後、テキストボックスに調査したいGmailアドレスを入力して、「取得」を押します。
すると、下記のように名前やプロフィール画像、Google Mapsに書き込んだ履歴や公開カレンダーの情報が閲覧できます。
.d8888b. 888 888 888
d88P Y88b 888 888 888
888 888 888 888 888
888 8888888888 888 888 88888b. 888888
888 88888 888 888 888 888 888 "88b 888
888 888 888 888 888 888 888 888 888
Y88b d88P 888 888 Y88b 888 888 888 Y88b.
"Y8888P88 888 888 "Y88888 888 888 "Y888 v2
By: mxrch (🐦 @mxrchreborn)
Support my work on GitHub Sponsors ! 💖
[+] Authenticated !
🙋 Google Account data
Name : Gmailに登録された名前
プロフィール画像とカバー画像のURL
Last profile edit : プロフィールを最後に変更した日時
Email : メールアドレス
Gaia ID : 内部ID
User types :
- アカウントの種類
📞 Google Chat Extended Data
Google Chatのユーザー情報
🌐 Google Plus Extended Data
Entreprise User : False
🎮 Play Games data
プレイしているゲームに関する情報
🗺️ Maps data
Google Mapsに書き込んだ履歴
🗓️ Calendar data
公開カレンダーの情報
これらの情報は全てユーザーが自ら公開した情報を集めているに過ぎませんので、取得に違法性はありません。
8. 電話番号の調査
電話番号は、一般的に取得する際身分証明が必要であり、多くの個人情報とリンクしています。
以下のようなサービスを用いることで、電話番号から住所などの情報を収集することができます。
住所でポン!
とても有名なサービスですが、無料版だとデータが古いため、精度はいまいちです。
日本、電話番号検索
電話番号の詳細を閲覧でき、更にフォーラム機能があるため、誰かが書き込んだ「電話番号についての口コミ」を調べることができます。
9. Skypeアカウントの調査
Skypeについて、詳細に調査できるOSINTサービスがあります。
MostwantedHF
MostwantedHFを利用すると、SkypeのIDから様々な情報が取得できます。ターゲットとの連絡手段にSkypeを用いている場合には、かなり有効です。
最後に
本記事では、OSINTによって効率的かつ安全で信用性の高い情報収集を行うための手法をまとめさせて頂きました。
インターネット上に大量の情報が交錯する今、OSINTはある種の"サイバー攻撃の手段"となっています。
無論、本記事内の内容は自己責任が原則ですので、ご注意ください。
最後までご覧頂き有難うございました。