Codeby web-security - новый курс от Codeby Security School

Представляем вашему вниманию новый курс от команды The Codeby - "Тестирование Веб-Приложений на проникновение с нуля". Общая теория, подготовка рабочего окружения, пассивный фазинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...


Это вольный перевод статьи 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

Для дальнейшей работы необходимо настроить плагины.


Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


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

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

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:

w3af results


Codeby Market от Сodeby

Мы запустили свой магазин CodebyMarket Equipment for InfoSec. Уже добавили RaspberryAlfa Long-RangeOrange PiArduino и многое другое. Купить Pentesting Devices