Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/pixelbubble/protosint
OSINT (Open Source Intelligence)RicognizioneRaccolta InformazioniRaccolta Email
GitHubpixelbubble/protosint

ProtOSINT

ProtOSINT è uno script Python che ti aiuta a investigare account Proton Mail.

Vedi Repository
4176211 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ProtOSINT

ProtOSINT è uno script Python che ti aiuta a investigare sugli account Proton Mail.

protosint (1)

Versione

Questa è ProtOSINT v2. La prima versione è stata in circolazione per alcuni anni, ma l'API di Proton è cambiata e i vecchi controlli hanno smesso di funzionare, quindi questa è una riscrittura che riporta in vita lo strumento. Un grande grazie a NeutrOSINT per aver mantenuto viva questa linea di ricerca nel frattempo.

Descrizione

Questo strumento è pensato per lavoro di OSINT su Proton Mail (solo per uso didattico e autorizzato). Fornisci un indirizzo email, un nome utente o un dominio, e ti dice cosa riesce a trovare: se l'indirizzo esiste realmente, quando è stata creata la chiave di crittografia dell'account, quale algoritmo utilizza e se un dominio personalizzato è ospitato su Proton.

Ha quattro moduli:

  • [1] Controlla una email Proton: esiste, e qual è la data e il tipo di creazione della chiave.
  • [2] Enumera un nome utente su tutti i domini Proton (protonmail.com, protonmail.ch, pm.me, proton.me).
  • [3] Controlla se un dominio utilizza Proton Mail (tramite i suoi record MX, incrociati con il server delle chiavi).
  • [4] Verifica in batch un elenco di indirizzi tramite una sessione Proton reale con accesso effettuato.

Come funziona (e perché)

Proton rende deliberatamente difficile l'enumerazione degli account, quindi un controllo ingenuo ti mentirà. ProtOSINT aggira il problema combinando tre fonti e fidandosi di quella giusta per il compito.

Il server delle chiavi mente riguardo agli indirizzi inesistenti. Il server pubblico delle chiavi di Proton (pks/lookup) restituisce una finta chiave "decoy" - con una data di creazione inventata - per qualsiasi indirizzo su un dominio Proton, che esista o meno. Quindi una "chiave valida + bella data" non è la prova che l'indirizzo esista. Il server delle chiavi è comunque utile, ma solo per leggere la data reale della chiave di un indirizzo che hai già confermato esistere.

L'API dell'account è migliore, ma non perfetta. L'API dell'account di Proton (/users/available) ti dice se un nome utente è libero. Ha ragione la maggior parte delle volte, ma controlla il nome utente, non l'indirizzo specifico, quindi può sbagliarsi in casi limite - [email protected] può sembrare "occupato" anche se quell'indirizzo .ch non è mai stato creato.

L'unico controllo completamente affidabile è la finestra di composizione di Proton stessa. Quando inserisci un indirizzo nel campo "A", Proton lo convalida e lo segna in rosso se la casella di posta non esiste. ProtOSINT può gestirlo con Selenium: effettua l'accesso al tuo account Proton, apre un nuovo messaggio, digita l'indirizzo e legge se Proton lo accetta o lo rifiuta. Questa è la risposta autorevole, ed è ciò che i moduli 1, 2 e 4 utilizzano quando Selenium è attivato (lo è per impostazione predefinita).

I domini personalizzati vengono controllati tramite DNS. Per un dominio come example.com, la vera domanda è dove viene instradata la sua posta. Se il record MX punta a Proton (mail.protonmail.ch / mailsec.protonmail.ch), il dominio è su Proton Mail. Il modulo 3 legge i record MX e li incrocia con il server delle chiavi.

Requisiti

  • Python 3 (3.7 o più recente)
  • I pacchetti Python in requirements.txt (requests, selenium)
  • Un browser (Chrome/Chromium o Firefox) per il controllo Selenium

Installazione

Clona il repository e installa le dipendenze 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

Hai anche bisogno di un browser installato per il controllo Selenium. Selenium scarica da solo il driver corrispondente, quindi non devi installare un chromedriver/geckodriver separato.

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

macOS (Homebrew):

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

Windows: installa Chrome o Firefox normalmente dal loro sito web.

Se esegui come root (comune su Kali)? Chrome ha bisogno del flag --no-sandbox altrimenti si blocca all'avvio. ProtOSINT lo imposta già per te, quindi non c'è niente da fare.

Configurazione

La prima volta che esegui lo script, crea un file config.json accanto ad esso:

root@kitploit:~
{
  "proton": {
    "username": "",
    "password": ""
  },
  "settings": {
    "use_selenium": true,
    "headless": true
  }
}
  • use_selenium (true/false) utilizza il controllo di composizione Selenium per i moduli 1, 2 e 4 (il metodo affidabile). Imposta su false per ripiegare sulla più veloce API dell'account.
  • headless (true/false) esegue il browser in background in modo che nessuna finestra si apra. Imposta su true solo su un account senza 2FA o CAPTCHA, poiché non puoi risolverli quando la finestra è nascosta. Imposta su false se hai bisogno di vedere il browser.
  • username / password sono le tue credenziali di accesso Proton. Puoi inserirle o lasciarle vuote e lo script le chiederà all'avvio. Lasciare la password vuota è più sicuro - non viene mai scritta su disco. Se inserisci le credenziali nel file, non inviarlo (è già in .gitignore).

Se chiudi il browser a metà sessione, il controllo successivo che ne ha bisogno lo riaprirà e effettuerà nuovamente l'accesso automaticamente.

Utilizzo

root@kitploit:~
python3 protosint.py

Scegli un modulo dal menu e segui le istruzioni. q esce (e chiude il browser se era aperto).

Suggerimenti per l'investigazione di Proton Mail

Proton Mail non fa distinzione tra maiuscole e minuscole

Il nome dell'account non fa distinzione tra maiuscole e minuscole, e Proton tratta ., _ e - come trasparenti. Anche tutto ciò che viene dopo un + viene ignorato. Quindi tutti questi sono lo stesso account di [email protected]:

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

Condividono tutti la stessa chiave e timestamp.

Il timestamp è la data della chiave, non sempre la data dell'account

La data mostrata da ProtOSINT è quando è stata creata la chiave PGP primaria dell'account - che non è sempre uguale a quando è stato creato l'account.

Esempio 1 - il target non ha mai toccato le proprie chiavi. Qui la data della chiave è la data reale di creazione dell'account.

  • 2021-01-12: l'account [email protected] viene creato
  • 2021-01-15: ProtOSINT segnala 2021-01-12

Esempio 2 - il target ha rigenerato la propria chiave. Ora la data riflette la chiave più recente, non l'account.

  • 2021-01-12: l'account [email protected] viene creato
  • 2021-01-13: il target genera una nuova chiave in Impostazioni → Chiavi di crittografia
  • 2021-01-15: ProtOSINT segnala 2021-01-13, non 2021-01-12

Chiavi di crittografia

ProtOSINT mostra quale tipo di chiave utilizza l'account. Ciò che il server delle chiavi segnala per la chiave primaria è uno tra:

  • Curve25519 - ECC moderna (una chiave di firma Ed25519); questa è l'impostazione predefinita sugli account più recenti ed è la più veloce e sicura
  • RSA 2048 - la vecchia impostazione predefinita sugli account creati prima del 2021
  • RSA 4096 - più forte ma più lenta, di solito vista quando qualcuno ha importato una chiave per compatibilità legacy

Potresti anche vedere X25519, Ed25519 o RSA 3072 su alcune chiavi - sono tutte lette direttamente dall'ID algoritmo OpenPGP della chiave.

Domini personalizzati

Un piano Proton a pagamento ti consente di allegare il tuo dominio. Se [email protected] si risolve su Proton (modulo 1 o 3), il target è su un piano Proton a pagamento. Il modulo 3 lo conferma dai record MX del dominio, che è il segnale più affidabile.

Limiti di velocità

Proton limita sia il server delle chiavi (errore 2028) che l'API dell'account (HTTP 429). I limiti esatti non sono documentati e sembrano cambiare, quindi se vieni bloccato, aspetta un po' o esegui di nuovo da un IP diverso. Il metodo Selenium utilizza la tua normale sessione con accesso effettuato, quindi non è influenzato da questi limiti.

Contribuire

Sentiti libero di clonare il progetto. Per modifiche importanti, apri prima un issue per discuterne.

Il modulo Selenium legge l'app web di Proton, quindi se Proton modifica la sua pagina, i selettori in selenium_login() e selenium_check_emails() potrebbero aver bisogno di un piccolo aggiornamento. Questo è il primo posto da controllare se il controllo del browser smette di funzionare.

Licenza

MIT

Scarica lo strumento