Работа с W3af в Kali Linux

Работа с W3af в Kali Linux

https://t.me/Torchik_Ru

Это вольный перевод статьи
http://pentesterconfessions.blogspot.ru/2007/10/how-to-use-w3af-to-audit-web.html

по работе в w3af.

Введение

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 Список доступных плагинов
back Перейти к предыдущему меню
exit Выйти из w3af
grep Просмотр, настройка и включение плагинов grep
audit Просмотр, настройка и включение плагинов аудита
evasion Просмотр, настройка и включение плагинов уклонения
crawl Просмотр, настройка и включение плагинов обхода контента
auth Просмотр, настройка и включение плагинов аутентификации
mangle Просмотр, настройка и включение плагинов искажения
output Просмотр, настройка и включение плагинов вывода
bruteforce Просмотр, настройка и включение плагинов брутфорса
infrastructure Просмотр, настройка и включение плагинов инфраструктуры

Для аудита веб-приложения нам потребуется настроить как минимум четыре плагина.

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

Сканер работает довольно долго, так что придется запастись терпением. В итоге получим примерно такой отчет:

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:


Report Page