
Простой Python CLI для подделки электронных писем.
Несколько программ на Python, предназначенных для помощи специалистам по тестированию на проникновение в спуфинге электронной почты.
Из-за улучшений в защите электронной почты и методов борьбы со спамом, попытки подделать письма, просто потому что у них нет корректной записи DMARC или они отправляются с произвольных почтовых серверов, больше не эффективны. Этот проект прекратил своё существование и не будет поддерживаться.
Почтовые серверы не принимают соединения с обычных компьютеров. В попытке ограничить количество спама, большинство MTA принимают соединения только от ретрансляторов, имеющих полностью определённое доменное имя (FQDN). Поэтому самый лёгкий способ использовать этот проект — с Linux-сервера Virtual Private Server. Существует несколько бесплатных или недорогих вариантов, таких как Digital Ocean, Linode и Amazon EC2.
После настройки сервера следующим шагом является установка и запуск SMTP-сервера. Это необходимо для фактической отправки поддельных писем. Я лично использую Postfix, хотя подойдёт любой. Данный скрипт по умолчанию использует localhost:25 в качестве почтового сервера.
В Kali Linux самый простой способ сделать это:
sudo apt-get install postfix
sudo service postfix start
При установке postfix укажите Internet-facing и введите правильный FQDN при запросе.
Этот скрипт имеет две зависимости:
dnspythoncoloramaИх можно установить с помощью pip:
pip install -r requirements.txt
Добавьте желаемое содержимое письма в формате HTML в HTML-файл. Затем выполните следующую команду:
./SimpleEmailSpoofer.py -e [Путь к файлу письма] -t [Адрес получателя] -f [Адрес отправителя] -n [Имя отправителя] -j [Тема письма]
Дополнительные флаги можно найти, выполнив:
./SimpleEmailSpoofer.py -h
Спуфинг электронной почты был проблемой с первых дней протокола SMTP. Основная причина спуфинга в том, что SMTP не требует аутентификации между почтовыми ретрансляторами. Злоумышленник может поднять или найти "открытый ретранслятор" (т.е. SMTP-сервер, который может отправлять письма с произвольных доменов), что является конфигурацией по умолчанию для SMTP-серверов, и использовать его для отправки произвольных писем с произвольных адресов.
В попытке бороться со спамом, многие SMTP-серверы теперь блокируют любые почтовые ретрансляторы, не имеющие полностью определённого доменного имени (FQDN). FQDN — это DNS-запись типа A, указывающая на IP-адрес ретранслятора. Это может быть либо домен, приобретённый у регистратора доменов, либо домен, автоматически связанный с виртуальным частным сервером.
Поскольку спуфинг электронной почты является серьёзной и широко распространённой проблемой, за эти годы было добавлено несколько механизмов защиты для борьбы с ним. Однако все эти защиты являются опциональными и требуют значительной настройки. Как следствие, до 98% интернета всё ещё уязвимы. Для получения дополнительной информации см. пост в блоге Bishop Fox на эту тему.
Чтобы определить, уязвим ли домен для спуфинга электронной почты, Bishop Fox создал два инструмента:
Используйте этот инструмент только для обучения, исследований или в рамках утверждённых оценок социальной инженерии. Хотя спуфинг электронной почты является мощным инструментом в арсенале социального инженера, также тривиально определить сервер, отправивший любое письмо. Кроме того, этот инструмент не претендует на обход каких-либо продуктов, таких как комплексы защиты электронной почты Barracuda или ForcePoint. Пожалуйста, используйте ответственно.
Программа Spoofcheck, которая позволяет пользователям определить, уязвимы ли домены для спуфинга электронной почты, перемещена в следующий репозиторий: