Написание спуфера на Python для подмены почты

Спуфер

Продолжим изучать Python для использования в пентесте. В этой статье напишем простой спуфер на Python для отправки поддельных электронных писем.

Еще по теме: Как использовать pynput для создания кейлоггера на Python

Статья написана в образовательных целях для обучения пентестеров (этичных хакеров). Использование подобных инструментов для спама и фишинга, без надлежащего разрешения, является незаконным и расценивается, как уголовное преступление. Ни редак­ция spy-soft.net, ни автор не несут ответс­твен­ность за ваши действия.

SMTP-спуфер почты на Python

На рабочем столе виртуальной машины Kali Linux создайте новую папку с именем spoofer. В ней создайте файл Python с именем espoofer.py, откройте его в среде разработки или любом текстовом редакторе, а затем скопируйте в него следующий код, который передает сообщения по протоколу SMTP через TCP-соединение.

Давайте разберем работу данного кода.

Мы отправляем свое первое сообщение на сервер, выдавая свой компьютер за почтовый сервер, связанный с адресом отправителя:

Затем выводим на экран ответ, полученный от сервера:

Далее отправляем данные, после чего завершаем сообщение отправкой символов <CR><LF>.<CR><LF>, которые в языке Python представляются с помощью символов \r и \n:

Считываем параметры командной строки, определяющие наш целевой почтовый сервер и заголовки нашего электронного письма:

Использование спуфера почты на Python

Теперь запустим этот скрипт Python. Откройте терминал и перейдите в папку, содержащую файл espoofer.py:

Запустите программу espoofer.py, используя следующие аргументы:

В результате выполнения этой программы с адреса hacking@virginia.edu на адрес электронной почты для учетной записи sys будет отправлено сообщение «Hello from the other side!».

Подобная атака не всегда оказывается успешной. Некоторые SMTP-серверы могут использовать такие защитные механизмы, как идентификация сообщений, создание отчетов и определение соответствия по доменному имени (domainbased message authentication, reporting, and conformance, DMARC), которые позволяют принимающему SMTP-серверу удостовериться в том, что SMTP-сообщения получены с авторизованного IP-адреса. Тем не менее существуют и другие хитрости.

Например, вы можете зарегистрировать доменное имя, напоминающее атакуемое.Такие инструменты, как URLCrazy, позволяют быстро находить похожие домены.Чтобы сократить количество спама, некоторые интернет-провайдеры блокируют входящие пакеты на порте 25. Поэтому если вы хотите провести аудит системы за пределами своей виртуальной среды, то вам придется направить свой трафик через VPN.

SMTPS-спуфер почты на Python

В предыдущем примере мы отправляли SMTP-сообщения по незашифрованному каналу. Теперь рассмотрим метод SMTPS, который предполагает отправку SMTP-сообщений по каналу, зашифрованному с помощью протокола TLS.

Наша виртуальная машина Metasploitable не поддерживает SMTPS, поэтому мы подключимся к SMTP-серверу Gmail, который его поддерживает, и отправим сами себе поддельное письмо.

Если ваш интернет-провайдер это позволяет, а также при наличии VPN вы можете использовать команду openssl s_client с SMTP-сервером Google (gmail-smtp-in.l.google.com), который принимает входящие SMTP-соединения от других SMTP-серверов.

После подключения вы можете произвести обмен вручную и отправить себе поддельное электронное письмо.

Теперь напишем программу, которая использует метод SMTPS при взаимодействии с почтовыми серверами. Некоторые серверы поддерживают только зашифрованную связь через SMTPS, поэтому использовать незашифрованный SMTP для подделки писем удается не всегда.

Библиотека Python smtplib инкапсулирует функции, которые мы обсуждали ранее. Мы используем ее для отправки поддельного электронного письма с применением метода SMTPS.

Откройте текстовый редактор, скопируйте следующий код и сохраните файл под именем secureSpoofer.py:

Теперь разберем код.

Вместо того чтобы вводить текст электронного письма вручную, считаем его из файла:

Это позволит нам использовать шаблоны, делающие поддельные письма более правдоподобными. Шаблоны написаны на языке HTML, и вы можете найти их бесплатные версии, выполнив поиск в интернете по запросу «шаблоны фишинговых писем».

Загрузив сообщение, запустите сеанс TLS:

Использование шаблона для спуфинга почты

Ниже дан пример шаблона электронного письма template.html:

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

Отлично, теперь вы знаете, как отправлять поддельные электронные письма при проведении тестирования на проникновения.

Полезные ссылки:

Ban32

Хакер-самоучка, который может взломать тостер и настроить его на отправку вам утреннего приветствия в коде Морзе.

Добавить комментарий