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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/musana/mx-takeover
Анализ уязвимостейНеправильная КонфигурацияБезопасность Электронной ПочтыАнализ DNS
GitHubmusana/mx-takeover

mx-takeover

Сканирует DNS MX-записи для выявления неправильно настроенных, истекающих или незарегистрированных доменов, уязвимых для перехвата электронной почты, с автоматической поддержкой восстановления для Mailgun.

Репозиторий
360493 лет назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Сайт

mx-takeover

Как это работает • Возможности • Установка • Использование • Запуск mx-takeover

mx-takeover фокусируется на DNS MX-записях и обнаруживает неправильно настроенные MX-записи. В настоящее время поддерживает три метода. А именно:

  • MX-домены, срок действия которых скоро истечет
  • Незарегистрированные MX-домены
  • Домены, указывающие на неиспользуемые в данный момент Mailgun.

Как это работает

Сценарий атаки для Mailgun

  1. Ваша компания начинает использовать новый сервис для электронной почты.
  2. MX-запись вашей компании указывает на Mailgun (например: sub.domain.com MX mxa.mailgun.com).
  3. Ваша компания прекращает использование Mailgun, но не удаляет MX-запись из DNS.
  4. Злоумышленник регистрируется в Mailgun и заявляет домен как свой. Mailgun не проводит проверку, а DNS-настройки уже корректны.
  5. Теперь злоумышленник может читать письма, отправленные для связанного домена (<something>@sub.domain.com).

Ограничение
Mailgun использует MX-записи для получения почты, TXT-записи для отправки и CNAME-запись для отслеживания. Из этих записей только DKIM-запись уникальна и генерируется случайным образом.

Поэтому отправлять письма от чужого имени невозможно, но можно читать (получать) письма, отправленные другими на связанный домен.

Возможности

mx-takeover

  • Домены, удаленные в Mailgun, но MX-записи сохранены
  • Автоматическое возвращение домена
  • Незарегистрированные/истекающие MX-домены
  • MX-домены, срок действия которых скоро истечет
  • Домены, использующие одинаковые MX-записи
  • Сохранение результатов сканирования в формате JSON
  • Поддержка конкурентности

Инструкция по установке

mx-takeover требует go1.17 для успешной установки. Выполните следующую команду для установки.

root@kitploit:~
go install -v github.com/musana/mx-takeover@latest

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

root@kitploit:~
mx-takeover -h

Будет показана справка по инструменту.

root@kitploit:~
┌──(root㉿kali)-[/home/mx-takeover]
└─# mx-takeover -h

                     _        _
 _ __ ___ __  __    | |_ __ _| | _____  _____   _____ _ __
| '_ ' _ \\ \/ /____| __/ _' | |/ / _ \/ _ \ \ / / _ \ '__|
| | | | | |>  <_____| || (_| |   <  __/ (_) \ V /  __/ |
|_| |_| |_/_/\_\     \__\__,_|_|\_\___|\___/ \_/ \___|_|

hunting misconfigured MX records
musana.net | @musana

  -check-whois
        Проверить whois для обнаружения незарегистрированных MX-доменов или доменов с истекающим сроком
  -expire-day int
        Предполагаемое количество дней до истечения (по умолчанию 30)
  -h    справка
  -mailgun-api string
        API Mailgun для автоматического перехвата домена
  -output string
        Сохранить вывод в файл в формате json
  -show-only-mx
        Показывать только домены, имеющие MX-записи
  -v    Выводить все логи
  -w int
        Количество рабочих потоков (по умолчанию 32)

Запуск mx-takeover

Перехват и возврат

Возвращение

Истекающие MX-домены

Истекающие

Незарегистрированные MX-домены

Незарегистрированные

Текстовый файл должен быть построчным.
Каждый домен в текстовом файле должен начинаться с http:// или https://

Сохранение результата сканирования

root@kitploit:~
┌──(root㉿kali)-[/home/mx-takeover]
└─# cat sdomain.txt| mx-takeover -check-whois -w 64 -output mx.json

                     _        _
 _ __ ___ __  __    | |_ __ _| | _____  _____   _____ _ __
| '_ ' _ \\ \/ /____| __/ _' | |/ / _ \/ _ \ \ / / _ \ '__|
| | | | | |>  <_____| || (_| |   <  __/ (_) \ V /  __/ |
|_| |_| |_/_/\_\     \__\__,_|_|\_\___|\___/ \_/ \___|_|

hunting misconfigured MX records
musana.net | @musana

[*] Scan Starting Time: 2022-05-23 15:15:22
[!] Mailgun-api was not provided. You should register domain to mailgun manually
[*] 141 domain will be scanned.
[*] Domains that expire in less than 30 days
[*] Scan results was saved to mx.json
[*] End Time: 2022-05-23 15:15:24

Ключи — это MX-домены. Значения — домены, используемые указанным в ключе доменом.

root@kitploit:~
┌──(root㉿kali)-[/home/mx-takeover]
└─# cat mx.json| jq .
root@kitploit:~
{
  "google.com": [
    "_cisco-uds._tcp.wordcamp.org"
  ],
  "maximum.nl": [
    "mcdonalds.maximum.nl"
  ],
  "naver.jp": [
    "line.naver.jp"
  ],
  "slgnt.eu": [
    "leveranciersmail.bol.com"
  ],
  "wordpress.net": [
    "_cisco-uds._tcp.wordpress.net"
  ],
  "wordpress.org": [
    "92.wordpress.org",
    "_cisco-uds._tcp.planet.wordpress.org",
    "_cisco-uds._tcp.profiles.wordpress.org",
    "_cisco-uds._tcp.wordpress.org",
    "_cisco-uds.planet.wordpress.org",
    "_cisco-uds.profiles.wordpress.org",
    "93.wordpress.org",
    "94.wordpress.org",
    "95.wordpress.org"
  ]
}

Важное обновление (15.06.2022): Теперь Mailgun требует проверку DNS для всех записей (MX, TXT, CNAME), даже только для получения почты. До исправления для получения почты было достаточно проверки только MX. Около трех недель назад это работало, но уязвимость была исправлена. Ранее при отправке письма оно отправлялось успешно, и вы могли просмотреть содержимое письма в логах Mailgun, но теперь вы получаете ошибку "relaying denied". Если вы попытаетесь отправить, вы получите ошибку Remote Server returned '550 5.7.367 Remote server returned not permitted to relay -> 550 5.7.1 Relaying denied'.

Пожертвование

Нашли этот проект полезным? Вы можете купить мне кофе.

Скачать инструмент