Это вольный перевод статьи http://pentesterconfessions.blogspot.ru/2007/10/how-to-use-w3af-to-audit-web.html по работе в w3af.
Перевод прислал Entest, спасибо ему, что поделился с нами этим материалом!
Введение
W3af (Web Application Attack and Audit Framework) — это open-source сканер веб-уязвимостей.
Этот сканер имеет как графический интерфейс, так и возможность работы из-под консоли. В общем, это фреймворк с большим количеством различных плагинов.
В данной статье будет описано как осуществить проверку веб-приложения на уязвимости XSS, CSRF и Sqli работая в w3af из под консоли.
Как пользоваться W3af
Для запуска W3af в консольном виде надо открыть терминал и напечатать:
w3af_console
Для того чтобы посмотреть список всех опций напишем:
w3af>>> help
И получим:
|-----------------------------------------------------------------------------| | start | Запустить сканирование. | | plugins | Включение и настройка плагинов. | | exploit | Эксплуатировать уязвимость. | | profiles | Показать список и использовать профайлы сканирования. | | cleanup | Очистить перед началом нового сканирования. | |-----------------------------------------------------------------------------| | help | Показать помощь. Наберите: help [команда] , чтобы увидеть | | | больше помощи по конкретной "команде" | | version | Показать информацию о версии w3af. | | keys | Показать сочетания клавиш. | |-----------------------------------------------------------------------------| | http-settings | Задать HTTP настройки фреймворка. | | misc-settings | Изменить остальные настройки w3af. | | target | Настроить целевой URL. | |-----------------------------------------------------------------------------| | back | Вернуться в предыдущее меню. | | exit | Выход из w3af. | |-----------------------------------------------------------------------------| | kb | Просмотреть уязвимости, доступные в Базе Знаний. | |-----------------------------------------------------------------------------|
Прежде всего надо сказать как настроить w3af для работы.
Для выбора опции достаточно напечатать ее название, для того чтобы вернуться к предыдущему уровню следует напечатать "back".
Если напечатать команду "view" то на экран будет выведен список настраиваемых параметров выбранной опции.
Теперь рассмотрим опцию "target". В ней задается URL для проводимой проверки.
Настройка опций:
w3af>>> target w3af/config:target>>> help
Для данной опции доступны следующие параметры:
|-----------------------------------------------------------------------------| | view | Список доступных опций и их значения. | | set | Установить значение параметра. | | save | Сохранить новую конфигурацию. | |-----------------------------------------------------------------------------| | back | Вернуться в предыдущее меню. | | exit | Выйти из w3af. | |-----------------------------------------------------------------------------|
Установим URL для проверки:
w3af/config:target>>> set target http://localhost w3af/config:target>>> view
Для дальнейшей работы необходимо настроить плагины.
w3af/config:target>>> back w3af>>> plugins w3af/plugins>>> help
|---------------------------------------------------------------------------------------------------| | list | List available plugins. | |---------------------------------------------------------------------------------------------------| | back | Go to the previous menu. | | exit | Exit w3af. | |---------------------------------------------------------------------------------------------------| | grep | View, configure and enable grep plugins | | audit | View, configure and enable audit plugins | | evasion | View, configure and enable evasion plugins | | crawl | View, configure and enable crawl plugins | | auth | View, configure and enable auth plugins | | mangle | View, configure and enable mangle plugins | | output | View, configure and enable output plugins | | bruteforce | View, configure and enable bruteforce plugins | | infrastructure | View, configure and enable infrastructure plugins | |---------------------------------------------------------------------------------------------------|
Для аудита веб-приложения нам потребуется настроить как минимум четыре плагина. Audit, crawl, infrastructure и output.
Если мы напечатаем audit, то увидим все доступные настройки для этого плагина, такие как xss, csrf, sql и ldap инъекции и т.д. Кроме этого там также указано какие из настроек в данный момент включены.
Для включения определенных настроек следует напечатать:
w3af/plugins>>> audit xss,csrf,sqli
Для выбора всех настроек:
w3af/plugins>>> audit all
Нам как раз и нужно проверить веб-приложение на эти уязвимости. Кроме того мы хотим чтобы результат проверки отображался в консоли и был сохранен в виде html.
Для этого включим необходимые плагины crawl и output.
w3af/plugins>>> crawl web_spider,pykto w3af/plugins>>> infrastructure hmap w3af/plugins>>> output console,html_file
Немного информации о используемых плагинах:
Web_spider — Плагин представляет из себя классического web-паука. Он бродит по сайту и извлекает все ссылки и адреса форм.
Pykto — Плагин представляет из себя сканнер nikto, портированный на python. Он использует базу данных из nikto (scan_database) для поиска уязвимых ссылок.
Hmap — Плагин опознаёт удалённый веб-сервер, его тип, версию и установленные исправления.
Идентификация происходит не только через заголовок "Server". По сути плагин представляет из себя обёртку для hmap Dustin`a Lee.
Console — Этот плагин пишет отчёт о работе фреймворка в консоль.
Html_file — Плагин пишет отчёт о работе фреймворка в HTML-файл.
Для начала аудита выполняем следующие команды:
w3af/plugins>>> back w3af>>> start
Сканер работает довольно долго, так что придется запастись терпением. В итоге получим примерно такой отчет:
w3af>>> start Auto-enabling plugin: discovery.allowedMethods Auto-enabling plugin: discovery.error404page Auto-enabling plugin: discovery.serverHeader The Server header for this HTTP server is: Apache/2.2.3 (Ubuntu) PHP/5.2.1 Hmap plugin is starting. Fingerprinting may take a while. The most accurate fingerprint for this HTTP server is: Apache/2.0.55 (Ubuntu) PHP/5.1.2 pykto plugin is using "Apache/2.0.55 (Ubuntu) PHP/5.1.2" as the remote server type. This information was obtained by hmap plugin. pykto plugin found a vulnerability at URL: http://localhost/icons/ . Vulnerability description: Directory indexing is enabled, it should only be enabled for specific directories (if required). If indexing is not used, the /icons directory should be removed. The vulnerability was found in the request with id 128. pykto plugin found a vulnerability at URL: http://localhost/doc/ . Vulnerability description: The /doc directory is browsable. This may be /usr/doc. The vulnerability was found in the request with id 1865. pykto plugin found a vulnerability at URL: http://localhost/\> . Vulnerability description: The IBM Web Traffic Express Caching Proxy is vulnerable to Cross Site Scripting (XSS). CA-2000-02. The vulnerability was found in the request with id 3385. New URL found by discovery: http://localhost/ New URL found by discovery: http://localhost/test2.html New URL found by discovery: http://localhost/xst2.html New URL found by discovery: http://localhost/xst.html New URL found by discovery: http://localhost/test.html
И результат, сохраненный в results.html:
- Инструкция по Armitage: автоматический поиск и проверка эксплойтов в Kali Linux (100%)
- SQLMAP-Web-GUI: графический интерфейс для SQLMAP (100%)
- Как запустить Metasploit Framework в Kali Linux (58.6%)
- Стресс-тест сети с Low Orbit Ion Cannon (LOIC) (58.6%)
- Metasploit Exploitation Framework и searchsploit — как искать и как использовать эксплойты (58.6%)
- Аналоги и альтернативы TrueCrypt (RANDOM - 50%)
Entest откликнулся на призыв в заметке http://webware.biz/?p=3327. Спасибо ему большое за это!
Это случилось впервые, и я очень этому рад. Более того, из самой заметки я почерпнул для себя новое.