Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Авторские статьи (https://forum.antichat.xyz/forumdisplay.php?f=31)
-   -   w3af - Web Application Attack and Audit Framework (https://forum.antichat.xyz/showthread.php?t=119108)

iv. 04.05.2009 22:33

w3af - Web Application Attack and Audit Framework
 
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

И, наконец, запустим сканирование:

Код:

w3af>>> start
5. Outro

Enjoy! С вами был iv. Жду умных мыслей и дополнений!

gibson 04.05.2009 22:53

Цитата:

Странно, что на форуме по безопасности веб интерфейсов данный поисковый запрос практически не дал результатов.
Наверно, потому что, есть
https://forum.antichat.ru/showpost.php?p=123059&postcount=1

iv. 04.05.2009 22:59

Цитата:

Наверно, потому что, есть
https://forum.antichat.ru/showpost.php?p=123059&postcount=1
Хм? Не уловил мысль =) Тот пост за 2006 год - w3af и в помине не было..

Zitt 04.05.2009 23:14

а я никто юзаю=)
а вобще хакеры на уровне все делают руками....

iv. 04.05.2009 23:16

Цитата:

а я никто юзаю=)
а вобще хакеры на уровне все делают руками....
Тут никто в качестве плагина присутствует - pykto.
Ручной аудит никто не отменял, но автоматизировать рутинные процессы - всегда приятно.

iv. 19.05.2009 09:36

Сегодня пробовал w3af под никсами. Собственно, опишу мои действия, чтобы было меньше вопросов.
Будем считать, что питон уже установлен в системе. Скачиваем архивчик w3af_1.0-rc2.tar.bz2 с SourceForge и распаковываем себе в домашнюю директорию, например. Для удобства пользователя почти все нужные библиотеки есть в этом архиве. Чтобы их установить нужно:

cd ~/w3af/extlib/fpconst-0.7.2/
sudo python setup.py install

cd ../pygoogle/
sudo python setup.py install

cd ../SOAPpy/
sudo python setup.py install

cd ../pyPdf/
sudo python setup.py install


Далее после этого, если попробуем запустить w3af он скажет, что таких-то компонентов нет и предложит их заинсталлить:

sudo apt-get install graphviz
sudo apt-get install python-pyopenssl

cd ~/w3af/w3af_gui


Вуаля, можно работать:


TRX.new 19.05.2009 13:45

Ну экзотику это дело все-равно не осилит.. а примитив до среднего уровня проверить можно.. Полезно, спасибо!

Spacelove 24.05.2009 02:02

Сори что отрываю от дел!При запуске данной программы GUI у меня возникает её закрузка после чего вылетает не понятный список ошибок связанный с Python и вся загрузка прерываеться.Прошу помочь разобраться с этой проблемой.Когда запускаю консольный вариант просто вылетает.
p.s Python поставил версия 2.5.4

iv. 24.05.2009 16:48

Цитата:

Сори что отрываю от дел!При запуске данной программы GUI у меня возникает её закрузка после чего вылетает не понятный список ошибок связанный с Python и вся загрузка прерываеться.Прошу помочь разобраться с этой проблемой.Когда запускаю консольный вариант просто вылетает.
p.s Python поставил версия 2.5.4
Непонятный список ошибок скопируй сюда.

Spacelove 24.05.2009 20:28

http://xmages.net/out.php/i237897_error.jpg

Spacelove 24.05.2009 20:31

Сделал скрин, остальную часть ошибки не успеваю посмотреть так как она исчезает.

iv. 24.05.2009 21:12

Такое ощущение, что не все питоновские либы стоят, которые после инсталляции w3af ставятся.
Необходимы:
Цитата:

fpconst-0.7.2
pygoogle
nltk
SOAPpy
pyPdf
Beautiful Soup
Python OpenSSL
json.py
scapy
Для GUI:
Цитата:

python sqlite3
graphviz
pygtk 2.0
gtk 2.12
глянь их в %python_path%\Lib\ если нет, то придется скачивать вручную, либо заново инсталлятор w3af запустить

Tigger 24.05.2009 21:16

Хм... Можно будет попробывать... Но мне и руками как-то привычнее и удобнее... Если что, то есть SIPT.
А Backtrack не тоже самое? Я просто никогда ничгео такого не ставил...

//Если поставлю, то отпишусь...

pento 24.05.2009 21:24

Цитата:

Сообщение от Tigger
Хм... Можно будет попробывать... Но мне и руками как-то привычнее и удобнее... Если что, то есть SIPT.
А Backtrack не тоже самое? Я просто никогда ничгео такого не ставил...

//Если поставлю, то отпишусь...

Что понимаетяс под SIPT?
Бактрак - совершенно другое. Автору респект за статью. Сейчас доделаем прокси до уровня BurpProxy и WebScarab и вообще конфетка будет.

Spacelove 24.05.2009 21:52

Народ если кому не трудно залейте на файловый обменник свой Python2.5.4 .Либо отдельно выложите библиотеки :
python sqlite3
graphviz
pygtk 2.0
gtk 2.12

iv. 24.05.2009 22:10

Цитата:

Народ если кому не трудно залейте на файловый обменник свой Python2.5.4 .Либо отдельно выложите библиотеки :
python sqlite3
graphviz
pygtk 2.0
gtk 2.12
Запусти инсталлер заново и внимально следуй указаниям, окна лишние не закрывай. =)

Spacelove 24.05.2009 22:11

Цитата:

Сообщение от iv.
Такое ощущение, что не все питоновские либы стоят, которые после инсталляции w3af ставятся.
Необходимы:

Для GUI:

глянь их в %python_path%\Lib\ если нет, то придется скачивать вручную, либо заново инсталлятор w3af запустить

Отлично , Не помогло.Прошу предложить еще варианты решения проблемы!

iv. 24.05.2009 23:15

Не помогло что? Либы все на месте? Питон точно 2?

Spacelove 24.05.2009 23:35

НЕ помогла переустановка программы,Библиотек(Либы все на месте)Питон точно 2.5.4,
Возможно программа не адаптированная для Висты?!

iv. 24.05.2009 23:44

Цитата:

НЕ помогла переустановка программы,Библиотек(Либы все на месте)Питон точно 2.5.4,
Возможно программа не адаптированная для Висты?!
Программа? Тогда питон получается не адаптирован. Я на висту не пробовал ставить.

Spacelove 25.05.2009 02:36

КАким образом может Питон не адаптированным к висте?)Народ у кого на висте работала данная программа w3af???

LEE_ROY 25.05.2009 03:08

что можно было напихать в энтот сканер, на 400 метров ?

iv. 25.05.2009 11:06

Цитата:

КАким образом может Питон не адаптированным к висте?)
Если ты, как говоришь, всё правильно сделал, то я могу сделать только такое заключение. Ибо w3af через интерпретатор питона работает.
Цитата:

что можно было напихать в энтот сканер, на 400 метров ?
Это в какой ОС такое? У меня на никсах 69мб в распакованном виде.

Spacelove 25.05.2009 13:58

То что w3af работает через Питон это понятно, не понятно почему выдаёт ошибку.
Сделал еще скрин

http://xmages.net/out.php/i238858_556.jpg

LEE_ROY 25.05.2009 14:23

я идиот )
вместо проги (shorty) релиза, скачал образ vmware с предустановленными модулями и самим сканнером внутри ) это пиздец )

iv. 25.05.2009 14:38

Цитата:

Сообщение от Spacelove
То что w3af работает через Питон это понятно, не понятно почему выдаёт ошибку.
Сделал еще скрин

http://xmages.net/out.php/i238858_556.jpg

Имя пользователя криво передается. Русскими буквами назвался? Ну пробуй теперь проделать всё это из-под английского. =)

Spacelove 25.05.2009 18:13

Цитата:

Сообщение от iv.
Ну пробуй теперь проделать всё это из-под английского. =)

Не понял что мне тепреь делать?

iv. 26.05.2009 06:53

Цитата:

Не понял что мне тепреь делать?
Из-под английского %username% повторить действия.

login999 26.05.2009 08:09

Не-а не совсем :) сделай так чтоб в пути к запускаемому файлу не было папок с русскими именами(можно поставить в корень локального диска).
Еще как вариант можно поставить Python 2.6, найти где в этом чуде есть такая строчка os.getcwd() и заменить ее на os.getcwdu() -должно помочь тоже :)

iv.. +20 за цацку :) По свободе потыкаю :)

iv. 26.05.2009 16:39

Цитата:

Не-а не совсем сделай так чтоб в пути к запускаемому файлу не было папок с русскими именами(можно поставить в корень локального диска).
Причем здесь "запускаемый файл"? Он же на конфигурационный файл ругается, путь к которому от имени пользователя зависит. А где изменить путь к нему - я не нашел.
Цитата:

Еще как вариант можно поставить Python 2.6, найти где в этом чуде есть такая строчка os.getcwd() и заменить ее на os.getcwdu() -должно помочь тоже
Сложно =)

login999 26.05.2009 16:49

Инсталляции скриптов не существует в природе, нехер ему чего-то прописывать в папку юзера - ему там ничего не нужно, ВСЕ скрипты которые я видел брали конфиги и всю другую инфу из своей папки, максимум подпапки. Поэтому я пришел к выводу что чел запускает софт из папки юзверя :) В принципе я не исключаю что ребята из Bonsai извращенцы, и скрипт сдирает конфиги из папки юзера.
P.S> Насчет Висты - когда в своих блужданиях натыкался как хаяли Питон на Висте с каким-то багом, что за баг и когда его выловили я не помню, просто помню что было что-то такое

Кажись нашел где туплеж :)

Тыгс, файлег w3af/core/controllers/misc/homeDir.py
Код:

...
def get_home_dir():
    '''
    @return: The location of the w3af directory inside the home directory of the current user.
    '''
    home_path = user.home + os.path.sep + '.w3af'
    return home_path
...

Заменить на
Код:

...
def get_home_dir():
    '''
    @return: The location of the w3af directory inside the home directory of the current user.
    '''
    home_path = "C:\w3af\temp_dir\"#Еще можно попробовать заменить на os.getcwd() + os.path.sep + 'temp_files'- с 2.5 Питоном не работал, не знаю как он себя поведет, по идее домашняя папка скрипта будет в нем самом, а не в папке юзера какого-то хрена
    return home_path
...

.iv , мои извинения я не знаю какому укуренному наркоману пришла в голову такая хня - писать какое-то файло в папку юзера

iv. 29.05.2009 16:08

Цитата:

я не знаю какому укуренному наркоману пришла в голову такая хня - писать какое-то файло в папку юзера
почему нет? под никсы скорее всего расчет был.

iv. 29.05.2009 18:43

И да!
w3af теперь в официальных репозиториях Debian
относится и к всем Debian-based дистрам, типа Ubuntu
sudo apt-get install w3af и всё должно быть чик-чик! сам не проверял. =\

AKYLA 02.07.2009 23:07

Пробовал тулсу, вот только проблема возникает при использовании webSpider, как бы не совсем проблема, просто он просто напросто не обходит по ссылкам сайт...фактически все тесты только на первой странице, то ли я чет не так делаю...хотя уже перечитал Факи...или так и должно быть...если в тупую всунуть ссылку, тогда он проверяет, а так нет. А больше адекватных обходчиков я там не нашел, все что с гуглом связанно, надо API Key, но он его не хавает почему-то и пишет что Bad.
Еще интересует может ли он как-то делать обход Javascript ссылок, или только прямые?

P.S. Уже понял, надо юзать spiderMan.
А вообще впечатления о проге довольно хорошие, много в себе совмещает полезных фитч, главное правильно их использовать и не все в автомате, тогда будет довольно хороший эффект.
Удобно пользоваться ею в BackTrak'e

Gidz 16.08.2009 14:14

после запуска сканированя в графическом режиме, в логах пишутся такие ошибки
Код:

[Sun 16 Aug 2009 02:09:02 PM EDT] Auto-enabling plugin: grep.error500
[Sun 16 Aug 2009 02:10:12 PM EDT] An unhandled exception was found while finding forms inside a document. The exception is: "string index out of range"
[Sun 16 Aug 2009 02:10:12 PM EDT] Error traceback: Traceback (most recent call last):
  File "/usr/share/w3af/core/data/parsers/sgmlParser.py", line 156, in unknown_starttag
    self._findForms(tag, attrs)
  File "/usr/share/w3af/core/data/parsers/htmlParser.py", line 99, in _findForms
    self._handle_form_tag(tag, attrs)
  File "/usr/share/w3af/core/data/parsers/htmlParser.py", line 146, in _handle_form_tag
    action = urlParser.urlJoin( self._baseUrl, decoded_action )
  File "/usr/share/w3af/core/data/parsers/urlParser.py", line 170, in urlJoin
    elif relative[0] == '?':
IndexError: string index out of range

[Sun 16 Aug 2009 02:10:12 PM EDT] An unhandled exception was found while finding forms inside a document. The exception is: "string index out of range"
[Sun 16 Aug 2009 02:10:12 PM EDT] Error traceback: Traceback (most recent call last):
  File "/usr/share/w3af/core/data/parsers/sgmlParser.py", line 156, in unknown_starttag
    self._findForms(tag, attrs)
  File "/usr/share/w3af/core/data/parsers/htmlParser.py", line 99, in _findForms
    self._handle_form_tag(tag, attrs)
  File "/usr/share/w3af/core/data/parsers/htmlParser.py", line 146, in _handle_form_tag
    action = urlParser.urlJoin( self._baseUrl, decoded_action )
  File "/usr/share/w3af/core/data/parsers/urlParser.py", line 170, in urlJoin
    elif relative[0] == '?':
IndexError: string index out of range

никто не знает из-за чего они появляются и как исправить??

pento 19.08.2009 00:50

Цитата:

Сообщение от Gidz
после запуска сканированя в графическом режиме, в логах пишутся такие ошибки
Код:

[Sun 16 Aug 2009 02:09:02 PM EDT] Auto-enabling plugin: grep.error500
[Sun 16 Aug 2009 02:10:12 PM EDT] An unhandled exception was found while finding forms inside a document. The exception is: "string index out of range"
[Sun 16 Aug 2009 02:10:12 PM EDT] Error traceback: Traceback (most recent call last):
  File "/usr/share/w3af/core/data/parsers/sgmlParser.py", line 156, in unknown_starttag
    self._findForms(tag, attrs)
  File "/usr/share/w3af/core/data/parsers/htmlParser.py", line 99, in _findForms
    self._handle_form_tag(tag, attrs)
  File "/usr/share/w3af/core/data/parsers/htmlParser.py", line 146, in _handle_form_tag
    action = urlParser.urlJoin( self._baseUrl, decoded_action )
  File "/usr/share/w3af/core/data/parsers/urlParser.py", line 170, in urlJoin
    elif relative[0] == '?':
IndexError: string index out of range

[Sun 16 Aug 2009 02:10:12 PM EDT] An unhandled exception was found while finding forms inside a document. The exception is: "string index out of range"
[Sun 16 Aug 2009 02:10:12 PM EDT] Error traceback: Traceback (most recent call last):
  File "/usr/share/w3af/core/data/parsers/sgmlParser.py", line 156, in unknown_starttag
    self._findForms(tag, attrs)
  File "/usr/share/w3af/core/data/parsers/htmlParser.py", line 99, in _findForms
    self._handle_form_tag(tag, attrs)
  File "/usr/share/w3af/core/data/parsers/htmlParser.py", line 146, in _handle_form_tag
    action = urlParser.urlJoin( self._baseUrl, decoded_action )
  File "/usr/share/w3af/core/data/parsers/urlParser.py", line 170, in urlJoin
    elif relative[0] == '?':
IndexError: string index out of range

никто не знает из-за чего они появляются и как исправить??

Если можно, то:
- ОС, версия питона
- при каких условиях бага повторяется
- бага свойственна только граф. режиму?
- страница, на которой такое вылазит.

А багу поправим конечно.

Cmucl 20.08.2009 14:53

Кто скажет как юзать кукисы?
the cookiejarfile must be in mozilla format. Короче говоря покажите пример файла подключаемого через настройки - этого самого cookieJarFile.

Qws 11.09.2009 17:02

Что то у меня не запускается...жму w3af_gui.bat появляется картинка орла вместе с консолью,и через 2 секунди пропадает :(Что делать?

Oza 20.10.2009 17:07

Та же самая проблема....2 сек картинка висит,дальше не запускается.
На Ubuntu поставил-щикарно,спс :)

Sergey1974 21.03.2010 21:37

Цитата:

Сообщение от Oza
Та же самая проблема....2 сек картинка висит,дальше не запускается.
На Ubuntu поставил-щикарно,спс :)

Не запускается под XP SP3... Появляется заставка и все. Под убунтой работает, но надо под виндой запустить. Ставил питон 2.6.4 - ругается, 2.5.4 - устанавливается но не запускается, ошибок не выдает.


Время: 14:45