X-Tools #196. Софт для взлома и анализа безопасности
Те, кто сталкивается с задачей компрометации Windows-системы, непременно (конечно, если пользователь его не выключил) встречают на своем пути UAC (User Account Control). По большому счету это не такая уж гигантская проблема. Но особых инструментов в данной теме не было до этого момента.
UACMe — инструмент, нацеленный на обход UAC в системе. Распространяется в виде исходных кодов. Для работы с ним достаточно запустить его из командной строки и выбрать один из вариантов обхода в качестве ключа программы.
Поддерживаемые варианты обхода UAC:
- Sysprep-метод Лео Дэвидсона (Leo Davidson), работает только на Windows 7 и Windows 8, использовался во множестве вредоносов.
- Измененный sysprep-метод Лео Дэвидсона, работает только для Windows 8.1.9600.
- Метод Лео Дэвидсона, используемый разработчиками WinNT / Pitou developers, работает с Windows 7 до 10.0.10049.
- Application Compatibility Shim RedirectEXE метод, из WinNT/Gootkit. Работает с Windows 7 до 8.1.9600.
- ISecurityEditor WinNT/Simda метод, используется для отключения UAC, работает с Windows 7 до Windows 10.0.10049.
- Wusa-метод, используемый Win32/Carberp, используется при работе с Windows 8/8.1.
- Wusa-метод, используется с Windows 7 до 10.0.10049.
- Немного измененный метод Лео Дэвидсона, используемый в Win32/Tilon, работает только в Windows 7.
- Гибридный метод, комбинация WinNT/Simda и Win32/Carberp + AVrf, работает с Windows 7 до 10.0.10049.
Естественно, каждый метод имеет еще некоторые условия и ограничения (не работает из wow64 или вообще не работает для 64-битной ОС). Инструмент проверен на следующих конфигурациях системы:
- x86-32/x64 Windows 7/8/8.1/10;
- из-под админского аккаунта с настройками UAC по умолчанию.
А в качестве рекомендаций по защите от этого всего можно посоветовать:
- установить UAC на максимальный уровень и полное информирование о каждом окне, что будет включаться;
- работать из-под аккаунта без административных привилегий.
Также по данной теме советуем ознакомиться со статьей Windows 7 UAC whitelist.
Фаззим media на Android
MFFA — Media Fuzzing Framework для Android.
Основная идея данного проекта заключается в создании поврежденного, но структурно валидного медиафайла, передача его соответствующему программному компоненту в Android для его декодирования и/или воспроизведения. И естественно, мониторинг системы после того, как это происходит для ловли потенциальных проблем, которые могут привести к эксплуатабельным уязвимостям.
Все это написано и автоматизировано на Python.
Если углубиться во внутреннее устройство ОС Android, то фактически медиафайлы на Android-устройствах декодируются с помощью Stagefright-интерфейса командной строки.
- Python 2.7;
- Android SDK.
В процессе своей работы авторы данного творения нашли семь уязвимостей в Android. Но сколько еще не нашли? 🙂
Для более близкого знакомства с инструментом советуем обратиться к презентации Fuzzing the Media Framework in Android.
Network Attack Tool
Zarp — это инструмент для атаки сетей, заточенный под атаки в локальных сетях. Это не просто набор эксплойтов для конкретных уязвимостей — инструмент использует в своей работе архитектурные недостатки сетей, протоколов и так далее. Программа может работать с несколькими системами одновременно и все делать параллельно: отравлять трафик, снифать, дампить важную информацию и просто атаковать напрямую. Различные сниферы включают автоматический парсинг имен пользователей и паролей из различных протоколов, как HTTP, так и других. Есть также и грубые атаки, такие как DoS.
Инструмент полностью написан на Python и для своей работы еще использует известную библиотеку Scapy. Также для полной функциональности программы может потребоваться наличие следующих инструментов: airmon-ng suite, tcpdump, libmproxy, paramiko, nfqueue-bindings. Программа может работать как в режиме командной строки, так и в интерактивном режиме.
Основные группы возможностей:
- Poisoners;
- DoS Attacks;
- Sniffers;
- Scanners;
- Parameter;
- Services;
- Attacks;
- Sessions.
В текущей версии программы представлено 34 модуля.
PyPhisher
PyPhisher — это до безобразия простой Python-скрипт (67 строчек кода), позволяющий проводить фишинговые email-рассылки. Скрипт имеет commandline-интерфейс и всего несколько параметров, что позволяет легко использовать и масштабировать.
Данный инструмент был создан для задач фишинговых рассылок при тестах на проникновение. Скрипт на вход берет прегенеренный HTML-код (например, полностью скопированная версия письма от магазина или платежной системы) письма, заменяет в нем все ссылки на необходимые и отправляет жертве. Ранее в подобных программах приходилось в основном заменять ссылки вручную.
- --server — имя сервера;
- --port — номер порта;
- --html — текст письма;
- --url_replace — замененная ссылка;
- --subject — тема письма;
- --sender — отправитель письма;
- --sendto — получатель письма.
Symboliclink Testing Tools
C первого взгляда (для неопытного пользователя/атакующего) может показаться странным/непонятным, что такого опасного может быть в символьных ссылках в ОС Windows (с Linux все понятно). Но данные файлы скрывают под собой много чего интересного. Итак, символьная ссылка может позволить атакующему прочитать/записать/повредить файл, к которому в обычной ситуации он не имел прав доступа.
В Windows наиболее интересно злоупотребление символьными ссылками менеджера объектов. В качестве примера можешь посмотреть описание IE EPM MOTWCreateFile Information Disclosure или Adobe Flashbroker Incorrect Canonicalization Sandbox Escape.
Symboliclink Testing Tools — инструмент, который как раз позволяет проверять корректность обработки символьных ссылок и искать такие уязвимости. Сам автор инструмента частенько использует такие уязвимости для повышения привилегий и побега из песочницы IE.
В итоге этот небольшой набор для тестирования состоит из следующих программ: BaitAndSwitch, CreateDosDeviceSymlink, CreateMountPoint, CreateNtfsSymlink, CreateObjectDirectory, CreateRegSymlink, DeleteMountPoint, DumpReparsePoint, NativeSymlink, SetOpLock.
Более подробнее об этой теме ты можешь узнать из презентации «A Link to the Past: Abusing Symbolic Links on Windows» с конференции SyScan 2015.
Пишем shellcode по-взрослому
Написание шелл-кода — это неотъемлемая часть создания эксплойта. Да, кто-то берет с сайтов типа exploit-db или программ типа Metasploit. Но не всегда там есть то, что нужно тебе. Вот в такой ситуации приходится писать самому. Порой задачи стоят очень сложные, и писать шелл-код на ассемблере — очень долгая и муторная задача.
При этом вероятность получить более компактный код, чем сгенерирует компилятор, очень невелика. Так давай же писать шелл-код на высокоуровневом языке и доверять его оптимизацию компилятору :).
Проект cc-shellcoding как раз и позволяет делать такие вещи. Особенности:
- смешивание user mode и kernel mode кода;
- отсутствие импорта (не надо его обрабатывать вручную);
- наличие С++ (частично std и boost);
- relocations (нет необходимости самому писать позиционно независимый код);
- динамический загрузчик.
Также фишка этого проекта в том, что можно использовать С++ прямо в ядре. Впервые проект был представлен на конференции NoSuchCon 2014. Подробнее о выступлении и инструменте можно узнать из презентации «Attack on the Core!».
Хакаем тачку
CAN (англ. Controller Area Network — сеть контроллеров) — стандарт промышленной сети, ориентированный прежде всего на объединение в сеть различных исполнительных устройств и датчиков. Режим передачи последовательный, широковещательный, пакетный. CAN в настоящее время широко распространен в промышленной автоматизации, технологиях «умного дома», автомобильной промышленности и многих других областях. Стандарт для автомобильной автоматики.
CANard — это Python-фреймворк для работы с Controller Area Network приложениями. C его помощью можно производить различные DoS-атаки, инъекции, диагностику, фаззинг.
Для начала работы с этим фреймворком советуем обратиться к папочке examples, где есть много всего полезного и интересного.
Для более удобной работы можно еще приобрести железку под названием CANtact, которая полностью поддерживает CANard и работает по серийному порту.
Впервые проект был представлен на конференции Black Hat Asia 2015. Подробнее о выступлении и инструменте можно узнать из презентации «Hopping On the CAN Bus: Automotive Security and the CANard Toolkit».