Evilginx + Gophish
Поднимаем инфраструктуру для симуляции фишинга с обходом 2FA
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Связка Evilginx и Gophish
Два фреймворка, которые мы будем использовать для проведения фишинговой кампании, называются Evilginx и Gophish. Это два самостоятельных инструмента, которые выполняют разные задачи.
Gophish — это программа с открытым кодом, созданная Джорданом Райтом. Gophish позволяет проводить автоматизированные фишинговые рассылки и таким образом имитировать действия злоумышленника.
Evilginx — это обратный прокси‑сервер, который проксирует соединение между пользователем и целевым веб‑ресурсом, позволяя перехватить логин, пароль и ключи сеанса. С помощью этого фреймворка можно обойти двухфакторную аутентификацию. Автор Evilginx — Куба Грецки.
Есть две версии интеграции этих двух инструментов. Первая — неофициальная, ее разработал Дилан Эванс, он же fin3ss3g0d. Она включает в себя более расширенный набор возможностей вроде SMS-рассылок и генерации QR-кодов, а также некоторые другие отличия от официальной версии.
Официальную интеграцию разработал автор Evilginx Куба Грецки, и появилась она относительно недавно — в апреле 2024 года. На данный момент в ней меньше функций, чем в версии fin3ss3g0d, но инструмент постоянно обновляется, и, скорее всего, все недостающее добавят. В статье я буду использовать именно эту версию интеграции.
Начинаем строить инфраструктуру
Для начала необходимо арендовать VPS/VDS и доменное имя. Нам хватит следующей конфигурации: 1 Гбайт ОЗУ, 20 Гбайт SSD и один процессор. В качестве ОС — Ubuntu 20.04.

Получаем креды от сервера, подключаемся к машине по SSH и проводим базовую настройку: создаем нового пользователя и добавляем его в группу sudo, создаем ключи SSH, отключаем аутентификацию по паролю, настраиваем порты, правила файрвола и так далее.
info
Подробнее о первоначальной настройке сервера ты можешь прочесть в статье «Ваш чек, сэр! Todo после покупки виртуального Linux-сервера».
Разобравшись с сервером, приступаем к созданию и настройке домена. Для этого выбираем любой сервис, предоставляющий услуги аренды. Один из ключевых компонентов фишинговой атаки — это доменное имя, которое введет пользователя в заблуждение. Регистрация такого домена называется тайпсквоттинг, и вариантов здесь может быть много.
Я решил создать неприметный домен webaccount.
, чтобы потом добавить к нему поддомены, содержащие названия известных организаций, так как поддомены необязательно должны быть уникальными. Например, если добавим поддомен microsoft
, у нас получится microsoft.
.
Теперь приступим к настройке DNS. Первым делом нужно установить основную запись типа А, которая связывает доменное имя с IP-адресом сервера. Для этого редактируем ресурсные записи в разделе управления зоной DNS у регистратора.

В дальнейшем при создании фишинговых адресов будет использоваться множество поддоменов и для каждого такого поддомена потребуется отдельная запись типа A, однако можно использовать и запись типа CNAME, передав ей в качестве аргумента регулярное выражение «звездочка».

Этот тип записи сопоставит псевдоним (поддомен) с каноническим именем домена (webaccount.
) в момент генерации фишингового адреса и получения TLS/SSL-сертификата в Evilginx.
Подождем, пока DNS-записи распространятся (это может занять некоторое время, от 15 минут до нескольких часов), и проверим работоспособность сервера. Для этого просто обращаемся к домену через браузер.

Домен успешно привязался к серверу. После аренды домена желательно подождать хотя бы неделю: чем домен старше, тем меньше вероятность, что он окажется в черных списках. Во время моих первых попыток я регистрировал домен и сразу же использовал его в имитации фишинговой атаки, из‑за чего его отстреливали в течение суток. Раз с доменом разобрались, приступим к установке почтового сервера.
Поднимаем почтовый сервер
SMTP-сервер — один из ключевых компонентов нашей будущей инфраструктуры. Его задача — выступать в роли ретранслятора. Настройка почтового сервера несложная, но требует множества последовательных действий.
Первым делом необходимо установить две записи. Одна — типа А с именем mail
, указывающая на IP-адрес сервера.

Вторая запись — типа MX, которая указывает на сервер, обрабатывающий электронную почту.

Теперь можно приступить к установке и настройке Postfix. Подключаемся к своему VPS/VDS по SSH и запускаем установку:
sudo apt install postfix
При настройке в первом шаге выбираем пункт Internet Site.

Вводим доменное имя, которое будет определяться при отправке почты.

Указываем почтовый адрес администратора домена. Можно оставить пустым (что не рекомендуется), тогда почта, предназначенная для администратора, будет отправляться в /
.

Дальше прописываем адреса вот в таком формате:
<hostname>, <domain>, localhost.com, localhost

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

Поле с локальной сетью не трогаем и оставляем по умолчанию.

Размер почтового ящика оставляем со значением 0, в этом случае он будет определяться общим дисковым пространством.

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

И в последней настройке выбираем используемые протоколы — all.

После настройки установку Postfix можно считать завершенной. Проверяем при помощи утилиты netcat, запустился ли почтовый сервер. Достаточно постучаться на 25-й порт нашего хоста (порт SMTP по умолчанию).

Почтовый сервер запущен, но одной установки мало, необходимо также настроить ресурсные записи, чтобы почта доходила до конечной точки. Если пропустить этот важный этап, почта не то что будет попадать в спам, она в принципе не будет рассматриваться почтовыми серверами. Для успешной доставки сообщений необходимо настроить ресурсные DNS-записи типа TXT — SPF, DKIM, DMARC.
Настраиваем SPF, DKIM и DMARC
SPF
Начнем с записи SPF (Sender Policy Framework). Это текстовая запись, которая описывает то, какие хосты имеют право отправлять почту от имени домена, то есть это список доверенных серверов. По сути, SPF — это механизм, проверяющий, авторизован ли хост, отправляющий электронное письмо от определенного доменного имени.
Чтобы такое правило работало, создаем запись TXT в панели управления доменом.

Эта запись определяет, что электронную почту от имени домена могут отправлять серверы, указанные в записях MX и A домена, а также имеющие IP-адреса из диапазона 94.
. Почта от других хостов будет помечена как подозрительная.
www
Ты можешь воспользоваться веб‑инструментом SPF Wizard, чтобы создать свои правила SPF.
DKIM
Второй записью настроим DKIM (DomainKeys Identified Mail). Это механизм проверки электронной почты, задача которого — предотвращать подделку сообщений. Для этого применяется асимметричное шифрование: каждое сообщение подписывается закрытым ключом.
info
DKIM использует пары ключей: закрытый, к которому имеет доступ только почтовый сервер, и открытый, который прописывается в текстовой DNS-записи, а затем используется получателем для проверки легитимности сообщения.
Настройка этой записи потребует множество шагов, будь внимателен при их выполнении — сделать что‑то не так довольно легко. Полное руководство по настройке DKIM есть на DigitalOcean, я не буду полностью переписывать его, а только опишу ключевые моменты.
Первым делом устанавливаем утилиту OpenDKIM:
sudo apt update
sudo apt install opendkim opendkim-tools
И редактируем файл /
. Добавим следующие строки (номер порта Socket выбираем любой, который не занят):
AutoRestart Yes
AutoRestartRate 10/1h
UMask 002
Syslog yes
SyslogSuccess Yes
LogWhy Yes
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
UserID opendkim:opendkim
Socket inet:12712@localhost
Подключаем расширение Milter к Postfix. Сначала открываем файл /
и меняем номер порта вот в этой строке:
SOCKET="inet:12301@localhost"
Новый номер выбираем тот, что указали ранее в opendkim.
:
SOCKET="inet:12712@localhost"
Затем настраиваем Postfix на использование Milter. Для этого открываем файл /
и убеждаемся, что присутствуют эти две строки и они не закомментированы:
milter_protocol = 2milter_default_action = accept
Редактируем следующие строки, меняя номер порта на тот, что определили ранее.

Если таких параметров в файле нет, то прописываем их:
smtpd_milters = inet:localhost:12712non_smtpd_milters = inet:localhost:12712
Создаем каталоги для взаимодействия с ключами:
sudo mkdir /etc/opendkim
sudo mkdir /etc/opendkim/keys
Указываем доверенные хосты в файле /
.

Создаем таблицу ключей, для этого прописываем в файл /
такую строку:
mail._domainkey.webaccount.site webaccount.site:mail:/etc/opendkim/keys/webaccount.site/mail.private
Создаем таблицу подписей, прописав в файл /
эту строку:
*@webaccount.site mail._domainkey.webaccount.site
Теперь приступим к созданию пары открытого и закрытого ключей. Переходим в каталог /
и создаем директорию для домена, в которой будут храниться ключи.

Генерируем ключи следующей командой:
sudo opendkim-genkey -s mail -d webaccount.site
После чего меняем владельца файла с закрытым ключом на учетную запись opendkim
.

Осталось добавить содержимое файла mail.
в текстовую запись DNS в панели управления доменом. Выводим содержимое файла в консоль, копируем всю строку, которая находится в скобках, и приводим к нужному формату.

В итоге у меня получилось отформатированное значение, которое нужно добавить в DNS-запись типа TXT с ключом mail.
.


DMARC
DMARC (Domain-based Message Authentication, Reporting & Conformance) — это протокол аутентификации электронной почты, созданный для защиты доменов от спуфинга (подделки отправителя) и фишинговых атак. Политика DMARC определяет то, как серверам‑получателям следует обрабатывать электронные письма, которые не проходят проверку аутентификации SPF и DKIM.
Настройка крайне проста, особенно на фоне DKIM. Достаточно создать TXT-запись вроде той, что на скриншоте.

Тестируем SMTP-сервер
Когда все настроено, время проверить работоспособность сервера SMTP. Для этого можно либо отправить сообщение себе на почту с любого сервиса, либо же воспользоваться mail-тестером. Открываем сайт по ссылке, копируем указанный там почтовый адрес и жмем большую кнопку «Проверить». Теперь мы можем отправить сообщение на выданный нам адрес. Это делается вот такой командой:
echo "Test" | mail -s "Test" [почтовый адрес]
Как видим, почтовый сервер настроен и корректно работает (половину балла мне сняли, потому что домен есть в одном из нескольких черных списков, но это совсем не критично). Если ты сделал ошибки в настройке, в этом отчете они будут указаны.

Ставим и настраиваем Evilginx и Gophish
Ставим Gophish
Прежде чем поднимать Evilginx и Gophish, нужно установить в систему язык Go, так как оба этих инструмента работают на нем. Отправляемся на сайт разработчика и открываем страницу установки, скачиваем deb-пакет командой wget и следуем инструкции.

Приступим к установке Gophish. Нам нужно скачать версию с интеграцией в Evilginx из репозитория, тут есть два варианта установки. Первый — скачиваем командой wget архив с релизом для своей ОС со страницы releases, после чего просто разархивируем файл и делаем бинарник Gophish исполняемым командой chmod.
Второй вариант — сборка из исходного кода. Для этого копируем репозиторий и запускаем установку:
sudo git clone https://github.com/kgretzky/gophish/
go build
В результате у нас будет версия Gophish, модифицированная для работы с Evilginx.

Теперь можно приступить к настройке и запуску Gophish. Первым делом редактируем файл config.
. В нем нужно изменить параметр admin_server.
. По умолчанию там указан локальный IP 127.0.0.1. Чтобы Gophish работал не только локально и к нему возможно было подключиться через интернет, нужно изменить этот IP на 0.0.0.0:3333. Номер порта, кстати, можно выставить любой незанятый в системе.

После настройки запускаем исполняемый файл Gophish и сразу ищем в логах логин и пароль по умолчанию для доступа к панели управления.

Теперь переходим в браузер и обращаемся к панели Gophish по адресу своего VPS/VDS с указанным ранее портом.

Вводим креды, которые нашли в логах, после чего у нас открывается форма для изменения пароля по умолчанию. Меняем пароль, снова вводим креды, аутентифицируемся и попадаем в нашу учетную запись Gophish.

Чтобы оптимизировать запуск и дальнейшие фишинговые кампании, нужно настроить Gophish как демон, то есть создать сервис, который будет запускать Gophish в фоновом режиме или останавливать одной командой. В каталоге /
находятся сценарии оболочки, которые запускаются системой инициализации SysVinit, поэтому создаем в этом каталоге файл Gophish и добавляем следующий код, указав в параметре appDirectory
абсолютный путь к Gophish:
processName=Gophish
process=gophish
appDirectory=/home/zxc/gophish
logfile=/var/log/gophish/gophish.log
errfile=/var/log/gophish/gophish.error
start() { echo 'Starting '${processName}'...' cd ${appDirectory} nohup ./$process >>$logfile 2>>$errfile &
sleep 1
}stop() { echo 'Stopping '${processName}'...' pid=$(/bin/pidof ${process}) kill ${pid} sleep 1
}status() { pid=$(/bin/pidof ${process}) if [["$pid" != ""| "$pid" != "" ]]; then echo ${processName}' is running...' else echo ${processName}' is not running...' fi}case $1 in start|stop|status) "$1" ;;esac
Сохраняем файл и прописываем команды для запуска демона и проверки статуса его работы.

Сервис запускается и работает корректно.
Ставим Evilginx
Копируем официальный репозиторий Evilginx с GitHub:
sudo git clone https://github.com/kgretzky/evilginx2 && cd evilginx2
Evilginx тоже написан на Go, который у нас уже установлен. Поэтому просто выполняем make
. Скрипт соберет весь проект и создаст исполняемый файл evilginx
в директории build
.

Чтобы постоянно не прописывать бесконечные пути, лучше собрать все необходимое в отдельном каталоге. Создаем директорию evilginx
в домашнем каталоге и копируем исполняемый файл evilginx
вместе с директориями phishlets
и redirectors
в ~/
:
sudo mkdir ~/evilginx
cd ~
sudo cp evilginx/build/evilginx ~/evilginx
sudo cp -r evilginx/phishlets/ ~/evilginx
sudo cp -r evilginx/redirectors/ ~/evilginx

Когда все готово, приступаем к настройке. Запускаем Evilginx:
sudo ./evilginx -p phishlets/

Нам необходимо определить IP-адрес и домен, а также интегрировать Gophish. В консоли Evilginx прописываем эти команды:
config domain [ваш домен]
config ipv4 [IP вашего VPS/VDS]
config gophish admin_url [URL, на котором поднят gophish]
config gophish api_key [ключ API gophish]
config gophish insecure true
Ключ API Gophish можно найти в панели управления Gophish, перейдя на вкладку Account Settings.

Теперь выполняем команду config
для тестирования соединения Evilginx и Gophish.

Сообщение гласит о том, что соединение успешно.
На этом этапе мы построили основную часть инфраструктуры. Теперь можно начать подготовку к проведению фишинговой кампании.
Настройка кампании Gophish
Отправляемся в панель управления Gophish и начинаем настраивать компоненты для рассылки фишинговых сообщений.
Первый компонент — это группы пользователей, которым будут рассылаться письма. Другими словами, это жертвы, точнее, подопытные в нашем тесте.
Предположим, в результате разведки мы получили имена и почтовые адреса работников компании. Все эти данные добавляем в соответствующие поля и нажимаем кнопку Add для каждого пользователя. Либо можешь сразу загрузить файл CSV, содержащий все эти данные. Когда вся инфа добавлена, нажимаем кнопку Save changes.

Следующее, что стоит настроить, — это шаблон электронного письма. Правильно написанное письмо, не вызывающее подозрений, а вызывающее только желание поскорее нажать на ссылку и выполнить все инструкции, — это ключевой компонент успешной фишинговой атаки. Тут уже все зависит от навыков социальной инженерии атакующего. Я создам абсолютно условное фишинговое письмо и не буду расписывать методы социальной инженерии, это отдельная тема.
info
О фишинговых приемах ты можешь прочесть в статье «Письмо с сюрпризом. Изучаем уловки и хитрости для доставки писем с малварью».
Чтобы создать фишинговое письмо, я взял HTML-код настоящего сообщения от Microsoft, которое приходило мне на почту, а затем немного изменил его содержание.
В разделе Email Templates вставляем HTML-код и редактируем сообщение на вкладке HTML.

Не забываем поставить галочку Add Tracking Image, которая добавит трекер для отслеживания статистики по открытым письмам. Трекер выглядит как переменная {{.
в коде сообщения. Кстати, об этих переменных стоит поговорить чуть подробнее.
При помощи переменных ты можешь менять содержимое сообщения в зависимости от пользователя, которому оно отправлено. Всего переменных десять, нам в первую очередь пригодятся {{.
, {{.
и {{.
, которые подставляют имя, фамилию и адрес почты из настроек групп пользователей. Благодаря им письма не придется персонализировать вручную.
Переменная {{.
подставляет сгенерированную фишинговую ссылку в сообщение. Например, я подставил ссылку через переменную в кнопку «Подтвердить». Про остальные переменные можно прочитать в документации.
Также прописываем заголовок и отправителя сообщения, который будет указан, когда письмо дойдет. Я просто скопировал отправителя из официального сообщения Microsoft, но изменил домен на свой, добавив слово microsoft
поддоменом третьего уровня. В итоге мое сообщение будет отправлено от имени «Служба технической поддержки учетных записей Microsoft noreply@microsoft.webaccount.site».
Ниже — фишинговое письмо, которое у меня получилось. Gophish будет подставлять почту пользователя вместо переменной {{.
.

Письмо, как видишь, условное и на практике потребовало бы доработки.
Третий компонент — это профиль отправки, тот, ради которого мы настраивали почтовый сервер и записи DNS. Здесь мы указываем SMTP-ретранслятор, с помощью которого будет происходить рассылка. Открываем вкладку Sending Profile, пишем название профиля, указываем почту отправителя и, наконец, пишем адрес и порт SMTP-ретранслятора. Так как он находится на том же хосте, где мы запустили Gophish, вводим localhost:
(порт SMTP указывать обязательно). Также не забудь поставить галочку Ignore Certificate Errors.

В этом же окне есть кнопка для отправки тестового письма, обязательно проверяй работоспособность SMTP-ретранслятора перед проведением кампании.

На этом настройка компонентов Gophish закончена, поэтому сворачиваем браузер и приступаем к созданию фишинговых ресурсов Evilginx.
Cоздание фишинговых ресурсов Evilginx
Первое, с чем нужно ознакомиться, — фишлеты Evilginx. Это самая основа, с их помощью и обходится 2FA. Фишлеты — это конфигурационные файлы YAML, которые определяют, какие домены и поддомены проксировать, подменять, какие аутентификационные данные перехватывать и что с ними делать. В общем, правильно настроенный фишлет определяет технический успех фишинговой атаки. Для каждого веб‑ресурса пишется свой фишлет, однако каждый фишлет — это шаблон.
Я не буду подробно описывать, как работают фишлеты или как их создавать, об этом поговорим в другой раз. Пока же можешь обратиться к официальной документации. Самое главное — не покупай фишлеты в «Телеграме», на форумах и тому подобных ресурсах!
Настраиваем фишлет
Целевым веб‑ресурсом я выбрал Outlook, фишлет к которому уже написан и опубликован в репозитории на GitHub. Скачиваем его и перемещаем в директорию ~/
.
Запускаем Evilginx с фишлетом:
sudo ./evilginx -p phishlets/
И начинаем настраивать фишинговые компоненты. Первым делом задаем URL, который пользователь будет видеть во время проксирования трафика. Нужно придумать такое имя хоста, которое не будет вызывать подозрений. Я добавил два поддомена к своему имени хоста:
microsoft.outlook.webaccount.site
Так как поддомены необязательно должны быть уникальными, мы используем это свойство для добавления известных и авторитетных имен. Указываем имя хоста и активируем фишлет:
phishlets hostname Outlook microsoft.outlook.webaccount.site
phishlets enable Outlook
В этот момент Evilginx будет автоматически получать сертификаты SSL/TLS для всех доменов и поддоменов, которые используются в атаке, чтобы фишинговый URL, да и соединение в принципе работали по протоколу HTTPS.

Через 30 секунд успешно получаем все сертификаты SSL/TLS и двигаемся дальше.
Готовим приманки
Следующие в очереди — приманки, они же Lures в официальной документации. По факту это просто сгенерированные фишинговые ссылки, которые мы отправляем. Настройка очень проста, сначала создаем приманку для фишлета Outlook:
lures create Outlook
Консоль выведет числовой идентификатор приманки, он нам еще пригодится. Приводим ссылку к такому виду:
https://microsoft.outlook.webaccount.site/user/account

Копируем сгенерированную фишинговую ссылку и переходим в Gophish.
Запускаем фишинговую атаку
Теперь откроем вкладку Campaigns и соберем все воедино. Пишем название кампании и выбираем по заданным именам: шаблон электронного письма, профиль отправки и группу пользователей.

Выбрав все компоненты, вставляем сгенерированную ранее ссылку в поле Evilginx Lure URL и нажимаем на кнопку Launch Campaign.

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

Проверяем почту и видим, что фишинговое сообщение дошло.

Нажав на профиль отправителя, замечаем, что тут указано все то, что мы прописали в шаблоне электронного сообщения Gophish. Невнимательный пользователь, скорее всего, даже не будет проверять, но если кто‑то и проверит, то есть вероятность, что слово microsoft
в названии домена убаюкает подозрительность.

Сразу же проверим, работает ли трекер, отслеживающий открытие сообщений. Видим, что просмотр сообщения регистрируется, статус пользователя в столбце Status меняется, к тому же обновляются диаграммы.

Вернемся к нашему фишинговому письму. Когда мы наводим курсор на кнопку «Подтвердить», в нижнем углу браузера видим ссылку, по которой мы перейдем после нажатия.

Имитируя действия потенциальной жертвы, переходим по фишинговой ссылке и ждем, пока браузер проверит, безопасная ли это страница.

Нас перенаправляет на настоящую страницу авторизации Microsoft, но при этом весь трафик проходит через наш обратный прокси‑сервер вот с таким доменом:
live.microsoft.outlook.webaccount.site

Вводим логин и пароль, после чего получаем запрос на подтверждение второго фактора аутентификации в приложении Microsoft Authenticator.

Продолжая имитацию действий потенциальной жертвы, подтверждаем вход в мобильном приложении и ждем, пока пройдет аутентификация.

И в итоге входим в учетную запись. При этом соединение все еще происходит через прокси‑сервер потенциального злоумышленника.

Открываем консоль Evilginx и видим логи успешного перехвата.

Вводим команду
sessions [ID сессии]
И получаем информацию, которая содержит время перехвата, IP-адрес жертвы, User agent, логин, пароль и cookie сеанса.

Логин и пароль — это, конечно, важная и критическая информация, но смысл этой атаки — перехватить токен сеанса в виде файла cookie. Чтобы проэксплуатировать перехват сессии, копируем всю строку cookies и открываем браузер.
Устанавливаем расширение Cookie-Editor, которое позволяет манипулировать куками, и открываем легитимную страницу входа в Microsoft Outlook. Перед тем как подменять cookie, удаляем те, что назначены браузером. Для этого просто нажимаем кнопку Delete All.

Затем нажимаем кнопку Import и вставляем сплошную строку из перехваченной сессии в Evilginx. Теперь еще раз нажимаем на Import и обновляем страницу.

После обновления страницы браузер обрабатывает куки, которые мы внедрили, и открывает учетную запись пользователя, у которого был перехвачен сессионный токен.

Раздобыв учетку Microsoft в любом сервисе, мы также получаем доступ к основным настройкам и ко всем сервисам этой учетной записи. Это может быть довольно критично, особенно учитывая, сколько конфиденциальной информации может храниться в OneDrive или в документах Word.

Подводим итоги
Задача Gophish заключается не только в автоматизации рассылок, но и в ведении статистики, например для подготовки отчетов о результатах атаки, которые пригодятся пентестерам. После завершения кампании мы получаем статистику о том, кто открыл письмо, кто перешел по ссылке, кто попался на фишинг и ввел креды или же что‑то заподозрил и пожаловался на письмо.

На этом наша фишинговая кампания завершена. Как видим, для проведения этой атаки нам потребовались только базовые технические знания и навыки, а также небольшое финансовое вложение в аренду сервера и домена.
Есть еще огромное множество методов, которые сделают атаку более изощренной, но моей целью было показать базовый вариант, который тем не менее вполне может применяться на практике.
Ну а лучшее средство защиты — это банальная внимательность, которой пользователям зачастую не хватает.