wrangler65
Модератор
Архитектура
Рассматриваемая мной схема фишинговой кампании является примером MitM-атаки с целью захвата реквизитов доступа и сессий атакуемых сотрудников, в том числе, с подтверждением двухфакторной авторизации (2FA) через TOTP -коды и пуш-уведомления.
Компоненты инфраструктуры:
● Фишинговый сервер. В качестве фишингового сервера подойдет любой VPS-сервер с Linux. Например, AWS EC2, тем более на данный момент инстанс EC2 на 1 год можно получить бесплатно ;
● Сервис для управления фишинговый кампанией GoPhish * за авторством Jordan Wright;
● Реверс-прокси сервер для перехвата запросов Evilginx 3 * за авторством Kuba Gretzky;
● Почтовый сервер или сервис для рассылки писем через протокол SMTP. Обязательно настройте SPF, DCIM и MX-записи домена для этого почтового сервиса. На данный момент можно использовать сервис ZOHO Mail с рассылкой до 150 писем в сутки бесплатно;
● Cloudflare Turnstile не обязательный компонент, но отлично подходит для защиты фишинговой страницы от сканирования автоматическими ботами и обнаружения анти-фишинговыми решениями.
Сервис бесплатный для использования. * Evilginx и GoPhish могут применяться как самостоятельные сервисы, но удобнее использовать решение под названием evilgophish за авторством Dylan Evans. Данный проект включает в себя модифицированные версии Evilginx и GoPhish для поддержки работы с одной базой данных, а также дополнительные функции, например, модули для SMS-рассылки и генерации QR-кодов, сервис evilfeed для получения уведомлений и множество других изменений, о которых я рекомендую прочитать на странице проекта.
Этапы
Пример реализации архитектуры для фишинговой атаки:

Номера на схеме соответствуют всем этапам, связанным с фишингом пользователей:
1. Оператор/аудитор настраивает и запускает фишинговую кампанию в сервисе GoPhish;
2. GoPhish использует SMTP-протокол для отправки писем через почтовый сервер;
3. Почтовый сервер осуществляет отправку писем по списку рассылки сотрудникам;
4. Тестируемые сотрудники получают письма и переходят по ссылке;
5. Cloudflare Turnstile проверяет по своему алгоритму, что открывшие фишинговый сайт пользователи не являются ботами/скраперами и принимает решение о доступе к фишинговой странице;
6. Реверс-прокси сервер Evilginx принимает запрос, сверяет URL с данными о фишинговой кампании и идентифицирует пользователя из рассылки (идентификация пользователя возможна только в случае запуска индивидуальных кампаний для каждого уникального адресата на стороне GoPhish в исходной рассылке, подробнее об этом в следующем разделе);
7. Фишлет - это специальный yaml-файл, в котором описаны правила перезаписи доменов и работы с запросами для каждого сервиса в рамках фишинговых кампаний.
Evilginx использует данные из фишлета для подмены значений в запросах и захвата реквизитов доступа (логинов, паролей, TOTP и сессии/куки);
8. Запросы авторизации сотрудника передаются на целевой сайт, например, портал авторизации. Так как это MitM-атака, то ответ от сервиса авторизации передаются обратно на прокси-сервер Evilginx;
9. Evilginx извлекает из запросов пользователя реквизиты доступа и сессию/куки из ответа от сервиса авторизации и предоставляет к ним доступ оператору. Информация об успешном захвате данных передается в сервис GoPhish для фиксации в базе данных и учета в статистике;
10. Оператор получает уведомления и статистику о статусе фишинговой кампании и может скопировать реквизиты доступа и захваченные сессии атакуемых сотрудников;
11. Оператор использует перехваченные реквизиты на конечном сервисе авторизации через вход в систему для подтверждения валидности и успешного фишинга. Данный шаг не обязательный и должен осуществляться после согласования с заказчиком чтобы исключить несогласованный доступ к конфиденциальной информации.
Рассматриваемая мной схема фишинговой кампании является примером MitM-атаки с целью захвата реквизитов доступа и сессий атакуемых сотрудников, в том числе, с подтверждением двухфакторной авторизации (2FA) через TOTP -коды и пуш-уведомления.
Компоненты инфраструктуры:
● Фишинговый сервер. В качестве фишингового сервера подойдет любой VPS-сервер с Linux. Например, AWS EC2, тем более на данный момент инстанс EC2 на 1 год можно получить бесплатно ;
● Сервис для управления фишинговый кампанией GoPhish * за авторством Jordan Wright;
● Реверс-прокси сервер для перехвата запросов Evilginx 3 * за авторством Kuba Gretzky;
● Почтовый сервер или сервис для рассылки писем через протокол SMTP. Обязательно настройте SPF, DCIM и MX-записи домена для этого почтового сервиса. На данный момент можно использовать сервис ZOHO Mail с рассылкой до 150 писем в сутки бесплатно;
● Cloudflare Turnstile не обязательный компонент, но отлично подходит для защиты фишинговой страницы от сканирования автоматическими ботами и обнаружения анти-фишинговыми решениями.
Сервис бесплатный для использования. * Evilginx и GoPhish могут применяться как самостоятельные сервисы, но удобнее использовать решение под названием evilgophish за авторством Dylan Evans. Данный проект включает в себя модифицированные версии Evilginx и GoPhish для поддержки работы с одной базой данных, а также дополнительные функции, например, модули для SMS-рассылки и генерации QR-кодов, сервис evilfeed для получения уведомлений и множество других изменений, о которых я рекомендую прочитать на странице проекта.
Этапы
Пример реализации архитектуры для фишинговой атаки:

Номера на схеме соответствуют всем этапам, связанным с фишингом пользователей:
1. Оператор/аудитор настраивает и запускает фишинговую кампанию в сервисе GoPhish;
2. GoPhish использует SMTP-протокол для отправки писем через почтовый сервер;
3. Почтовый сервер осуществляет отправку писем по списку рассылки сотрудникам;
4. Тестируемые сотрудники получают письма и переходят по ссылке;
5. Cloudflare Turnstile проверяет по своему алгоритму, что открывшие фишинговый сайт пользователи не являются ботами/скраперами и принимает решение о доступе к фишинговой странице;
6. Реверс-прокси сервер Evilginx принимает запрос, сверяет URL с данными о фишинговой кампании и идентифицирует пользователя из рассылки (идентификация пользователя возможна только в случае запуска индивидуальных кампаний для каждого уникального адресата на стороне GoPhish в исходной рассылке, подробнее об этом в следующем разделе);
7. Фишлет - это специальный yaml-файл, в котором описаны правила перезаписи доменов и работы с запросами для каждого сервиса в рамках фишинговых кампаний.
Evilginx использует данные из фишлета для подмены значений в запросах и захвата реквизитов доступа (логинов, паролей, TOTP и сессии/куки);
8. Запросы авторизации сотрудника передаются на целевой сайт, например, портал авторизации. Так как это MitM-атака, то ответ от сервиса авторизации передаются обратно на прокси-сервер Evilginx;
9. Evilginx извлекает из запросов пользователя реквизиты доступа и сессию/куки из ответа от сервиса авторизации и предоставляет к ним доступ оператору. Информация об успешном захвате данных передается в сервис GoPhish для фиксации в базе данных и учета в статистике;
10. Оператор получает уведомления и статистику о статусе фишинговой кампании и может скопировать реквизиты доступа и захваченные сессии атакуемых сотрудников;
11. Оператор использует перехваченные реквизиты на конечном сервисе авторизации через вход в систему для подтверждения валидности и успешного фишинга. Данный шаг не обязательный и должен осуществляться после согласования с заказчиком чтобы исключить несогласованный доступ к конфиденциальной информации.