Содержание статьи
Autorelay
Автор: Dan McInerney
URL: https://github.com/danmcinerney/autorelay
Система: Linux
Autorelay — скрипт на Python для организации автоматизированной атаки SMB relay как на локальные, так и на удаленные устройства. Инструмент использует Responder для отравления, Metasploit для HTTP NTLM relay и Snarf для проведения MITM-атаки. При работе локально требуется только интерфейс и XML-файл Nmap или список IP-адресов для целевой сети, чтобы определить SMB-хосты. При использовании для SMB relaying на JumpBox необходим IP-адрес JumpBox.
Локальное использование:
$ sudo ./autorelay.py -x local-network.xml -i eth0
$ sudo ./autorelay.py -l ips.txt -i eth0 ** -l option needs some wee fixing **
Удаленное использование:
$ sudo ./autorelay.py -x remote-network.xml -i eth0 -r 95.34.53.243
$ sudo ./autorelay.py -l ips.txt -i eth0 -r 95.34.53.243
Pacdoor
Авторы: Itzik Kotler, Amit Klein
URL: https://github.com/SafeBreach-Labs/pacdoor
Система: Windows/Linux/Mac
Pacdoor — это proof of concept вредоносного кода на JavaScript в виде Proxy Auto-Configuration (PAC) файла. Pacdoor имеет два канала взаимодействия, возможность извлекать HTTPS URLs и отключать доступ к определенным URL.
Устанавливается (для этого потребуется Python 2.7.x) следующим образом:
$ git clone https://github.com/SafeBreach-Labs/pacdoor.git
$ cd pacdoor
$ cd server
$ pip install -r requirements.txt
Инструмент впервые был представлен на конференции Black Hat USA 2016 в презентации Crippling HTTPS with unholy PAC.
Santa
Автор: not an official Google
URL: https://github.com/google/santa
Система: macOS
Популярность macOS растет, растет и интерес к ней — как злоумышленников, так и исследователей. В итоге обнаруживаются все новые уязвимости и вредоносный код для нее. Santa — это система белых и черных списков исполняемых файлов для macOS. Как ты мог заметить, проект находится в репозитории Гугла, однако это не официальный проект Google.
Состав инструмента:
- kernel extension, которое следит за выполнением программ;
- userland daemon, который принимает решение о выполнении или невыполнении программы на основании данных SQLite базы данных;
- GUI agent, который уведомляет пользователя о случаях блокирования приложения;
- command-line — утилита для управления системой и синхронизацией базы данных с сервером.
Особенности управления:
- два режима работы: MONITOR и LOCKDOWN;
- логирование всех событий;
- правила на основе сертификатов;
- правила на основе путей файлов.
Более подробную документацию смотри на страничке проекта.
Поисковик эксплоитов и уязвимостей
Автор: Rafael Francischini
URL: https://github.com/rfunix/Pompem
Система: Windows/Linux
Pompem — это инструмент с открытым исходным кодом, предназначенный для автоматического поиска эксплоитов и уязвимостей в наиболее интересных ресурсах, их собирающих, и базах данных. Инструмент разработан на Python, имеет продвинутый поиск, который поможет как исследователям, так и пентестерам при решении их задач. В текущей версии есть поддержка поиска в таких источниках, как:
- PacketStorm security;
- CXSecurity;
- ZeroDay;
- Vulners;
- National Vulnerability Database;
- WPScan Vulnerability Database.
Примеры запросов:
$ python pompem.py -s WordPress
$ python pompem.py -s Joomla --html
$ python pompem.py -s "Internet Explorer,joomla,wordpress" --html
$ python pompem.py -s FortiGate --txt
$ python pompem.py -s ssh,ftp,mysql
По результатам работы может быть сгенерирован либо txt-файл, либо HTML-страница.
Ядерный фаззинг
Авторы: James Loureiro, Georgi Geshev
URL: https://github.com/mwrlabs/KernelFuzzer
Система: Windows, macOS, QNX
Уязвимости в ядре операционных систем всегда вызывают большой интерес — начиная с поднятия привилегий и обхода ограничений песочниц вплоть до удаленного выполнения кода в системе. Искать уязвимости в ring 0 части — это не то же самое, что и в ring 3 части. При этом не стоит забывать, что ring 0 Windows отличается от ring 0 Linux и тем более QNX и, таким образом, к каждой операционной системе нужен свой подход.
KernelFuzzer — это кросс-платформенный фреймворк для фаззинга ядра, написанный на С.
Основные компоненты:
- база знаний по системным вызовам — взаимодействие user- и kernel-пространства;
- хранилище объектов — интересные объекты для фаззинга;
- ядро системы — в основном механизмы ловли и обработки падений;
- вспомогательные функции — для создания, заполнения и возвращения валидных структур;
- база знаний по OS API — для взаимодействия с системными библиотеками (доступ к файлам, пользовательский интерфейс, графика и мультимедиа, устройства, сеть);
- значения для фаззинга — значения различных типов данных (boolean, integer, float и другие).
Данный фаззер был протестирован на Windows 7/10, OS X и QNX. Но, как бы то ни было, в первую очередь авторы при создании этого инструмента были нацелены на Windows. Более подробно об инструменте можно узнать из презентации Platform Agnostic Kernel Fuzzing.
Raptor WAF
Автор: Antonio «CoolerVoid» Costa
URL: https://github.com/CoolerVoid/raptor_waf
Система: Linux
Raptor — это файрвол для веб-приложений, написан на С с использованием DFA (deterministic finite automation) и нацелен на блокирование SQL-инъекций, cross site scripting и path traversal.
Начнем с небольшого примера использования/проверки.
- Поднимем HTTPd-сервер на 80-м порту и запустим raptor:
$ bin/Raptor -h localhost -p 80 -r 8883 -w 4 -o loglog.txt
- Копируем уязвимый PHP-код в нашу веб-директорию на сервере:
$ cp doc/test_dfa/test.php /var/www/html
- Начинаем тестировать различные атаки по адресу http://localhost:8883/test.php.
- ???
- Profit!
Прелесть этого Waf заключается в том, что он написан на С и его можно собрать, в принципе, на любую архитектуру (ARM, MIPS и так далее), — главное, чтобы были GCC и make. Текущая версия активно тестируется на ОС Linux.
Также хочется сказать, что есть поддержка черных списков для IP-адресов, поддержка IPv4 и IPv6, некоторые наработки по защите от DoS, работа с SSL/TLS.
Более подробно о проекте можно узнать в документации.
Тестируем iOS-приложения
Автор: Marco Lancini
URL: https://github.com/mwrlabs/needle
Система: iOS
Я думаю, все, кто занимается безопасностью мобильных приложений, знакомы с прекрасным инструментом — фреймворком drozer для ОС Android. К сожалению, долгое время не хватало подобного инструмента для iOS. И вот совсем недавно на свет появилась тулза от тех же ребят — инструмент под названием Needle.
Needle — это фреймворк для оценки безопасности iOS-приложений, написанный на Python и базирующийся на множестве вспомогательных утилит (для организации полного цикла) и фреймворке для перехвата функций Frida. Инструмент уже поддерживает как iOS 8, так и iOS 9. Для джейлбрейкнутого устройства необходимы Cydia, OpenSSH, Apt 0.7 Strict. В качестве машины для анализа подойдет Kali или macOS. В ближайшее время разработчики обещают еще и предоставление Docker-контейнера.
Needle работает по тем же принципам, что и drozer, с такой же CLI-строкой. Для старта достаточно указать Bundle ID целевого приложения и параметры для подключения к устройству.
Основные функции:
- выполнение локальных команд;
- shell-доступ на устройстве;
- выполнение команд на устройстве;
- загрузка и выгрузка с устройства файлов;
- автоконфигурация;
- модульный подход;
- выполнение задач в фоне.
Основные классы проверок:
- анализ свойств бинарных файлов;
- анализ хранилища данных;
- динамический анализ приложения;
- перехват функций;
- анализ каналов передачи данных;
- статический анализ кода.
Можно с уверенностью сказать, что это must have инструмент для оценки безопасности iOS-приложений.