Содержание статьи
Фреймворк для автоматизированных MITM-атак
Subterfuge — это небольшой, но чрезвычайно мощный инструмент для сбора аутентификационных данных, написанный на Python. Он эксплуатирует уязвимости в протоколе определения адреса, более известном как ARP (Address Resolution Protocol) протокол. Особенности:
- просмотр сети;
- отказ в обслуживании;
- сбор аутентификационных данных;
- инъекция кода в HTTP;
- кража сессии;
- эксплуатация Race Condition;
- DNS-спуфинг;
- эксплуатация обновлений через Evilgrade;
- атаки на беспроводные сети.
Благодаря этим модулям можно легко даунгрейдить HTTPS-сессии и красть аутентификационные данные пользователей, блокировать любые попытки работы пользователя через шифрованные протоколы, такие как PPTP, Cisco IPSec, L2TP, OpenVPN, SSH, или вообще уничтожать весь трафик от определенного клиента, не давая тем самым ему работать. Также возможно вставлять свою нагрузку в целевую сессию браузера. Нагрузка может быть как простой JavaScript/HTML, так и набор браузерных эксплойтов. Используя race condition, можно вернуть вместо запрашиваемой страницы свою собственную, заранее подготовленную страницу. Ну и конечно, кража сессии через cookie и DNS-спуфинг с помощью своего DNS-сервера — это программа прекрасно умеет делать.
Моделирование сетевого протокола для RE
URL: www.netzob.org
Система: *nix
Netzob — это инструмент с открытым исходным кодом, призванный помочь специалистам в области реверс-инжиниринга, оценки и моделирования коммуникационных протоколов. Его основные задачи — помочь аналитикам по безопасности:
- оценить надежность собственных/неизвестных реализаций протоколов;
- моделировать реальное взаимодействие с продуктами сторонних производителей (IDS, IPS, межсетевые экраны и так далее);
- создавать открытые реализации собственных или закрытых протоколов.
Программа отлично подходит для реверсинга сетевых протоколов, создания собственных протоколов и тестирования их в реальной среде, позволяет моделировать поведение редких сетевых протоколов или протоколов, используемых вредоносным ПО или ботнетом, в исследовательских целях. Также она очень полезна при фазинге сетевых приложений.
При своей работе программа использует несколько алгоритмов: алгоритм Needleman – Wunsch для выполнения выравнивания двух последовательностей; метод невзвешенного попарного арифметического среднего (UPGMA); L*m распределенный алгоритм Dana Angluin.
PowerShell Post-Exploitation фреймворк
URL: https://github.com/mattifestation/PowerSploit
Система: Windows
PowerSploit — это набор Microsoft PowerShell скриптов, которые могут быть использованы на этапе постэксплуатации во время проведения теста на проникновение. PowerSploit состоит из следующего набора скриптов:
- Inject-Dll;
- Inject-Shellcode;
- Encrypt-Script;
- Get-GPPPassword;
- Invoke-ReverseDnsLookup.
Таким образом, можно инжектить свою DLL или шелл-код в любой процесс в системе на свой выбор, получать пароли в открытом виде от учетных записей из Group Policy или сканировать диапазон IP-адресов для PTR-записей DNS, что очень полезно при рекогносцировке на местности. Подробнее об инструменте и возможностях его расширения можно почитать на [сайте автора](http:// www.exploit-monday.com).
Поведенческий анализ вредоносного ПО
Система: Windows
Zero Wine — проект по безопасности, предназначенный для проведения динамического анализа вредоносных файлов в OC Windows. Для этого Zero Wine запускает исследуемый файл в изолированной среде (в качестве песочницы используется WINE) и собирает информацию о поведении программы, а затем уже выводит ее в удобочитаемом виде. Собираемая информация:
- полный raw trace файл, генерируемый WINE;
- строки;
- заголовок исполняемого файла;
- наиболее интересные API-вызовы и их параметры.
Сам Zero Wine представляет собой образ ОС Debian для виртуальной машины QEMU, взаимодействовать с которой можно через веб-интерфейс. При определенных параметрах запуска также возможно поставить анализ файлов на поток: загрузка вредоносного ПО, анализ и сохранение отчета. Из проблем продукта можно выделить не особо хорошую работу в случае, если зловред запакован некоторыми пакерами (например, Armadillo), и легкое детектирование окружения WINE со стороны зловредов.
Post-Exploitation фреймворк для Linux
URL: ohdae.github.com/Intersect-2.5
Система: *nix
Intersect — это постэксплуатационный фреймворк для Linux, написанный на Python. Основная цель данного проекта — помочь автоматизировать ряд рутинных, типовых задач, выполняемых при проведении тестов на проникновение, связанных с постэксплуатацией и извлечением данных из системы.
Благодаря данному фреймворку можно создавать собственные скрипты из предустановленных шаблонов и модулей, которые также могут быть написаны для необходимой автоматизации действий.
При этом программа имеет простой command-line с пунктами выбора и позволяет создавать собственные сборки Intersect, включающие только необходимые модули и скрипты.
На данный момент фреймворк включает в себя 30 стандартных и пользовательских модулей и 4 встроенных скрипта, состоящих из существующих модулей и разбитых по классу задач:
- сбор локальной информации;
- сбор сетевой информации;
- закрепление в системе;
- набор шеллов.
Мониторим все API-вызовы
URL: www.rohitab.com/apimonitor
Система: Windows
API Monitor контролирует и отображает API-вызовы, выполненные приложениями и службами в системе. Это мощный инструмент для просмотра того, как та или иная программа работает изнутри. Особенности:
- поддержка 64-битной Windows;
- предварительный обзор с подсветкой синтаксиса;
- более 10 000 определений API-функции и более 600 COM-интерфейсов;
- мониторинг COM;
- просмотр буфера;
- отрисовка дерева вызовов;
- декодирование параметров и возвращаемых значений;
- декодирование кодов ошибок;
- работа со стеком;
- просмотр процессов;
- мониторинг служб;
- настраиваемый мониторинг DLL;
- работа с потоками.
Программа умеет как открывать процессы, так и аттачиться к уже существующим процессам в системе для анализа их работы. На каждом уровне представления существует очень гибкая система фильтрации.
Кодер для аlphanumeric шелл-кодов
Система: Windows
ALPHA3 — это инструмент на Python от легендарного SkyLined, позволяющий трансформировать любой x86 или x64 машинный код в цифро-буквенный код с аналогичной функциональность. Зачем это надо? Порой при написании эксплойтов боевую нагрузку можно передать только в виде печатных символов: цифр, букв, знаков. Как раз при решении такой задачи ALPHA3 и необходим. Принцип работы инструмента следующий: на вход получается машинный код, который преобразуется с помощью специального кодера в цифро-буквенное представление, к началу полученного кода добавляется соответствующий декодер, имеющий также цифро-буквенное представление. Этот декодер конвертирует наше представление в исходное и передает на него управление. Единственным ограничением к исходному шелл-коду является отсутствие в нем нулевых байтов. Пример запуска программы:
ALPHA3.py ascii EDI --input="file" > shellcode.txt
В строке запуска можно заметить наличие параметра, указывающего на базовый адрес, который указывает на текущее местоположение шелл-кода в памяти и относительно которого будет происходить его раскрутка (в данном случае это регистр EDI). Помимо того что поддерживает две архитектуры, скрипт может выдавать шелл-код в нескольких кодировках: ascii, cp437, latin-1, utf-16.