Вапити - сама провера рањивости на сајту

Вапити - сама провера рањивости на сајту
У последњих Чланак Разговарали смо о Немесида ВАФ Фрее - бесплатан алат за заштиту веб локација и АПИ-ја од хакерских напада, а у овом смо одлучили да прегледамо популарни скенер рањивости Вапити.

Скенирање веб локације у потрази за рањивостима је неопходна мера, која, заједно са анализом изворног кода, омогућава да процените ниво његове безбедности од претњи компромитовања. Можете скенирати веб ресурс помоћу специјализованих алата.

Никто, В3аф (написан у Питхон-у 2.7, који више није подржан) или Арацхни (више није подржан од фебруара) су најпопуларнија решења представљена у бесплатном сегменту. Наравно, постоје и други, на пример, Вапити, на које смо одлучили да се фокусирамо.

Вапити ради са следећим типовима рањивости:

  • проширење датотеке (локално и удаљено, фопен, реадфиле);
  • ињекције (ПХП / ЈСП / АСП / СКЛ ињекција и КСПатх ињекција);
  • КССС (Цросс Сите Сцриптинг) (рефлексиван и постојан);
  • откривање и извршавање команди (евал(), систем(), пасстру());
  • ЦРЛФ ињекције (подела ХТТП одговора, фиксација сесије);
  • КСКСЕ (КСМЛ екстерни ентитет) уграђивање;
  • ССРФ (Фалсификовање захтева на страни сервера);
  • коришћење познатих потенцијално опасних датотека (захваљујући бази података Никто);
  • слабе .хтаццесс конфигурације које се могу заобићи;
  • присуство резервних датотека које откривају поверљиве информације (откривање изворног кода);
  • Контузија;
  • отворена преусмеравања;
  • нестандардне ХТТП методе које се могу решити (ПУТ).

Могућности:

  • ХТТП, ХТТПС и СОЦКС5 прокси подршка;
  • аутентификација коришћењем неколико метода: Басиц, Дигест, Керберос или НТЛМ;
  • могућност ограничавања области скенирања (домен, фасцикла, страница, УРЛ);
  • аутоматско уклањање једног од параметара у УРЛ-у;
  • више мера предострожности против бескрајних петљи скенирања (пример: ифор, граничне вредности за параметар);
  • могућност постављања приоритета за испитивање УРЛ адреса (чак и ако се не налазе у области скенирања);
  • могућност искључивања неких УРЛ адреса из скенирања и напада (на пример: УРЛ одјава);
  • увоз колачића (добите их помоћу алатке вапити-гетцоокие);
  • могућност активирања/деактивирања верификације ССЛ сертификата;
  • могућност издвајања УРЛ-ова из ЈаваСцрипт-а (веома једноставан ЈС тумач);
  • интеракција са ХТМЛ5;
  • неколико опција за управљање понашањем и ограничењима пописивача;
  • постављање максималног времена за процес скенирања;
  • додавањем неких прилагођених ХТТП заглавља или подешавањем прилагођеног корисничког агента.

Додатне функције:

  • креирање извештаја о рањивости у различитим форматима (ХТМЛ, КСМЛ, ЈСОН, ТКСТ);
  • паузирање и наставак скенирања или напада (механизам сесије који користи СКЛите3 базе података);
  • позадинско осветљење у терминалу за истицање рањивости;
  • различити нивои сече;
  • Брз и лак начин да активирате/деактивирате нападне модуле.

Инсталација

Тренутна верзија Вапити-а се може инсталирати на 2 начина:

  • преузмите извор са званичног саита и покрените инсталациону скрипту, након што сте претходно инсталирали Питхон3;
  • користећи команду пип3 инсталл вапити3.

Након овога, Вапити ће бити спреман за полазак.

Рад са алатом

Да бисмо демонстрирали рад Вапити-ја, користићемо посебно припремљен штанд ситес.вулнс.пентестит.ру (интерни ресурс), који садржи различите рањивости (Ињецтион, КССС, ЛФИ/РФИ) и друге недостатке веб апликација.

Информације су дате само у информативне сврхе. Не кршите закон!

Основна команда за покретање скенера:

# wapiti -u <target> <options>

Истовремено, постоји прилично детаљна помоћ са великим бројем опција за покретање, на пример:

--Обим - област примене
Ако наведете параметар опсега заједно са УРЛ-ом пописивања, можете да прилагодите област пописивања сајта тако што ћете навести и једну страницу и све странице које се могу наћи на сајту.

-s и -x — опције за додавање или уклањање одређених УРЛ адреса. Ове опције су корисне када треба да додате или уклоните одређени УРЛ током процеса пописивања.

--скип — наведени параметар са овим кључем ће бити скениран, али неће бити нападнут. Корисно ако постоје опасни параметри које је најбоље искључити током скенирања.

--верифи-ссл — омогућите или онемогућите верификацију сертификата.
Вапити скенер је модуларан. Међутим, да бисте покренули одређене модуле, укључујући оне који се аутоматски повезују док скенер ради, потребно је да користите прекидач -м и наведете оне које су вам потребне, раздвојене зарезима. Ако се кључ не користи, сви модули ће радити подразумевано. У најједноставнијој верзији то ће изгледати овако:

# wapiti -u http://sites.vulns.pentestit.ru/ -m sql,xss,xxe

Овај пример употребе значи да ћемо користити само СКЛ, КССС и КСКСЕ модуле када скенирамо циљ. Поред тога, можете филтрирати рад модула у зависности од жељеног метода. На пример -м “ксс: гет, блиндскл: пост, кке: пост”. У овом случају, модул ксс примениће се на захтеве послате методом ГЕТ и модул блибдскл — на ПОСТ захтеве итд. Иначе, ако неки модул који је уврштен на листу није био потребан током скенирања или траје веома дуго, онда притиском на комбинацију Цтрл+Ц можете прескочити коришћење тренутног модула тако што ћете изабрати одговарајућу ставку у интерактивном менију.

Вапити подржава прослеђивање захтева кроз прокси помоћу кључа -p и аутентификацију на циљном сајту преко параметра -a. Такође можете одредити тип аутентификације: Басиц, Дигест, Керберос и НТЛМ. Последња два могу захтевати инсталацију додатних модула. Поред тога, можете уметнути било која заглавља у захтеве (укључујући произвољна Усер-агент) и још много тога.

Да бисте користили аутентификацију, можете користити алат вапити-гетцоокие. Уз његову помоћ формирамо колачић, који ће Вапити користити приликом скенирања. Формација колачић урађено са командом:

# wapiti-getcookie -u http://sites.vulns.pentestit.ru/login.php -c cookie.json

Док радимо интерактивно, одговарамо на питања и наводимо потребне информације као што су пријава, лозинка, итд.:

Вапити - сама провера рањивости на сајту

Излаз је датотека у ЈСОН формату. Друга опција је додавање свих потребних информација кроз параметар -d:

# wapiti-getcookie - http://sites.vulns.pentestit.ru/login.php -c cookie.json -d "username=admin&password=admin&enter=submit"

Резултат ће бити сличан:

Вапити - сама провера рањивости на сајту

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

# wapiti --level 1 -u http://sites.vulns.pentestit.ru/ -f html -o /tmp/vulns.html -m all --color -с cookie.json --scope folder --flush-session -A 'Pentestit Scans' -p http://proxy.office.pentestit.ru:3128

где између осталих параметара:

-f и -o — формат и путања за чување извештаја;

-m — повезивање свих модула се не препоручује, јер ће утицати на време тестирања и величину извештаја;

--боја — истаћи пронађене рањивости у зависности од њихове критичности према самом Вапитију;

-c - коришћењем датотеке са колачић, генерисан помоћу вапити-гетцоокие;

--Обим — бирање мете за напад. Избор опције фасцикла Сваки УРЛ ће бити пописан и нападнут, почевши од основног. Основни УРЛ мора имати косу црту (без имена датотеке);

--флусх-сессион — омогућава поновљено скенирање, при чему се претходни резултати неће узети у обзир;

-A - сопствени Усер-агент;

-p — адресу прокси сервера, ако је потребно.

Мало о извештају

Резултат скенирања је представљен у облику детаљног извештаја о свим пронађеним рањивостима у формату ХТМЛ странице, у јасном и лако читљивом облику. Извештај ће навести категорије и број пронађених рањивости, њихове описе, захтеве, команде за Цурл и савете како да их затворите. Ради лакше навигације, именима категорија ће бити додат линк, кликом на који можете да пређете на њу:

Вапити - сама провера рањивости на сајту

Значајан недостатак извештаја је непостојање мапе веб апликације као такве, без које неће бити јасно да ли су анализиране све адресе и параметри. Такође постоји могућност лажних позитивних резултата. У нашем случају, извештај укључује „датотеке резервних копија“ и „потенцијално опасне датотеке“. Њихов број не одговара стварности, јер на серверу није било таквих датотека:

Вапити - сама провера рањивости на сајту

Можда ће се модули који неправилно раде временом поправити. Још један недостатак извештаја је недостатак бојења пронађених рањивости (у зависности од њихове критичности), или бар поделе у категорије. Једини начин на који можемо индиректно да разумемо критичност пронађене рањивости је да користимо параметар --боја током скенирања, а затим ће пронађене рањивости бити обојене различитим бојама:

Вапити - сама провера рањивости на сајту

Али сам извештај не даје такву боју.

Рањивости

СКЛи

Скенер се делимично носио са СКЛи претрагом. Када тражите СКЛ пропусте на страницама на којима није потребна аутентификација, не настају проблеми:

Вапити - сама провера рањивости на сајту

Није било могуће пронаћи рањивост на страницама доступним тек након аутентификације, чак ни коришћењем валидног колачић, пошто ће највероватније након успешне аутентификације њихова сесија бити „одјављена“ и колачић постаће неважећи. Ако би се функција деауторизације имплементирала као посебна скрипта одговорна за обраду ове процедуре, онда би било могуће потпуно искључити преко параметра -к и на тај начин спречити њено покретање. У супротном, неће бити могуће искључити његову обраду. Ово није проблем са одређеним модулом, већ са алатом у целини, али због ове нијансе није било могуће открити неколико ињекција у затвореном подручју ресурса.

КССС

Скенер се савршено носио са задатим задатком и пронашао све припремљене рањивости:

Вапити - сама провера рањивости на сајту

ЛФИ/РФИ

Скенер је пронашао све основне рањивости:

Вапити - сама провера рањивости на сајту

Генерално, упркос лажним позитивним резултатима и недостајућим рањивостима, Вапити, као бесплатан алат, показује прилично добре резултате. У сваком случају, вреди признати да је скенер прилично моћан, флексибилан и мултифункционалан, и што је најважније, бесплатан је, тако да има право да се користи у помагању администраторима и програмерима да добију основне информације о безбедносном статусу веба. апликација.

Останите здрави и заштићени!

Извор: ввв.хабр.цом

Додај коментар