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

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

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

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

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

Категории

Все категории
Loading categories
espoofer — Инструмент для тестирования подделки email, который направлен на обход SPF/DKIM/DMARC и подделку подписей DKIM.🍻 | Kitploit
Инструменты/GitHubGitHub/chenjj/espoofer
Инструменты фишингаАнализ уязвимостейТестирование на ПроникновениеСтатьи и ИсследованияОбучение и ОбразованиеБезопасность Электронной Почты
GitHubchenjj/espoofer

espoofer

Инструмент для тестирования подделки email, который направлен на обход SPF/DKIM/DMARC и подделку подписей DKIM.🍻

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

Популярное

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

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

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

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

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

espoofer

espoofer — это инструмент с открытым исходным кодом для тестирования на проникновение, предназначенный для обхода аутентификации SPF, DKIM и DMARC в почтовых системах. Он помогает администраторам почтовых серверов и специалистам по тестированию на проникновение проверить, уязвим ли целевой почтовый сервер и клиент для атак с подделкой электронной почты или может ли он быть использован для отправки поддельных писем.


Рисунок 1. Пример нашей атаки с подделкой на Gmail (Исправлено, Видео демонстрации)

Зачем создавать этот инструмент?

Подделка электронной почты представляет собой серьёзную угрозу как для частных лиц, так и для организаций (утечка Yahoo, John Podesta). Для решения этой проблемы современные почтовые сервисы и веб-сайты используют протоколы аутентификации — SPF, DKIM и DMARC — для предотвращения подделки писем.

Наши последние исследования показывают, что реализация этих протоколов страдает рядом проблем безопасности, которые можно использовать для обхода защиты SPF/DKIM/DMARC. На рисунке 1 показана одна из наших атак с подделкой, которая обходит DKIM и DMARC в Gmail. За дополнительными техническими подробностями обращайтесь к нашему докладу на Black Hat USA 2020 (с видео презентации) или статье на USENIX Security 2020.

  • Слайды Black Hat USA 2020 (PDF): You have No Idea Who Sent that Email: 18 Attacks on Email Sender Authentication
  • Статья USENIX Security 2020 (PDF): Composition Kills: A Case Study of Email Sender Authentication
    • Награда за лучшую статью

В этом репозитории мы собрали все тестовые случаи, которые нашли, и объединили их в этот инструмент, чтобы помочь администраторам и специалистам по безопасности быстро выявлять и локализовать такие проблемы безопасности.

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

Версия LaTeX:

@inproceedings{chen-email,
author = {Jianjun Chen and Vern Paxson and Jian Jiang},
title = {Composition Kills: A Case Study of Email Sender Authentication},
booktitle = {29th {USENIX} Security Symposium ({USENIX} Security 20)},
year = {2020},
isbn = {978-1-939133-17-5},
pages = {2183--2199},
url = {https://www.usenix.org/conference/usenixsecurity20/presentation/chen-jianjun},
publisher = {{USENIX} Association},
month = aug,
}

Версия Word:

Jianjun Chen, Vern Paxson, and Jian Jiang. "Composition kills: A case study of email sender authentication." In 29th USENIX Security Symposium (USENIX Security 20), pp. 2183-2199. 2020.

Установка

  • Загрузите этот инструмент
git clone https://github.com/chenjj/espoofer
  • Установите зависимости
sudo pip3 install -r requirements.txt

Версия Python: Python 3 (>=3.7).

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

espoofer имеет три режима работы: сервер ('s', режим по умолчанию), клиент ('c') и ручной ('m'). В режиме сервера espoofer работает как почтовый сервер для проверки валидации в принимающих сервисах. В режиме клиента espoofer работает как почтовый клиент для проверки валидации в отправляющих сервисах. Ручной режим используется для отладки.


Рисунок 2. Три типа атакующих и их режимы работы

Режим сервера

Для запуска espoofer в режиме сервера вам понадобятся: 1) IP-адрес (1.2.3.4), исходящий порт 25 которого не блокируется вашим интернет-провайдером, и 2) домен (attack.com).

  1. Настройка домена
  • Установите публичный ключ DKIM для attack.com
selector._domainkey.attacker.com TXT  "v=DKIM1; k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDNjwdrmp/gcbKLaGQfRZk+LJ6XOWuQXkAOa/lI1En4t4sLuWiKiL6hACqMrsKQ8XfgqN76mmx4CHWn2VqVewFh7QTvshGLywWwrAJZdQ4KTlfR/2EwAlrItndijOfr2tpZRgP0nTY6saktkhQdwrk3U0SZmG7U8L9IPj7ZwPKGvQIDAQAB"
  • Установите SPF-запись для attack.com
attack.com TXT "v=spf1 ip4:1.2.3.4 +all"
  1. Настройте инструмент в config.py
config ={
	"attacker_site": b"attack.com", # attack.com
	"legitimate_site_address": b"[email protected]", # legitimate.com
	"victim_address": b"[email protected]", # [email protected]
	"case_id": b"server_a1", # server_a1
}

Вы можете просмотреть список case_id всех тестовых случаев с помощью опции -l:

python3 espoofer.py -l
  1. Запустите инструмент для отправки поддельного письма
python3 espoofer.py

Вы можете изменить case_id в config.py или использовать опцию -id в командной строке для тестирования разных случаев:

python3 espoofer.py -id server_a1

Режим клиента

Для запуска espoofer в режиме клиента вам нужна учётная запись на целевом почтовом сервисе. Эта атака использует тот факт, что некоторые почтовые сервисы не выполняют достаточную проверку писем, полученных от локальных MUA. Например, [email protected] пытается выдать себя за [email protected].

  1. Настройте инструмент в config.py
config ={
	"legitimate_site_address": b"[email protected]",  
	"victim_address": b"[email protected]", 
	"case_id": b"client_a1",

	"client_mode": {
		"sending_server": ("smtp.gmail.com", 587),  # SMTP сервер отправки и порт
		"username": b"[email protected]", # Имя пользователя и пароль вашей учётной записи
		"password": b"your_passward_here",
	},
}

Вы можете просмотреть список case_id всех тестовых случаев с помощью опции -l:

python3 espoofer.py -l

Примечание: sending_server должен быть адресом SMTP-сервера отправки, а не сервера приёма.

  1. Запустите инструмент для отправки поддельного письма
python3 espoofer.py -m c

Вы можете изменить case_id в config.py и запустить снова, или использовать опцию -id в командной строке:

python3 espoofer.py -m c -id client_a1

Ручной режим

Пример ручного режима:

python3 espoofer.py -m m -helo attack.com -mfrom <[email protected]> -rcptto <[email protected]> -data raw_msg_here -ip 127.0.0.1 -port 25

Скриншоты

  1. Краткий обзор тестовых случаев.

Ошибки, найденные с помощью этого инструмента

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