Содержание статьи
PREF
- Автор: Antonio Davide
- URL: https://github.com/Dax89/PREF
- Система: All
PREF — это Portable Reverse Engineering Framework, фреймворк для реверсинга, не требующий установки.
Основная философия данного инструмента — все в одном для анализа бинарных данных и форматов файлов, а также дизассемблирования для любой из платформ, где запускаются Qt и Lua. С помощью Lua можно описывать форматы данных, и скрипт автоматически разберет входной файл по описанию. Также очень полезным выглядит функционал для сравнения двух файлов, который отображает смещение и количество измененных байт. Дизассемблер находится пока почти в зачаточном состоянии, точнее, пока loader и processor необходимо описывать самому — существует только для MIPS-платформы.
Особенности:
- наличие SDK;
- программируемый парсер формата файлов;
- программируемый дизассемблер;
- сигнатурный сканер;
- визуальное представление бинарного файла;
- сканер строк;
- отображение гистограмм;
- калькулятор энтропии;
- подсветка данных в бинарном файле.
В инструменте присутствует достаточно большое количество графических схем и подходов для отображения бинарных данных.
UPnP Pentest Toolkit
- Автор: David Middlehurst
- URL: https://github.com/nccgroup/UPnP-Pentest-Toolkit
- Система: Windows
Universal Plug and Play (UPnP) — набор сетевых протоколов, построенных на открытых интернет‑стандартах и публикуемый консорциумом производителей мультимедийной и сетевой техники. Основная функция UPnP — автоматическая универсальная настройка сетевых устройств. Для этого между персональными компьютерами и различными «умными» устройствами устанавливается архитектура многоранговых соединений между персональными компьютерами и интеллектуальными устройствами.
В основе всего этого — хорошо известные стандарты и сетевые технологии, такие как TCP/IP, HTTP и XML. Такая система обеспечивает автоматическое подключение подобных устройств друг к другу и их совместную работу в сетевой среде, в результате чего сеть (например, домашняя) становится легкой в настройке для большего числа пользователей. Естественно, это еще один потенциальный вектор атаки в сети. И, как любая цель, он требует необходимого инструментария.
Инструмент UPnP Pentest Toolkit нацелен на объединение широкого спектра функций по оценке безопасности UPnP, при минимуме усилий и с высокой скоростью. Тулза разработана, чтобы помочь специалистам по информационной безопасности в исследовании UPnP-устройств.
Более подробно об инструменте ты можешь узнать из презентации «U Plug, We Play» с конференции BSides Manchester.
OLE/COM viewer и inspector
- Автор: James Forshaw
- URL: https://github.com/tyranid/oleviewdotnet
- Система: Windows
Инструмент от автора целой серии IE11SandboxEscapes.
OleViewDotNet предназначен для просмотра и проверки OLE/COM-компонентов.
OleViewDotNet — это .NET 4 приложение, которое представляет собой инструмент, сочетающий в себе два классических инструмента из SDK: OleView и Test Container в одном приложении. Это позволяет находить COM-объекты через различные способы просмотра (например, по CLSID, по ProgID, по server executable), перечислять интерфейсы объекта, а затем создавать их экземпляры и вызывать их методы. Это также базовый контейнер для атак на ActiveX-объекты objects — ты можешь видеть данные и манипулировать ими.
Как раз данный инструмент и использовался для поиска различных способов выхода из sandbox браузера Internet Explorer 11. Для более близкого изучения способов выхода из sandbox советую обратиться к презентации «Legacy Sandboxing — Escaping IE11 Enhanced Protected Mode».
Olly для iOS и Android
- Автор: Gikir
- URL: gikir.com/product.php
- Система: Windows
GikDbg — это отладчик ассемблерного уровня для мобильных платформ, который позволяет специалистам по безопасности отлаживать мобильные приложения для Android и iOS.
Данный инструмент базируется на OllyDbg (32-битном отладчике для Microsoft Windows), GDB (GDB, the GNU Project debugger) и LLVM (набор модулей, компиляторов и вспомогательных программ).
Особенности:
- статический анализ ELF/Mach-O исполняемых файлов;
- динамическая отладка Android/iOS-приложений;
- удаленная консоль для Android/iOS;
- ARM ассемблер и дизассемблер;
- загрузка и выгрузка файлов с устройства;
- встроенный GDB и LLDB;
- поддержка memory breakpoint, software breakpoint, conditional breakpoint;
- поддержка мультипоточной отладки;
- поддержка патчинга кода.
Важно отметить, что для работы с Android-приложениями необходимо, чтобы был включен ART runtime, а не Dalvik. Это означает, что необходимо устройство с ОС не младше версии 4.4.2 Kit. Но также есть поддержка DVM Runtime — только для lib*.so.
Хороший пример использования данного инструмента на примере отладки эксплойта Towelroot от Geohot.
YET ANOTHER PADDING ORACLE EXPLOITATION TOOL
- Авторы: Vladimir Kochetkov
- URL: https://github.com/kochetkov/Yapoet
- Система: Windows/Linux
YAPOET — это утилита, позволяющая быстро протестировать веб‑приложение на уязвимость к атакам на оракулы дополнения. В отличие от своих более старших собратьев (POET, Padbuster, Padbuster.Net), она не затачивалась под уязвимости в конкретных фреймворках и является универсальным средством эксплуатации уязвимостей данного класса. Текущая реализация YAPOET обладает следующими возможностями:
- получение открытого текста из шифрованного;
- получение вектора инициализации и шифрованного текста из произвольного открытого;
- контроль параметров оракула (режим, вектор инициализации, размер блока);
- поддержка режимов ECB и CBC;
- контроль основных параметров HTTP-запросов к оракулу;
- возможность переопределения функций кодирования/декодирования шифрованного текста.
Напомним, что атака на оракул дополнения возможна тогда, когда:
- у атакующего есть возможность контролировать шифротекст, передаваемый веб‑приложению и расшифровываемый на стороне сервера блочным алгоритмом, работающим в уязвимом режиме;
- контроль ошибок, реализованный в веб‑приложении, позволяет отличить ошибку удаления дополнения при дешифровании от любых других видов ошибок.
В этом случае, используя многочисленные запросы к оракулу, атакующий может получить открытый текст из шифрованного, не обладая ключом. Кроме того, при использовании на стороне сервера режима CBC у атакующего также есть возможность проведения обратной операции — получения шифротекста из произвольного открытого (с оговоркой, что первый блок полученного таким образом шифротекста будет вектором инициализации и дешифровываться на стороне сервера в случайную последовательность байт, если у атакующего нет возможности контролировать используемый вектор).
Responder
- Автор: SpiderLabs
- URL: https://github.com/Spiderlabs/Responder
- Система: Windows
Responder — это тулза от SpiderLabs для проведения различного рода man-in-the-middle и спуфинг атак. Изначально она затачивалась для проведения «спуфинга» NBNS- и LLMNR-протоколов, которые служат для резолва имен в локальных виндовых сетях, где не работает DNS. Но сейчас функционал ее значительно расширился, она обросла новыми методами MITM-атак (WPAD, DNS, ICMP redirect, SMB Relay).
С другой стороны, Responder включает в себя фейковые серверы на основные протоколы: HTTP, SMB, MSSQL, FTP, LDAP, SMTP, POP3. И при этом не только умеет захватывать plain-text пароли, но и поддерживает NTLM-аутентификацию (все версии NTLM протокола) для них. Можно сграбить NTLM-хеши и потом перебрать их, получив пароли пользователей.
Таким образом, Responder покрывает почти все основные виды MITM в локальных сетях. Не хватает разве что ARP-poisoning’а, но ничто не мешает использовать его отдельной тулзой в связке с Responder. Причем с учетом того, что в корпоративных сетях никто и не собирается отказываться от NTLM-протокола, а скорее наоборот, его внедряют повсеместно (из‑за растущего количества систем), Responder становится мощным оружием.
Написан он на Python’е, что дает ему плюс в виде открытости и возможности допилить под свои нужды.
Pinpoint
- Автор: Kahu Security
- URL: www.kahusecurity.com/tools/
- Система: Windows
Pinpoint — это инструмент, который предназначен в первую очередь для людей, часто сталкивающихся по роду своей работы с drive-by download атаками. Он позволяет значительно быстрее искать вредоносные объекты на сайтах и удалять их с ресурса.
Pinpoint работает как wget/curl, то есть захватывает веб‑страницу без ее рендеринга и выполнения скриптом на ней. Далее он будет пытаться определить, какие ссылки используются для составления веб‑страницы, например JavaScript, CSS, frame и iframe, и загружает эти файлы тоже. И все это отображает в виде дерева документов в главном окне.
Интересные возможности:
- посылка HTTP-запроса в сжатом или обычном виде;
- вычисление энтропии;
- распознавание безопасных сайтов;
- возможность игнорирования внешних CSS.
Для поиска подозрительного JavaScript, а точнее обфусцированного программа высчитывает энтропию и показывает исследователю, на что стоит обратить внимание.
И само собой разумеется, при работе с программой можно спуфить значение user-agent и referer, cookie. Работа в связке с Tor также прямо из коробки.
Подробнее об инструменте можно прочитать в данном блоге.