Содержание статьи
- Связка Evilginx и Gophish
- Начинаем строить инфраструктуру
- Поднимаем почтовый сервер
- Настраиваем SPF, DKIM и DMARC
- SPF
- DKIM
- DMARC
- Тестируем SMTP-сервер
- Ставим и настраиваем Evilginx и Gophish
- Ставим Gophish
- Ставим Evilginx
- Настройка кампании Gophish
- Cоздание фишинговых ресурсов Evilginx
- Настраиваем фишлет
- Готовим приманки
- Запускаем фишинговую атаку
- Подводим итоги
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Связка Evilginx и Gophish
Два фреймворка, которые мы будем использовать для проведения фишинговой кампании, называются Evilginx и Gophish. Это два самостоятельных инструмента, которые выполняют разные задачи.
Gophish — это программа с открытым кодом, созданная Джорданом Райтом. Gophish позволяет проводить автоматизированные фишинговые рассылки и таким образом имитировать действия злоумышленника.
Evilginx — это обратный прокси‑сервер, который проксирует соединение между пользователем и целевым веб‑ресурсом, позволяя перехватить логин, пароль и ключи сеанса. С помощью этого фреймворка можно обойти двухфакторную аутентификацию. Автор Evilginx — Куба Грецки.
Есть две версии интеграции этих двух инструментов. Первая — неофициальная, ее разработал Дилан Эванс, он же fin3ss3g0d. Она включает в себя более расширенный набор возможностей вроде SMS-рассылок и генерации QR-кодов, а также некоторые другие отличия от официальной версии.
Официальную интеграцию разработал автор Evilginx Куба Грецки, и появилась она относительно недавно — в апреле 2024 года. На данный момент в ней меньше функций, чем в версии fin3ss3g0d, но инструмент постоянно обновляется, и, скорее всего, все недостающее добавят. В статье я буду использовать именно эту версию интеграции.
Начинаем строить инфраструктуру
Для начала необходимо арендовать VPS/VDS и доменное имя. Нам хватит следующей конфигурации: 1 Гбайт ОЗУ, 20 Гбайт SSD и один процессор. В качестве ОС — Ubuntu 20.04.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37572/1.png)
Получаем креды от сервера, подключаемся к машине по SSH и проводим базовую настройку: создаем нового пользователя и добавляем его в группу sudo, создаем ключи SSH, отключаем аутентификацию по паролю, настраиваем порты, правила файрвола и так далее.
info
Подробнее о первоначальной настройке сервера ты можешь прочесть в статье «Ваш чек, сэр! Todo после покупки виртуального Linux-сервера».
Разобравшись с сервером, приступаем к созданию и настройке домена. Для этого выбираем любой сервис, предоставляющий услуги аренды. Один из ключевых компонентов фишинговой атаки — это доменное имя, которое введет пользователя в заблуждение. Этот процесс называется тайпсквоттинг, и вариантов здесь может быть много.
Я решил создать неприметный домен webaccount.
, чтобы потом добавить к нему поддомены, содержащие названия известных организаций, так как поддомены необязательно должны быть уникальными. Например, если добавим поддомен microsoft
, у нас получится microsoft.
.
Теперь приступим к настройке DNS. Первым делом нужно установить основную запись типа А, которая связывает доменное имя с IP-адресом сервера. Для этого редактируем ресурсные записи в разделе управления зоной DNS у регистратора.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37571/2.png)
В дальнейшем при создании фишинговых адресов будет использоваться множество поддоменов и для каждого такого поддомена потребуется отдельная запись типа A, однако можно использовать и запись типа CNAME, передав ей в качестве аргумента регулярное выражение «звездочка».
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37570/3.png)
Этот тип записи сопоставит псевдоним (поддомен) с каноническим именем домена (webaccount.
) в момент генерации фишингового адреса и получения TLS/SSL-сертификата в Evilginx.
Подождем, пока DNS-записи распространятся (это может занять некоторое время, от 15 минут до нескольких часов), и проверим работоспособность сервера. Для этого просто обращаемся к домену через браузер.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37569/4.png)
Домен успешно привязался к серверу. После аренды домена желательно подождать хотя бы неделю: чем домен старше, тем меньше вероятность, что он окажется в черных списках. Во время моих первых попыток я регистрировал домен и сразу же использовал его в имитации фишинговой атаки, из‑за чего его отстреливали в течение суток. Раз с доменом разобрались, приступим к установке почтового сервера.
Поднимаем почтовый сервер
SMTP-сервер — один из ключевых компонентов нашей будущей инфраструктуры. Его задача — выступать в роли ретранслятора. Настройка почтового сервера несложная, но требует множества последовательных действий.
Первым делом необходимо установить две записи. Одна — типа А с именем mail
, указывающая на IP-адрес сервера.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37568/5.png)
Вторая запись — типа MX, которая указывает на сервер, обрабатывающий электронную почту.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37567/6.png)
Теперь можно приступить к установке и настройке Postfix. Подключаемся к своему VPS/VDS по SSH и запускаем установку:
sudo apt install postfix
При настройке в первом шаге выбираем пункт Internet Site.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37566/7.png)
Вводим доменное имя, которое будет определяться при отправке почты.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37565/8.png)
Указываем почтовый адрес администратора домена. Можно оставить пустым (что не рекомендуется), тогда почта, предназначенная для администратора, будет отправляться в /
.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37564/9.png)
Дальше прописываем адреса вот в таком формате:
<hostname>, <domain>, localhost.com, localhost
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37563/10.png)
Отказываемся от принудительного выполнения синхронизации обновлений.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37562/11.png)
Поле с локальной сетью не трогаем и оставляем по умолчанию.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37561/12.png)
Размер почтового ящика оставляем со значением 0, в этом случае он будет определяться общим дисковым пространством.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37560/13.png)
Символ, который будет использоваться для определения расширения локального адреса, — ставим плюсик.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37559/14.png)
И в последней настройке выбираем используемые протоколы — all.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37558/15.png)
После настройки установку Postfix можно считать завершенной. Проверяем при помощи утилиты netcat, запустился ли почтовый сервер. Достаточно постучаться на 25-й порт нашего хоста (порт SMTP по умолчанию).
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37557/16.png)
Почтовый сервер запущен, но одной установки мало, необходимо также настроить ресурсные записи, чтобы почта доходила до конечной точки. Если пропустить этот важный этап, почта не то что будет попадать в спам, она в принципе не будет рассматриваться почтовыми серверами. Для успешной доставки сообщений необходимо настроить ресурсные DNS-записи типа TXT — SPF, DKIM, DMARC.
Настраиваем SPF, DKIM и DMARC
SPF
Начнем с записи SPF (Sender Policy Framework). Это текстовая запись, которая описывает то, какие хосты имеют право отправлять почту от имени домена, то есть это список доверенных серверов. По сути, SPF — это механизм, проверяющий, авторизован ли хост, отправляющий электронное письмо от определенного доменного имени.
Чтобы такое правило работало, создаем запись TXT в панели управления доменом.
![](https://static.xakep.ru/images/ef4c0a104621ab5a04e73b359388fcc3/37556/17.png)
Эта запись определяет, что электронную почту от имени домена могут отправлять серверы, указанные в записях MX и A домена, а также имеющие IP-адреса из диапазона 94.
. Почта от других хостов будет помечена как подозрительная.
www
Ты можешь воспользоваться веб‑инструментом SPF Wizard, чтобы создать свои правила SPF.
DKIM
Второй записью настроим DKIM (DomainKeys Identified Mail). Это механизм проверки электронной почты, задача которого — предотвращать подделку сообщений. Для этого применяется асимметричное шифрование: каждое сообщение подписывается закрытым ключом.
info
DKIM использует пары ключей: закрытый, к которому имеет доступ только почтовый сервер, и открытый, который прописывается в текстовой DNS-записи, а затем используется получателем для проверки легитимности сообщения.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее