Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/pixelbubble/protosint
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceCollecte d'InformationsCollecte d'Emails
GitHubpixelbubble/protosint

ProtOSINT

ProtOSINT est un script Python qui vous aide à enquêter sur les comptes Proton Mail.

Voir le dépôt
417621il y a 1 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ProtOSINT

ProtOSINT est un script Python qui vous aide à enquêter sur les comptes Proton Mail.

protosint (1)

Version

Il s'agit de ProtOSINT v2. La première version existait depuis quelques années, mais l'API de Proton a changé et les anciennes vérifications ont cessé de fonctionner, donc il s'agit d'une réécriture qui redonne vie à l'outil. Un grand merci à NeutrOSINT d'avoir maintenu ce type de recherche entre-temps.

Description

Cet outil est conçu pour le travail d'OSINT sur Proton Mail (utilisation éducative et autorisée uniquement). Vous lui donnez une adresse e-mail, un nom d'utilisateur ou un domaine, et il vous indique ce qu'il peut trouver : si l'adresse existe vraiment, quand la clé de chiffrement du compte a été créée, quel algorithme elle utilise, et si un domaine personnalisé est hébergé sur Proton.

Il comporte quatre modules :

  • [1] Vérifier un e-mail Proton : existe-t-il, et quelle est la date et le type de création de la clé.
  • [2] Énumérer un nom d'utilisateur sur tous les domaines Proton (protonmail.com, protonmail.ch, pm.me, proton.me).
  • [3] Vérifier si un domaine utilise Proton Mail (via ses enregistrements MX, recoupés avec le serveur de clés).
  • [4] Vérifier par lot une liste d'adresses via une session Proton réelle connectée.

Comment ça marche (et pourquoi)

Proton rend délibérément difficile l'énumération des comptes, donc une vérification naïve vous mentira. ProtOSINT contourne cela en combinant trois sources et en faisant confiance à la bonne pour le travail.

Le serveur de clés ment à propos des adresses inexistantes. Le serveur de clés publiques de Proton (pks/lookup) renvoie une fausse clé « leurre » - avec une date de création inventée - pour toute adresse sur un domaine Proton, qu'elle existe ou non. Donc une « clé valide + belle date » n'est pas une preuve que l'adresse existe. Le serveur de clés reste utile, mais uniquement pour lire la vraie date de clé d'une adresse dont vous avez déjà confirmé l'existence.

L'API de compte est meilleure, mais pas parfaite. L'API de compte de Proton (/users/available) vous indique si un nom d'utilisateur est libre. Elle a raison la plupart du temps, mais elle vérifie le nom d'utilisateur, pas l'adresse spécifique, donc elle peut se tromper dans des cas limites - [email protected] peut sembler « pris » même si cette adresse .ch n'a jamais été créée.

La seule vérification totalement fiable est la fenêtre de composition de Proton. Lorsque vous tapez une adresse dans le champ « À », Proton la valide et la signale en rouge si la boîte aux lettres n'existe pas. ProtOSINT peut piloter cela avec Selenium : il se connecte à votre compte Proton, ouvre un nouveau message, tape l'adresse et lit si Proton l'accepte ou la rejette. C'est la réponse faisant autorité, et c'est ce que les modules 1, 2 et 4 utilisent lorsque Selenium est activé (ce qui est le cas par défaut).

Les domaines personnalisés sont vérifiés par DNS. Pour un domaine comme example.com, la vraie question est de savoir où son courrier est routé. Si l'enregistrement MX pointe vers Proton (mail.protonmail.ch / mailsec.protonmail.ch), le domaine est sur Proton Mail. Le module 3 lit les enregistrements MX et les recoupe avec le serveur de clés.

Prérequis

  • Python 3 (3.7 ou plus récent)
  • Les paquets Python dans requirements.txt (requests, selenium)
  • Un navigateur (Chrome/Chromium ou Firefox) pour la vérification Selenium

Installation

Clonez le dépôt et installez les dépendances 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

Vous avez également besoin d'un navigateur installé pour la vérification Selenium. Selenium télécharge lui-même le pilote correspondant, vous n'avez donc pas besoin d'installer un chromedriver/geckodriver séparé.

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
# alternatives: sudo apt install -y chromium   (ou : firefox-esr)

macOS (Homebrew) :

root@kitploit:~
brew install --cask google-chrome  # ou : brew install --cask firefox

Windows : installez Chrome ou Firefox normalement depuis leur site web.

Vous exécutez en tant que root (courant sur Kali) ? Chrome a besoin du flag --no-sandbox sinon il plante au lancement. ProtOSINT le définit déjà pour vous, donc vous n'avez rien à faire.

Configuration

La première fois que vous exécutez le script, il crée un fichier config.json à côté :

root@kitploit:~
{
  "proton": {
    "username": "",
    "password": ""
  },
  "settings": {
    "use_selenium": true,
    "headless": true
  }
}
  • use_selenium (true/false) utilise la vérification de composition Selenium pour les modules 1, 2 et 4 (la méthode fiable). Mettez-le à false pour revenir à l'API de compte plus rapide.
  • headless (true/false) exécute le navigateur en arrière-plan afin qu'aucune fenêtre ne s'affiche. Ne le mettez à true que sur un compte sans 2FA ou CAPTCHA, car vous ne pouvez pas les résoudre lorsque la fenêtre est masquée. Mettez-le à false si vous avez besoin de voir le navigateur.
  • username / password sont vos identifiants Proton. Vous pouvez les remplir, ou les laisser vides et le script les demandera au démarrage. Laisser le mot de passe vide est plus sûr - il n'est jamais écrit sur le disque. Si vous mettez des identifiants dans le fichier, ne le committez pas (il est déjà dans .gitignore).

Si vous fermez le navigateur en cours de session, la prochaine vérification qui en a besoin le rouvrira et se reconnectera automatiquement.

Utilisation

root@kitploit:~
python3 protosint.py

Choisissez un module dans le menu et suivez les invites. q quitte (et ferme le navigateur s'il était ouvert).

Conseils pour l'investigation Proton Mail

Proton Mail est insensible à la casse

Le nom du compte est insensible à la casse, et Proton traite ., _ et - comme transparents. Tout ce qui suit un + est également ignoré. Ainsi, tous ces éléments sont le même compte que [email protected] :

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

Ils partagent tous la même clé et le même horodatage.

L'horodatage est la date de la clé, pas toujours la date du compte

La date affichée par ProtOSINT est celle de la création de la clé PGP primaire du compte - ce qui n'est pas toujours la même que celle de la création du compte.

Exemple 1 - la cible n'a jamais touché à ses clés. Ici, la date de la clé est la vraie date de création du compte.

  • 2021-01-12 : le compte [email protected] est créé
  • 2021-01-15 : ProtOSINT signale 2021-01-12

Exemple 2 - la cible a regénéré sa clé. Maintenant, la date reflète la clé la plus récente, pas le compte.

  • 2021-01-12 : le compte [email protected] est créé
  • 2021-01-13 : la cible génère une nouvelle clé dans Paramètres → Clés de chiffrement
  • 2021-01-15 : ProtOSINT signale 2021-01-13, pas 2021-01-12

Clés de chiffrement

ProtOSINT montre quel type de clé le compte utilise. Ce que le serveur de clés rapporte pour la clé primaire est l'un des suivants :

  • Curve25519 - ECC moderne (une clé de signature Ed25519) ; c'est la valeur par défaut sur les comptes récents et la plus rapide et la plus sécurisée
  • RSA 2048 - l'ancienne valeur par défaut sur les comptes créés avant 2021
  • RSA 4096 - plus forte mais plus lente, généralement vue lorsque quelqu'un a importé une clé pour la compatibilité héritée

Vous pouvez également voir X25519, Ed25519 ou RSA 3072 sur certaines clés - ils sont tous lus directement depuis l'ID d'algorithme OpenPGP de la clé.

Domaines personnalisés

Un plan Proton payant vous permet d'attacher votre propre domaine. Si [email protected] résout vers Proton (module 1 ou 3), la cible est sur un plan Proton payant. Le module 3 le confirme à partir des enregistrements MX du domaine, ce qui est le signal le plus fiable.

Limites de taux

Proton limite le débit à la fois du serveur de clés (erreur 2028) et de l'API de compte (HTTP 429). Les limites exactes ne sont pas documentées et semblent varier, donc si vous êtes bloqué, attendez un moment ou relancez depuis une IP différente. La méthode Selenium utilise votre session normale connectée, elle n'est donc pas affectée par ces limites.

Contribution

N'hésitez pas à cloner le projet. Pour quelque chose d'important, ouvrez d'abord une issue pour en discuter.

Le module Selenium lit l'application web de Proton, donc si Proton modifie sa page, les sélecteurs dans selenium_login() et selenium_check_emails() peuvent nécessiter une petite mise à jour. C'est le premier endroit à vérifier si la vérification du navigateur cesse de fonctionner.

Licence

MIT

Télécharger l’outil