1. Intro
w3af. Странно, что на форуме по безопасности веб интерфейсов данный поисковый запрос практически не дал результатов. С первого же взгляда эта платформа показалась мне очень интересной! Поэтому я решил ликвидировать это упущение и немного рассказать о ней. w3af - платформа для проведения аудита и атак на веб-приложения. Кто-то не побоялся назвать её "Metasploit for the Web". Платформа с открытым исходным кодом. Она написана на python, поэтому с успехом запускается и под Windows, и под *NIX, и под Макось. Всё что нужно для инсталляции - это установленный интерпретатор питона второй ветки (не третьей!). В распоряжении пользователя как графический (с использованием GTK), так и консольный (для черношапошников) интерфейсы. Подавляющую часть функциональности платформы составляют плагины (на данный момент уже более 100), которые разделены на группы:
audit - плагины, которые непосредственно ищут уязвимости на веб сервере
bruteforce - плагины для перебора логинов и паролей веб форм и BasicAuth
discovery - плагины для сбора информации: версия веб сервера, версия ОС, ссылки, пользователи, электропочтовые ящики
evasion - плагины, которые изменяют запросы к веб серверу для преодоления фильтрации, типа кавычек и прочего
grep - плагины для анализа запросов/ответов веб сервера
mangle - плагины для изменения запросов к веб серверу "на лету"
С
полным списком плагинов можно ознакомиться на сайте проекта.
Ладно - меньше слов, больше дела!
2. Setup
Если в вашей системе не установлен интерпретатор питона, то скачайте его
отсюда и установите (напоминаю - вторую версию, она же 2.*.*, ибо с третьей версией платформа несовместима). Далее идем на официальный сайт
w3af скачиваем и устанавливаем последнюю версию платформы. Процесс установки, думаю, особого смысла описывать нет. Под винду вообще очень просто устанавливается - в комплекте идут все нужные компоненты, кроме самого интерпретатора питона. Если возникнут проблемы с установкой - спрашивайте здесь.
3. GUI
Начнем знакомство с графического интерфейса. Для того, чтобы запустить платформу в графическом режиме, нужно запустить батник
w3af_gui.bat, который находится в папке с установленным фреймворком или вообще в меню "Start / Пуск" (для Windows) или набрать команду
w3af -g (для *NIX). Ниже представлено главное окно программы:
Слева располагается набор профилей. Профиль - это набор плагинов, которые будут активированы в ходе аудита. Они располагаются правее и после выбора профиля можно изменять начальный набор плагинов в зависимости от потребностей. Например, если выбрать профиль fast_scan, то будут выбраны плагины из группы audit (sqli - для поиска sql инъекций, xss - для поиска xss уязвимостей) и из группы discovery (yahooSiteExplorer - с его помощью будут искаться проиндексированные yahoo страницы сайта для последующего их отправления для аудита плагинами sqli и xss). Предположим, если нам надо протестировать сайт только на sql инъекции, то нужно снять галочку с xss, ввести в поле Target ссылку на сайт, например http://www.victim.com и нажать Start.
Продемонстрирую это на примере. Возьмем какой-нибудь сайт, где заведомо есть инъекция, например из темы про sql инъекции и запустим сканер. Откроется вкладка Log, где будет виден прогресс сканирования, а также будет выводится полезная информация по ходу дела:
Во вкладке Results можно посмотреть более подробный отчет о найденных уязвимостях, а во вкладке Exploit - дать возможность сканеру эксплуатировать эти уязвимости (в данном случае - с помощью sql_webshell или sqlmap), что у него не всегда получается. На этот раз в один прекрасный момент хост просто отказался отвечать на запросы. =(
4. consoleUI
Итак, теперь разберемся, как проделать вышеописанные действия в консоли. Что нужно знать в первую очередь - это две самые актуальные команды:
help и
back (оно же
Ctrl+C). Консоль снабжена удобной функцией автодополнения (клавиша
Tab). Так выглядит главное меню w3af после команды help:
Нужно отредактировать список используемых плагинов:
Код:
w3af>>> plugins
w3af/plugins>>> audit sqli
w3af/plugins>>> discovery yahooSiteExplorer
Таким образом включили два нужных нам плагина. Теперь зададим объект сканирования:
Код:
w3af>>> target
w3af/config:target>>> set target http://www.racingimages.cc/
Включим вывод на консоль и в текстовый файл, зададим имя файла:
Код:
w3af>>> plugins
w3af/plugins>>> output console,textFile
w3af/plugins>>> output config textFile
w3af/plugins/output/config:textFile>>> set fileName output-w3af.txt
И, наконец, запустим сканирование:
5. Outro
Enjoy! С вами был iv. Жду умных мыслей и дополнений!