Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ProtOSINT — ProtOSINTは、Proton Mailアカウントの調査を支援するPythonスクリプトです。 | Kitploit
ツール/GitHubGitHub/pixelbubble/protosint
OSINT (オープンソースインテリジェンス)偵察情報収集メール収集
GitHubpixelbubble/protosint

ProtOSINT

ProtOSINTは、Proton Mailアカウントの調査を支援するPythonスクリプトです。

リポジトリを見る
4176211ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

ProtOSINT

ProtOSINT は、Proton Mail アカウントの調査を支援する Python スクリプトです。

protosint (1)

バージョン

これは ProtOSINT v2 です。初版は数年前からありましたが、Proton の API が変更され、古いチェックが機能しなくなったため、ツールを復活させるための書き直しです。その間もこの種の調査を続けてくれた NeutrOSINT に感謝します。

説明

このツールは、Proton Mail の OSINT 作業(教育目的および許可された目的のみ)を対象としています。メールアドレス、ユーザー名、ドメインを指定すると、そのアドレスが実際に存在するか、アカウントの暗号鍵が作成された日時、使用されているアルゴリズム、カスタムドメインが Proton でホストされているかなど、見つけられる情報を教えてくれます。

4 つのモジュールがあります。

  • [1] 1 つの Proton メールをチェック:存在するかどうか、鍵の作成日とタイプ。
  • [2] ユーザー名をすべての Proton ドメイン(protonmail.com、protonmail.ch、pm.me、proton.me)で列挙します。
  • [3] ドメインが Proton Mail を使用しているかどうかをチェックします(MX レコード経由で、鍵サーバーと相互確認)。
  • [4] 実際にログインした Proton セッションを通じて、アドレスのリストを一括検証します。

仕組み(およびその理由)

Proton はアカウントの列挙を意図的に困難にしており、単純なチェックでは偽の情報を返します。ProtOSINT は、3 つの情報源を組み合わせ、適切なものを信頼することでこの問題に対処しています。

鍵サーバーは存在しないアドレスについて嘘をつきます。 Proton の公開鍵サーバー(pks/lookup)は、Proton ドメイン上のあらゆるアドレスに対して、存在するかどうかにかかわらず、偽の「デコイ」鍵(架空の作成日を含む)を返します。したがって、「有効な鍵+適切な日付」はアドレスが存在する証拠にはなりません。鍵サーバーは依然として有用ですが、存在が確認済みのアドレスの実際の鍵の日付を読み取る場合に限ります。

アカウント API は改善されていますが、完璧ではありません。 Proton のアカウント API(/users/available)は、ユーザー名が利用可能かどうかを教えてくれます。ほとんどの場合正しいですが、ユーザー名をチェックするのであって特定のアドレスではありません。そのため、境界ケースでは誤る可能性があります。[email protected] は、その .ch アドレスが作成されていないにもかかわらず、「使用中」と見えることがあります。

唯一完全に信頼できるチェックは、Proton 自身の作成ウィンドウです。 「To」フィールドにアドレスを入力すると、Proton はそれを検証し、メールボックスが存在しない場合は赤でフラグを立てます。ProtOSINT は Selenium を使用してそれを駆動できます。Proton アカウントにログインし、新しいメッセージを開き、アドレスを入力して、Proton が受け入れるか拒否するかを読み取ります。これが信頼できる答えであり、Selenium がオンになっている場合(デフォルトでオン)にモジュール 1、2、4 が使用する方法です。

カスタムドメインは DNS でチェックされます。 example.com のようなドメインの場合、実際の問題はメールがどこにルーティングされるかです。MX レコードが Proton(mail.protonmail.ch / mailsec.protonmail.ch)を指している場合、そのドメインは Proton Mail 上にあります。モジュール 3 は MX レコードを読み取り、鍵サーバーと相互確認します。

必要条件

  • Python 3(3.7 以降)
  • requirements.txt 内の Python パッケージ(requests、selenium)
  • Selenium チェック用のブラウザ(Chrome/Chromium または Firefox)

インストール

リポジトリをクローンし、Python の依存関係をインストールします。

root@kitploit:~
git clone https://github.com/pixelbubble/ProtOSINT.git
cd ProtOSINT
python3 -m venv venv
source venv/bin/activate          # Windows: venv\Scripts\activate
pip install -r requirements.txt

Selenium チェック用にブラウザもインストールする必要があります。Selenium は対応するドライバを自動でダウンロードするため、別途 chromedriver/geckodriver をインストールする必要はありません。

Debian / Ubuntu / Kali:

root@kitploit:~
wget -O /tmp/chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt update
sudo apt install -y /tmp/chrome.deb
# 代替: sudo apt install -y chromium   (または: firefox-esr)

macOS(Homebrew):

root@kitploit:~
brew install --cask google-chrome  # または: brew install --cask firefox

Windows: Chrome または Firefox を公式サイトから通常通りインストールします。

root で実行している場合(Kali では一般的)?Chrome では起動時に --no-sandbox フラグが必要です。ProtOSINT は既に設定しているので、何もする必要はありません。

設定

スクリプトを初めて実行すると、その横に config.json ファイルが作成されます。

root@kitploit:~
{
  "proton": {
    "username": "",
    "password": ""
  },
  "settings": {
    "use_selenium": true,
    "headless": true
  }
}
  • use_selenium(true/false)は、モジュール 1、2、4 で Selenium の作成チェック(信頼性の高い方法)を使用します。false に設定すると、より高速なアカウント API にフォールバックします。
  • headless(true/false)は、ブラウザをバックグラウンドで実行し、ウィンドウがポップアップしないようにします。2FA や CAPTCHA がないアカウントでのみ true に設定してください。ウィンドウが非表示の状態ではこれらを解決できないためです。ブラウザを表示する必要がある場合は false に設定します。
  • username / password は Proton のログイン情報です。記入することも、空のままにしてスクリプトの起動時に入力を求めることもできます。パスワードを空のままにしておくと、ディスクに書き込まれることがなく安全です。ファイルに認証情報を記入する場合は、コミットしないでください(既に .gitignore に含まれています)。

セッション中にブラウザを閉じた場合、次にブラウザが必要なチェックが行われたときに、自動的に再開してログインし直します。

使い方

root@kitploit:~
python3 protosint.py

メニューからモジュールを選択し、指示に従います。q で終了します(ブラウザが開いていた場合は閉じます)。

Proton Mail 調査のヒント

Proton Mail は大文字小文字を区別しません

アカウント名は大文字小文字を区別せず、Proton は .、_、- を透過的に扱います。+ 以降のものも無視されます。したがって、以下はすべて [email protected] と同じアカウントです。

  • [email protected]
  • [email protected]
  • [email protected]
  • [email protected]

これらはすべて同じ鍵とタイムスタンプを共有します。

タイムスタンプは鍵の日付であり、必ずしもアカウントの日付ではありません

ProtOSINT が表示する日付は、アカウントのプライマリ PGP 鍵が作成された日時です。これは必ずしもアカウントが作成された日時と同じではありません。

例 1 - 対象が鍵に全く触れていない場合。 この場合、鍵の日付は実際のアカウント作成日です。

  • 2021-01-12: アカウント [email protected] が作成される
  • 2021-01-15: ProtOSINT は 2021-01-12 と報告

例 2 - 対象が鍵を再生成した場合。 この場合、日付はアカウントではなく新しい鍵を反映します。

  • 2021-01-12: アカウント [email protected] が作成される
  • 2021-01-13: 対象が設定 → 暗号化鍵で新しい鍵を生成
  • 2021-01-15: ProtOSINT は 2021-01-13 と報告(2021-01-12 ではない)

暗号化鍵

ProtOSINT はアカウントが使用する鍵の種類を表示します。鍵サーバーがプライマリ鍵について報告するものは次のいずれかです。

  • Curve25519 - 最新の ECC(Ed25519 署名鍵)。新しいアカウントではデフォルトで、最速かつ最も安全です。
  • RSA 2048 - 2021 年より前に作成されたアカウントの古いデフォルト。
  • RSA 4096 - より強力ですが遅く、通常は互換性のために鍵をインポートした場合に見られます。

一部の鍵では X25519、Ed25519、または RSA 3072 が表示されることもあります。これらはすべて鍵の OpenPGP アルゴリズム ID から直接読み取られます。

カスタムドメイン

有料の Proton プランでは、独自のドメインを追加できます。[email protected] が Proton に解決される場合(モジュール 1 または 3)、対象は有料の Proton プランを使用しています。モジュール 3 はドメインの MX レコードからこれを確認します。これは最も信頼性の高いシグナルです。

レート制限

Proton は鍵サーバー(エラー 2028)とアカウント API(HTTP 429)の両方にレート制限を課しています。正確な制限は文書化されておらず、変動するようです。ブロックされた場合は、しばらく待つか、別の IP から再実行してください。Selenium 方式は通常のログイン済みセッションを使用するため、これらの制限の影響を受けません。

貢献

プロジェクトを自由にフォークしてください。大きな変更については、最初に issue を開いて話し合ってください。

Selenium モジュールは Proton のウェブアプリを読み取るため、Proton がページを変更した場合、selenium_login() および selenium_check_emails() のセレクタを少し更新する必要があるかもしれません。ブラウザチェックが機能しなくなった場合、最初に確認すべき場所です。

ライセンス

MIT

ツールをダウンロード