Содержание статьи
GitHub Commit Crawler
Автор: Chris Sandulow
URL: https://github.com/jfalken/github_commit_crawler
Система: Windows/Mac
![](https://xakep.ru/wp-content/uploads/2015/07/1437978611_1074_github_commit_crawler.png)
GitHub Commit Crawler — инструмент, написанный на Python, для непрерывного мониторинга GitHub на предмет ошибочных, уязвимых и подозрительных public-коммитов в проекты.
Инструмент перечисляет членов определенного/заданного репозитория, смотрит на их публичные коммиты и парсит их на заданные ключевые слова, совпадения по регулярным выражениям, которые могут содержать важную информацию (например, API-ключи, PGP private ключи, логины и пароли). Запуск идет через заданный промежуток времени (например, через каждые тридцать минут).
Для простоты установки и использования тулза распространяется в виде docker-контейнера.
Устанавливается следующим образом:
# docker pull jfalken/github-commit-crawler
# docker run -d -p 5000:5000 jfalken/github-commit-crawler
После этого можно подключиться через http://localhost:5000 или локальный IP.
Результат работы сохраняется в MongoDB и отображается через веб-интерфейс, где есть суперполезная кнопка Diff, которая отображает различие коммитов и вхождение искомых ключевых слов.
Принцип работы как чрезвычайно прост, так и эффективен. Очень часто по спешке или банальному незнанию в коммиты уходит критически важная информация. Порой она лежит в комментариях или в виде вшитых аутентификационных данных внутренней инфраструктуры, которую забыли удалить после фазы тестирования.
Yasuo
Автор: 0xsauby
URL: https://github.com/0xsauby/yasuo
Система: Windows/Linux
![](https://xakep.ru/wp-content/uploads/2015/07/1437978642_349b_yasuo.jpg)
Разработчики часто используют сторонние элементы, не особо задумываясь об их безопасности и о том, как они могут в конечном итоге повлиять на безопасность всего проекта. Такое положение дел часто приводит к удаленной компрометации сервера через публичную уязвимость в хорошо известном сервисе. Это, к примеру, могут быть уязвимости в административной панели Apache Tomcat, JBoss JMX console, Hudson Jenkins.
Если полазить по exploit-db и поискать там подобные уязвимости, то можно найти более 10 тысяч удаленно эксплуатируемых уязвимостей, приводящих к полной компрометации сервера, в сотнях веб-приложений (фронтендах и бэкендах). Это RCE, неаутентифицированная заливка файлов, SQLi или RFI/LFI и так далее.
Yasuo — это Ruby-скрипт, который сканирует веб-проекты на уязвимые сторонние расширения, библиотеки, в общем, 3rd party элементы. Он быстро сканирует сеть на наличие таких сторонних компонентов и предоставляет возможность эксплуатации в них уязвимостей.
Для установки потребуются следующие гемы:
# gem install ruby-nmap net-http-persistent mechanize text-table
Примеры использования:
# ./yasuo -r 127.0.0.1 -p 80,8080,443,8443 -b form
Здесь будут произведены сканирование портов 80, 8080, 443 и 8443 на адресе 127.0.0.1 и брутфорс всех приложений, предлагающих form-based аутентификацию.
# ./yasuo -f my_nmap_output.xml -b all
Эта команда распарсит nmap-файл my_nmap_output.xml и произведет брутфорс всех приложений, предоставляющих form-based и HTTP basic методы аутентификации.
Mimosa
Автор: Rafael Silva
URL: https://github.com/rfdslabs/Mimosa-Framework
Система: Windows/Linux
![](https://xakep.ru/wp-content/uploads/2015/07/1437978658_170c_mimosa.png)
Mimosa — это фреймворк на языке Python для злоупотребления EPC-функциональностью на роутерах CISCO. EPC расшифровывается как Embedded packet capture. Данный механизм позволяет захватывать как IPv-4, так и IPv6-пакеты, фильтр на определенные пакеты, просмотр содержимого пакетов на лету, настраивать сетевые устройства на захват трафика в определенных узлах сети, экспортировать нужную информацию в pcap-файлы.
Этот инструмент будет полезен в первую очередь специалистам, проводящим тесты на проникновение. Как ты, надеюсь, понял, инструмент не эксплуатирует никаких уязвимостей, а использует стандартный функционал, но в целях, нужных пентестерам. В данном случае это будет полезно для сбора информации в контролируемом окружении, что может пригодиться для дальнейшей атаки по сети. Но при этом нужно понимать, что для работы с Mimosa необходимо иметь привилегии ENABLE на роутере.
Инструмент был впервые представлен на конференции Hack In The Box 2015 в Амстердаме. Для более близкого знакомства с темой советуем изучить презентацию автора «µMIMOSAWRITERROUTER: Abusing EPC on Cisco Routers to Collect Data».
Вызов справки:
$ python mimosa-cli.py
Mimosa> help
Доступные команды: _load, ed, li, pause, set, start_capture, _relative_load, edit, list, py, shell, stop_capture, add_target, hi, list_targets, r, shortcuts, cmdenvironment, history, load, run, show, del_target, l, mimosa_options, save, show_target
.
Для получения справки по командам набери help <имя_команды>.
SpyStudio
Автор: Nektra
URL: http://www.nektra.com/products/spystudio-api-monitor/download/
Система: Windows
![](https://xakep.ru/wp-content/uploads/2015/07/1437978671_f3a6_spystudio.png)
Очень полезная вещь — смотреть, что делает приложение во время своего выполнения, не только на уровне сущностей, которыми оно оперирует (например, это можно увидеть благодаря набору инструментов от SysInternals), но и на уровне функций и параметров. Программа SpyStudio как раз в этом и помогает.
Основные возможности:
- трассировка приложения;
- сравнение трейсов выполнения;
- виртуализация приложения;
- упрощение упаковки приложения для VMware ThinApp и Symantec Workspace Virtualization;
- реализация утилиты procmon и возможность работы с ее логом;
- .NET Troubleshoot;
- обнаружение вредоносного кода.
Поддержка:
- Windows XP и выше;
- архитектур x86 и x64.
Данный проект лишь с недавнего времени обзавелся бесплатной версией, раньше распространялся бесплатно только сам движок Deviare. Инструмент может быть полезен как IT-специалистам, так и специалистам по поиску уязвимостей.
Static Code Analysis для Smali
Автор: Victor Dorneanu
URL: https://github.com/dorneanu/smalisca
Система: Windows/Linux
![](https://xakep.ru/wp-content/uploads/2015/07/1437978683_fbee_smalisca.png)
Мы ни для кого не откроем Америку, но для изучения приложения существует статический и динамический подход. Android-приложения не исключение. И по-хорошему, прежде чем бросаться в динамический анализ, следовало бы предварительно изучить его в статике. Да порой и просто нежелательно или невозможно изучать приложение в динамике. Smalisca как раз и создана для статического анализа smali-кода.
Особенности:
- парсинг: можно извлекать информацию о классах, свойствах класса, методах и вызовах между классами;
- анализ: можно организовать умный поиск и настроить фильтры для поиска нужных классов и методов, например:
smalisca> sc -c class_name -p test -r 10 -x path -s class_type
smalisca> scl -fc com/android -fm init -r 10 - визуализация: графическое отображение информации об отношении классов, методов и так далее.
Все это позволяет очень быстро и эффективно ориентироваться в чужом приложении при его анализе. Определенно, инструмент категории must have для анализа Android-приложений!
The PenTesters Framework
Автор: Dave Kennedy
URL: https://github.com/trustedsec/ptf
Система: Linux
![](https://xakep.ru/wp-content/uploads/2015/07/1437978696_e5f9_ptf.png)
The PenTesters Framework (PTF) — это Python-скрипт для основанных на Debian/Ubuntu дистрибутивов, призванный унифицировать и упростить инструменты для теста на проникновение. Как правило, пентестеры собирают все свои наработки и любимые инструменты в директории /pentest/, где так или иначе стараются следить за их актуальностью (обновлениями).
PTF как раз и пытается установить все твои любимые пентест-программы самых последних версий, скомпилировать их и сделать так, что ты сможешь очень просто устанавливать/обновлять дистрибутив на любой машине. Все организовано таким образом, что это приближает тебя к исполнению Penetration Testing Execution Standard (PTES) и помогает избежать множества неприятных вещей. Таким образом, твой пентест-дистрибутив содержит только нужное и полезное тебе и ничего лишнего. И развернуть то же самое на другой машине не составит труда. Это лишь фреймворк, так что в него очень легко добавить свой любимый инструмент.
Triton
Авторы: Florent Saudel, Jonathan Salwan
URL: https://github.com/JonathanSalwan/Triton
Система: Linux
![](https://xakep.ru/wp-content/uploads/2015/07/1437978718_4748_triton.png)
Если такие слова, как DBI, DBA, Pin, concrete execution, symbolic execution, concolic execution, DSE, taint analysis, context snapshot, Z3, тебя не пугают, а, наоборот, интересуют, то инструмент под названием Triton как раз то, что тебе надо. Triton предоставляет продвинутые возможности для улучшения динамического бинарного анализа с использованием PIN.
Основные возможности и особенности:
- движок символьного выполнения;
- представление кода для SMT;
- интерфейс для SMT-решателей;
- движок taint-анализа;
- движок snapshot;
- API и Python bindings.
Проект позволяет прямо в динамике решать ряд сложных задач и при необходимости перенаправлять поток исполнения программы на основании данных, также полученных в динамике. Например, можно увеличивать покрытие кода непосредственно во время самого фаззинга.
На текущий момент проект поддерживает только Linux и x64-архитектуру, но он активно развивается.
Для более близкого знакомства с возможностями и внутренним устройством советуем изучить следующие материалы: «Triton: Concolic Execution Framework» и «Triton under the hood».