info
Подробное руководство о том, как развернуть связку из Evilginx и Gophish, читай в статье «Evilginx + Gophish. Поднимаем инфраструктуру для симуляции фишинга с обходом 2FA».
Для создания фишлета нам понадобятся только две вещи:
- браузер (мой выбор пал на Firefox) или утилита, которая способна логировать запросы и ответы из браузера (Burp Suite);
- текстовый редактор для написания кода.
Все фишлеты Evilginx хранятся в директории утилиты, в папке phishlets
. Если они в твоей версии где‑то в другом месте, то просто запусти Evilginx и принудительно укажи ему директорию с фишлетами: -p /
.
Прежде чем создавать свой фишлет, я бы хотел разобрать его структуру и подробнее рассказать про каждую из частей. Для начала посмотрим на дефолтный фишлет, который лежит в директории phishlets
утилиты Evilginx на GitHub. На его основе мы разберем, за что отвечает каждая из частей фишлета, а более детальный анализ проведем на основе фишлета для сайта login.
.
# Версияmin_ver: '3.0.0'# Раздел, указывающий на субдомены, которые будут проксироватьсяproxy_hosts: - {phish_sub: 'academy', orig_sub: 'academy', domain: 'breakdev.org', session: true, is_landing: true, auto_filter: true}# Раздел с правилами, которые позволят избежать нежелательных редиректов или изменить содержимое фишингового сайта, как тебе надоsub_filters: - {triggers_on: 'breakdev.org', orig_sub: 'academy', domain: 'breakdev.org', search: 'something_to_look_for', replace: 'replace_it_with_this', mimes: ['text/html']}# Раздел, указывающий, какие куки будут «сворованы»auth_tokens: - domain: '.academy.breakdev.org' keys: ['cookie_name']# Раздел, указывающий, какие данные будут получены из запросовcredentials: username: key: 'email' search: '(.*)' type: 'post' password: key: 'password' search: '(.*)' type: 'post'# Легитимная страница авторизации на сайтеlogin: domain: 'academy.breakdev.org' path: '/evilginx-mastery'
В дефолтном фишлете не указаны такие разделы, как auth_urls
и js_inject
, но их мы пока отложим. В начале описания каждого модуля фишлета я для наглядности буду вставлять кусок кода, а дальше в ходе повествования показывать скриншоты. Ну что, начнем?
min_ver
Это первая часть фишлета, с которой ты будешь сталкиваться каждый раз. Эта строка отвечает за то, с какой именно версии утилиты будет работать фишлет (я предпочитаю указывать 3.0.0, однако видел, что, некоторые создатели фишлетов указывают 2.3.0).
proxy_hosts
В этом разделе описаны все поддомены и домены, которые будет обрабатывать Evilginx. Их трафик будет проксироваться через нашу утилиту. Это важный раздел: если не включить в список ни один сайт, то чейн нарушится и во время выполнения цепочки запросов случится переход на легитимный сайт.
Пример кода proxy_hosts
:
proxy_hosts: - { phish_sub: "login", orig_sub: "login", domain: "microsoftonline.com", session: true, is_landing: true, auto_filter: false } - { phish_sub: "www", orig_sub: "www", domain: "office.com", session: true, is_landing: false, auto_filter: false } - { phish_sub: "login1", orig_sub: "login", domain: "live.com", session: true, is_landing: false, auto_filter: false } - { phish_sub: "account", orig_sub: "account", domain: "live.com", session: true, is_landing: false, auto_filter: false } - { phish_sub: "outlook", orig_sub: "outlook", domain: "live.com", session: true, is_landing: false } - {phish_sub: '', orig_sub: '', domain: 'office.com', session: true, is_landing: false, auto_filter: true}
Ты, возможно, спросишь, что значат параметры session
, is_landing
и auto_filter
. Что ж, непонимание в работе с Evilginx иногда губительно, так что расскажу!
Если для session
задано значение true
, то хосты, обрабатывающие HTML-контент основного сайта, гарантированно возвращают ответы с сессионными куками, учетными данными или любой другой важной информацией, которую нужно сохранить.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»