Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ProtOSINT — ProtOSINT é um script Python que ajuda você a investigar contas do Proton Mail. | Kitploit
Ferramentas/GitHubGitHub/pixelbubble/protosint
OSINT (Inteligência de Fontes Abertas)ReconhecimentoColeta de InformaçõesColeta de Emails
GitHubpixelbubble/protosint

ProtOSINT

ProtOSINT é um script Python que ajuda você a investigar contas do Proton Mail.

Ver Repositório
4176240há 3 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
# ProtOSINT
ProtOSINT é um script Python que ajuda você a investigar contas do Proton Mail.

<img width="800" height="832" alt="protosint (1)" src="https://github.com/user-attachments/assets/4c08389a-0525-40e3-99d3-392561752425" />

## Versão
Este é o **ProtOSINT v2**. A primeira versão existia há alguns anos, mas a API do Proton mudou e as verificações antigas pararam de funcionar, então esta é uma reescrita que traz a ferramenta de volta à vida. Muito obrigado ao [NeutrOSINT](https://github.com/Kr0wZ/NeutrOSINT) por manter esse tipo de pesquisa ativa enquanto isso.

## Descrição
Esta ferramenta é destinada ao trabalho de OSINT no Proton Mail (apenas para uso educacional e autorizado). Você fornece um endereço de e-mail, um nome de usuário ou um domínio, e ela informa o que pode encontrar: se o endereço realmente existe, quando a chave de criptografia da conta foi criada, qual algoritmo ela usa e se um domínio personalizado está hospedado no Proton.

Ela possui quatro módulos:
- **[1]** Verificar um e-mail do Proton: ele existe e qual é a data e o tipo de criação da chave.
- **[2]** Enumerar um nome de usuário em todos os domínios do Proton (protonmail.com, protonmail.ch, pm.me, proton.me).
- **[3]** Verificar se um domínio usa o Proton Mail (através dos seus registros MX, verificados com o servidor de chaves).
- **[4]** Verificar em lote uma lista de endereços através de uma sessão real do Proton logada.


## Como funciona (e porquê)

O Proton torna a enumeração de contas deliberadamente difícil, então uma verificação ingênua mentirá para você. O ProtOSINT contorna isso combinando três fontes e confiando na correta para cada tarefa.

**O servidor de chaves mente sobre endereços inexistentes.** O servidor de chaves públicas do Proton (`pks/lookup`) retorna uma chave "falsa" (decoy) - com uma data de criação inventada - para *qualquer* endereço em um domínio Proton, existente ou não. Portanto, uma "chave válida + data bonita" não é prova de que o endereço existe. O servidor de chaves ainda é útil, mas apenas para ler a data *real* da chave de um endereço que você já confirmou que existe.

**A API da conta é melhor, mas não é perfeita.** A API de conta do Proton (`/users/available`) informa se um nome de usuário está disponível. Ela está correta na maioria das vezes, mas verifica o *nome de usuário*, não o endereço específico, então pode errar em casos extremos - `[email protected]` pode parecer "ocupado" mesmo que esse endereço `.ch` nunca tenha sido criado.

**A única verificação totalmente confiável é a janela de composição do próprio Proton.** Quando você digita um endereço no campo "Para", o Proton o valida e o marca em vermelho se a caixa de correio não existir. O ProtOSINT pode conduzir isso com Selenium: ele faz login na sua conta Proton, abre uma nova mensagem, digita o endereço e lê se o Proton aceita ou rejeita. Essa é a resposta autoritativa, e é o que os módulos 1, 2 e 4 usam quando o Selenium está ativado (que é o padrão).

**Domínios personalizados são verificados por DNS.** Para um domínio como `example.com`, a questão real é para onde seu e-mail é roteado. Se o registro MX aponta para o Proton (`mail.protonmail.ch` / `mailsec.protonmail.ch`), o domínio está no Proton Mail. O módulo 3 lê os registros MX e os verifica com o servidor de chaves.


## Requisitos

- [Python 3](https://www.python.org/downloads/) (3.7 ou mais recente)
- Os pacotes Python em `requirements.txt` (`requests`, `selenium`)
- Um navegador (Chrome/Chromium ou Firefox) para a verificação do Selenium
## Instalação

Clone o repositório e instale as dependências Python:

```bash
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
```

Você também precisa de um navegador instalado para a verificação do Selenium. O Selenium baixa o driver correspondente por conta própria, então você não precisa instalar um chromedriver/geckodriver separado.

Debian / Ubuntu / Kali:

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

macOS (Homebrew):

```bash
brew install --cask google-chrome  # ou: brew install --cask firefox
```

Windows: instale o Chrome ou Firefox normalmente a partir do site.

> Executando como root (comum no Kali)? O Chrome precisa da flag `--no-sandbox` ou trava na inicialização. O ProtOSINT já a define para você, então não há nada a fazer.

## Configuração

Na primeira vez que você executar o script, ele cria um arquivo `config.json` ao lado:

```json
{
  "proton": {
    "username": "",
    "password": ""
  },
  "settings": {
    "use_selenium": true,
    "headless": true
  }
}
```

- `use_selenium` (`true`/`false`) usa a verificação de composição do Selenium para os módulos 1, 2 e 4 (o método confiável). Defina como `false` para voltar à API de conta mais rápida.
- `headless` (`true`/`false`) executa o navegador em segundo plano para que nenhuma janela apareça. Defina como `true` apenas em uma conta **sem** 2FA ou CAPTCHA, pois você não pode resolvê-los quando a janela está oculta. Defina como `false` se precisar ver o navegador.
- `username` / `password` são seu login do Proton. Você pode preenchê-los ou deixá-los vazios e o script perguntará quando iniciar. Deixar a senha vazia é mais seguro - ela nunca é gravada em disco. Se você colocar credenciais no arquivo, não as commite (já está no `.gitignore`).

Se você fechar o navegador no meio da sessão, a próxima verificação que precisar dele o reabrirá e fará login novamente automaticamente.

## Uso

```bash
python3 protosint.py
```

Escolha um módulo no menu e siga as instruções. `q` sai (e fecha o navegador se um estiver aberto).

## Dicas para investigação do Proton Mail

### Proton Mail não diferencia maiúsculas de minúsculas

O nome da conta não diferencia maiúsculas de minúsculas, e o Proton trata `.`, `_` e `-` como transparentes. Qualquer coisa após um `+` também é ignorada. Portanto, todos estes são a mesma conta que `[email protected]`:

- `[email protected]`
- `[email protected]`
- `[email protected]`
- `[email protected]`

Todos compartilham a mesma chave e timestamp.

### O timestamp é a data da chave, nem sempre a data da conta

A data que o ProtOSINT mostra é quando a *chave PGP primária* da conta foi criada - o que nem sempre é o mesmo que quando a conta foi criada.

**Exemplo 1 - o alvo nunca tocou nas chaves.** Aqui a data da chave é a data real de criação da conta.

- 2021-01-12: conta `[email protected]` é criada.
- 2021-01-15: ProtOSINT relata 2021-01-12.

**Exemplo 2 - o alvo regenerou a chave.** Agora a data reflete a chave mais nova, não a conta.

- 2021-01-12: conta `[email protected]` é criada.
- 2021-01-13: alvo gera uma nova chave em Configurações → Chaves de criptografia.
- 2021-01-15: ProtOSINT relata 2021-01-13, não 2021-01-12.

### Chaves de criptografia

O ProtOSINT mostra o tipo de chave que a conta usa. O que o servidor de chaves relata para a chave primária é um dos seguintes:

- Curve25519 - ECC moderna (chave de assinatura Ed25519); este é o padrão em contas mais novas e o mais rápido e seguro
- RSA 2048 - o padrão antigo em contas criadas antes de 2021
- RSA 4096 - mais forte, mas mais lento, geralmente visto quando alguém importou uma chave para compatibilidade legada

Você também pode ver X25519, Ed25519 ou RSA 3072 em algumas chaves - todas são lidas diretamente do ID do algoritmo OpenPGP da chave.

### Domínios personalizados

Um plano pago do Proton permite que você anexe seu próprio domínio. Se `[email protected]` resolve para o Proton (módulo 1 ou 3), o alvo está em um plano pago do Proton. O módulo 3 confirma isso através dos registros MX do domínio, que é o sinal mais confiável.

## Limites de taxa

O Proton limita tanto o servidor de chaves (erro 2028) quanto a API de conta (HTTP 429). Os limites exatos não são documentados e parecem mudar, então se você for bloqueado, espere um pouco ou execute novamente de um IP diferente. O método do Selenium usa sua sessão normal logada, então não é afetado por esses limites.

## Contribuindo

Sinta-se à vontade para clonar o projeto. Para algo grande, abra uma issue primeiro para discutir.

O módulo Selenium lê o aplicativo web do Proton, então se o Proton alterar sua página, os seletores em `selenium_login()` e `selenium_check_emails()` podem precisar de uma pequena atualização. Esse é o primeiro lugar para verificar se a verificação do navegador parar de funcionar.

## Licença

[MIT](https://choosealicense.com/licenses/mit/)
Baixar ferramenta