Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ProtOSINT — ProtOSINT — это Python-скрипт, который помогает вам исследовать аккаунты Proton Mail. | Kitploit
Инструменты/GitHubGitHub/pixelbubble/protosint
OSINT (Разведка открытых источников)РазведкаСбор информацииСбор Электронной Почты
GitHubpixelbubble/protosint

ProtOSINT

ProtOSINT — это Python-скрипт, который помогает вам исследовать аккаунты Proton Mail.

Репозиторий
41762403 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
# ProtOSINT
ProtOSINT — это Python-скрипт, который помогает вам расследовать учётные записи Proton Mail.

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

## Версия
Это **ProtOSINT v2**. Первая версия существовала несколько лет, но API Proton изменился, а старые проверки перестали работать, так что это переписывание, которое возвращает инструмент к жизни. Большое спасибо [NeutrOSINT](https://github.com/Kr0wZ/NeutrOSINT) за то, что поддерживал этот вид исследований в течение этого времени.

## Описание
Этот инструмент предназначен для OSINT-работы с Proton Mail (только в образовательных и санкционированных целях). Вы даёте ему адрес электронной почты, имя пользователя или домен, и он сообщает вам, что может найти: существует ли адрес на самом деле, когда был создан ключ шифрования учётной записи, какой алгоритм используется, и размещён ли пользовательский домен на Proton.

У него есть четыре модуля:
- **[1]** Проверка одного Proton-адреса: существует ли он, а также дата и тип создания ключа.
- **[2]** Перебор имени пользователя по всем доменам Proton (protonmail.com, protonmail.ch, pm.me, proton.me).
- **[3]** Проверка, использует ли домен Proton Mail (через его MX-записи, перекрёстно сверенные с сервером ключей).
- **[4]** Пакетная проверка списка адресов через реальную авторизованную сессию Proton.


## Как это работает (и почему)

Proton намеренно усложняет перебор учётных записей, поэтому наивная проверка вас обманет. ProtOSINT обходит это, комбинируя три источника и доверяя правильному для каждой задачи.

**Сервер ключей врёт о несуществующих адресах.** Публичный сервер ключей Proton (`pks/lookup`) возвращает поддельный «приманчивый» ключ — с вымышленной датой создания — для *любого* адреса на домене Proton, существует он или нет. Так что «действительный ключ + красивая дата» не является доказательством существования адреса. Сервер ключей всё ещё полезен, но только для чтения *реальной* даты ключа адреса, который вы уже подтвердили, что существует.

**API учётных записей лучше, но не идеален.** API учётных записей Proton (`/users/available`) сообщает вам, свободно ли имя пользователя. Он прав в большинстве случаев, но проверяет *имя пользователя*, а не конкретный адрес, поэтому может ошибаться в крайних случаях — `[email protected]` может выглядеть как «занятый», даже если этот `.ch`-адрес никогда не был создан.

**Единственная полностью надёжная проверка — это собственное окно создания сообщения Proton.** Когда вы вводите адрес в поле «Кому», Proton проверяет его и помечает красным, если почтовый ящик не существует. ProtOSINT может управлять этим с помощью Selenium: он входит в вашу учётную запись Proton, открывает новое сообщение, вводит адрес и считывает, принимает его Proton или отклоняет. Это авторитетный ответ, и именно его используют модули 1, 2 и 4, когда включён Selenium (по умолчанию он включён).

**Пользовательские домены проверяются через DNS.** Для домена, такого как `example.com`, реальный вопрос заключается в том, куда направляется его почта. Если MX-запись указывает на Proton (`mail.protonmail.ch` / `mailsec.protonmail.ch`), домен находится на Proton Mail. Модуль 3 считывает MX-записи и перекрёстно сверяет их с сервером ключей.


## Требования

- [Python 3](https://www.python.org/downloads/) (3.7 или новее)
- Пакеты Python из `requirements.txt` (`requests`, `selenium`)
- Браузер (Chrome/Chromium или Firefox) для проверки через Selenium
## Установка

Клонируйте репозиторий и установите зависимости 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
```

Также вам понадобится установленный браузер для проверки через Selenium. Selenium сам загружает соответствующий драйвер, поэтому вам не нужно устанавливать отдельный chromedriver/geckodriver.

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
# альтернативы: sudo apt install -y chromium   (или: firefox-esr)
```

macOS (Homebrew):

```bash
brew install --cask google-chrome  # или: brew install --cask firefox
```

Windows: установите Chrome или Firefox обычным образом с их веб-сайта.

> Запускаете от root (часто на Kali)? Chrome нуждается в флаге `--no-sandbox`, иначе он вылетает при запуске. ProtOSINT уже устанавливает его за вас, так что ничего делать не нужно.

## Настройка

При первом запуске скрипт создаёт файл `config.json` рядом с собой:

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

- `use_selenium` (`true`/`false`) использует проверку через окно создания сообщения Selenium для модулей 1, 2 и 4 (надёжный метод). Установите его в `false`, чтобы вернуться к более быстрому API учётных записей.
- `headless` (`true`/`false`) запускает браузер в фоновом режиме, так что окно не появляется. Устанавливайте его в `true` только для учётной записи **без** 2FA или CAPTCHA, так как вы не сможете решить их, когда окно скрыто. Установите его в `false`, если вам нужно видеть браузер.
- `username` / `password` — это ваш логин Proton. Вы можете заполнить их или оставить пустыми, и скрипт спросит при запуске. Оставлять пароль пустым безопаснее — он никогда не записывается на диск. Если вы всё же помещаете учётные данные в файл, не фиксируйте его (он уже в `.gitignore`).

Если вы закроете браузер во время сеанса, следующая проверка, которой он понадобится, откроет его снова и автоматически войдёт в систему.

## Использование

```bash
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 ключа.

### Пользовательские домены

Платный план Proton позволяет вам прикрепить собственный домен. Если `[email protected]` разрешается в Proton (модуль 1 или 3), цель использует платный план Proton. Модуль 3 подтверждает это по MX-записям домена, что является наиболее надёжным сигналом.

## Лимиты запросов

Proton ограничивает как сервер ключей (ошибка 2028), так и API учётных записей (HTTP 429). Точные лимиты не задокументированы и, похоже, меняются, так что если вас заблокировали, подождите некоторое время или запустите с другого IP-адреса. Метод Selenium использует вашу обычную авторизованную сессию, поэтому на него эти лимиты не влияют.

## Вклад

Чувствуйте себя свободно, чтобы клонировать проект. Для чего-то серьёзного сначала откройте проблему, чтобы обсудить это.

Модуль Selenium считывает веб-приложение Proton, поэтому, если Proton изменит свою страницу, селекторы в `selenium_login()` и `selenium_check_emails()` могут потребовать небольшого обновления. Это первое место, куда стоит смотреть, если проверка через браузер перестанет работать.

## Лицензия

[MIT](https://choosealicense.com/licenses/mit/)
Скачать инструмент