Wapiti - тафтиши сайт барои осебпазирии худ

Wapiti - тафтиши сайт барои осебпазирии худ
Дар охир мақола дар бораи он сухбат кардем Nemesida WAF Free - як воситаи ройгон барои ҳифзи вебсайтҳо ва APIҳо аз ҳамлаҳои ҳакерӣ ва дар ин як мо тасмим гирифтем сканери маъмули осебпазириро баррасӣ кунем Вапитӣ.

Сканкунии вебсайт барои осебпазирӣ як тадбири зарурист, ки дар якҷоягӣ бо таҳлили коди сарчашма ба шумо имкон медиҳад, ки сатҳи амнияти онро аз таҳдидҳои созиш арзёбӣ кунед. Шумо метавонед як манбаи вебро бо истифода аз абзорҳои махсус скан кунед.

Nikto, W3af (дар Python 2.7 навишта шудааст, ки дигар дастгирӣ намешавад) ё Arachni (аз моҳи феврал дигар дастгирӣ намешавад) ҳалли маъмултарин дар сегменти ройгон мебошанд. Албатта, дигарон ҳастанд, масалан, Wapiti, ки мо тасмим гирифтем, ки ба онҳо таваҷҷӯҳ кунем.

Wapiti бо намудҳои зерини осебпазирӣ кор мекунад:

  • тавсеаи файл (маҳаллӣ ва дурдаст, fopen, readfile);
  • тазриқ (тазриқи PHP / JSP / ASP / SQL ва тазриқи XPath);
  • XSS (Cross Site Scripting) (инъикоскунанда ва доимӣ);
  • ошкор ва иҷрои фармонҳо (eval(), system(), passtru());
  • Тазриқи CRLF (тақсимоти посухи HTTP, сабти сессия);
  • Ҷойгиркунии XXE (XML берунӣ);
  • SSRF (Сохтакории дархости ҷониби сервер);
  • истифодаи файлҳои эҳтимолан хатарноки маълум (ба шарофати базаи Nikto);
  • конфигуратсияҳои заиф .htaccess, ки метавонанд аз байн бурда шаванд;
  • мавҷудияти файлҳои эҳтиётӣ, ки маълумоти махфиро ошкор мекунанд (ифшои коди ибтидоӣ);
  • Шеллшок;
  • масирҳои кушода;
  • усулҳои ғайристандартии HTTP, ки метавонанд ҳал карда шаванд (PUT).

Хусусиятҳои:

  • Дастгирии прокси HTTP, HTTPS ва SOCKS5;
  • аутентификатсия бо истифода аз якчанд усул: Basic, Digest, Kerberos ё NTLM;
  • қобилияти маҳдуд кардани майдони сканер (домен, папка, саҳифа, URL);
  • тозакунии автоматии яке аз параметрҳо дар URL;
  • чораҳои сершумори зидди ҳалқаҳои сканкунии беохир (масалан: ifor, арзишҳои маҳдуд барои параметр);
  • қобилияти муқаррар кардани афзалият барои санҷиши URL-ҳо (ҳатто агар онҳо дар минтақаи сканер набошанд);
  • қобилияти истисно кардани баъзе URL-ҳо аз сканер ва ҳамлаҳо (масалан: баромади URL);
  • кукиҳоро ворид кунед (онҳоро бо истифода аз абзори wapiti-getcookie гиред);
  • қобилияти фаъол / ғайрифаъол кардани тасдиқи сертификати SSL;
  • қобилияти истихроҷи URL аз JavaScript (тарҷумони хеле соддаи JS);
  • ҳамкорӣ бо HTML5;
  • якчанд вариантҳо барои идоракунии рафтор ва маҳдудиятҳои браузер;
  • муқаррар кардани вақти максималии раванди сканер;
  • илова кардани баъзе сарлавҳаҳои HTTP фармоишӣ ё таъсиси корбар-Агенти фармоишӣ.

Хусусиятҳои иловагӣ:

  • эҷоди гузоришҳо оид ба осебпазирӣ дар форматҳои гуногун (HTML, XML, JSON, TXT);
  • таваққуф ва идома додани скан ё ҳамла (механизми сессия бо истифода аз пойгоҳи додаҳои SQLite3);
  • равшании паси дар терминал барои нишон додани осебпазирӣ;
  • сатҳҳои гуногуни бақайдгирӣ;
  • Роҳи зуд ва осони фаъол / ғайрифаъол кардани модулҳои ҳамла.

параметр

Версияи кунунии Wapiti метавонад бо ду роҳ насб карда шавад:

  • манбаъро аз расмӣ зеркашӣ кунед сомона ва скрипти насбкуниро иҷро кунед, ки қаблан Python3 насб карда буд;
  • бо истифода аз фармони pip3 install wapiti3.

Пас аз ин, Вапити барои рафтан омода хоҳад шуд.

Кор бо асбоб

Барои намоиш додани кори Wapiti, мо аз стенди махсус омодашудаи sites.vulns.pentestit.ru (манбаи дохилӣ), ки дорои осебпазириҳои гуногун (Injection, XSS, LFI/RFI) ва дигар камбудиҳои барномаҳои веб истифода мешавад.

Маълумот танҳо барои мақсадҳои иттилоотӣ дода мешавад. Қонунро вайрон накунед!

Фармони асосӣ барои оғоз кардани сканер:

# wapiti -u <target> <options>

Дар айни замон, кӯмаки муфассал бо шумораи зиёди имконоти оғозёбӣ мавҷуд аст, масалан:

-- доираи - майдони татбиқ
Агар шумо параметри миқёсро дар якҷоягӣ бо URL-и ҷустуҷӯро муайян кунед, шумо метавонед майдони ҷустуҷӯи сайтро тавассути муайян кардани ҳам як саҳифа ва ҳам ҳамаи саҳифаҳое, ки дар сайт пайдо мешаванд, танзим кунед.

-s и -x — имконоти илова кардан ё хориҷ кардани URL-ҳои мушаххас. Ин интихобҳо вақте муфиданд, ки ба шумо лозим аст, ки URL-и мушаххасро дар ҷараёни ҷустуҷӯ илова кунед ё нест кунед.

--гузар — параметри муайяншуда бо ин калид скан карда мешавад, аммо ҳамла карда намешавад. Агар ягон параметрҳои хатарноке, ки ҳангоми сканкунӣ беҳтар хориҷ карда шаванд, муфид аст.

--verify-ssl — тасдиқи сертификатро фаъол ё ғайрифаъол кунед.
Сканери Wapiti модулӣ аст. Бо вуҷуди ин, барои оғоз кардани модулҳои мушаххас, аз ҷумла модулҳое, ки ҳангоми кор кардани сканер ба таври худкор пайваст мешаванд, шумо бояд гузариши -m -ро истифода баред ва онҳоеро, ки ба шумо лозим аст, бо вергул ҷудо карда номбар кунед. Агар калид истифода нашавад, он гоҳ ҳама модулҳо бо нобаёнӣ кор мекунанд. Дар версияи соддатарин он чунин хоҳад буд:

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

Ин мисоли истифода маънои онро дорад, ки мо ҳангоми скан кардани ҳадаф танҳо модулҳои SQL, XSS ва XXE -ро истифода хоҳем бурд. Илова бар ин, шумо метавонед кори модулҳоро вобаста ба усули дилхоҳ филтр кунед. Барои намуна -m "xss: get, blindsql: post, xxe: post". Дар ин ҳолат, модул xss ба дархостҳое, ки бо истифода аз усули GET ва модул фиристода шудаанд, татбиқ хоҳад шуд blibdsql - ба дархостҳои POST ва ғайра. Дар омади гап, агар ягон модуле, ки ба рӯйхат дохил карда шуда буд, ҳангоми сканкунӣ лозим набошад ё вақти хеле тӯлониро талаб кунад, пас бо пахш кардани комбинатсияи Ctrl+C шумо метавонед бо интихоби банди мувофиқ дар менюи интерактивӣ бо истифода аз модули ҷорӣ гузаред.

Wapiti интиқоли дархостҳоро тавассути прокси бо истифода аз калид дастгирӣ мекунад -p ва аутентификатсия дар сайти мавриди ҳадаф тавассути параметр -a. Шумо инчунин метавонед навъи аутентификатсияро муайян кунед: Асосӣ, Ҳазм, Керберос и NTLM. Ду охирин метавонанд насби модулҳои иловагиро талаб кунанд. Илова бар ин, шумо метавонед ҳама гуна сарлавҳаҳоро ба дархостҳо дохил кунед (аз ҷумла Корбар-Агент) ва бисёр чизҳои дигар.

Барои истифодаи аутентификатсия шумо метавонед асбобро истифода баред wapiti-getcookie. Бо ёрии он мо ташаккул медиҳем кукиҳо, ки Wapiti ҳангоми сканкунӣ истифода хоҳад кард. Ташкил кукиҳо бо фармон анҷом дода мешавад:

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

Ҳангоми кор кардани интерактивӣ мо ба саволҳо ҷавоб медиҳем ва маълумоти заруриро ба монанди логин, парол ва ғайра нишон медиҳем:

Wapiti - тафтиши сайт барои осебпазирии худ

Натиҷа як файл дар формати JSON мебошад. Варианти дигар ин илова кардани ҳама маълумоти зарурӣ тавассути параметр мебошад -d:

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

Натиҷа монанд хоҳад буд:

Wapiti - тафтиши сайт барои осебпазирии худ

Ҳангоми баррасии вазифаи асосии сканер, дархости ниҳоӣ барои санҷиши веб-барнома дар ҳолати мо ин буд:

# 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 — пайваст кардани хамаи модулхо тавсия дода намешавад, зеро ба вақти санҷиш ва андозаи гузориш таъсир мерасонад;

--ранг - осебпазирии пайдошударо вобаста ба интиқодӣ аз рӯи худи Wapiti таъкид кунед;

-c - бо истифода аз файл бо кукиҳо, бо истифода аз тавлидшуда wapiti-getcookie;

-- доираи — интихоби ҳадаф барои ҳамла. Интихоби вариант феҳрист Ҳар як URL аз яки асосӣ сар карда, ҷустуҷӯ ва ҳамла карда мешавад. URL-и асосӣ бояд хатти хати рост дошта бошад (номи файл нест);

--фуш-сессия — барои сканкунии такрорй, ки дар он натичахои пештара ба назар гирифта намешаванд, имкон медихад;

-A - худ Корбар-Агент;

-p — суроғаи сервери прокси, агар лозим бошад.

Як каме дар бораи гузориш

Натиҷаи сканкунӣ дар шакли гузориши муфассал дар бораи ҳама осебпазириҳои пайдошуда дар формати саҳифаи HTML, дар шакли равшан ва барои хондан пешниҳод карда мешавад. Дар гузориш категорияҳо ва шумораи осебпазирии пайдошуда, тавсифи онҳо, дархостҳо, фармонҳо барои онҳо нишон дода мешавад лаблабу ва маслиҳатҳо дар бораи чӣ гуна пӯшидани онҳо. Барои осонии паймоиш, истинод ба номи категорияҳо илова карда мешавад, ки бо зер кардани он шумо метавонед ба он равед:

Wapiti - тафтиши сайт барои осебпазирии худ

Камбудии назарраси гузориш ин мавҷуд набудани харитаи веб-барнома мебошад, ки бидуни он маълум нест, ки оё ҳама суроғаҳо ва параметрҳо таҳлил карда шудаанд. Инчунин эҳтимолияти мусбати бардурӯғ вуҷуд дорад. Дар ҳолати мо, гузориш "файлҳои эҳтиётӣ" ва "файлҳои эҳтимолан хатарнок" -ро дар бар мегирад. Шумораи онҳо ба воқеият мувофиқат намекунад, зеро дар сервер чунин файлҳо вуҷуд надоштанд:

Wapiti - тафтиши сайт барои осебпазирии худ

Шояд бо мурури замон модулҳои нодуруст коркунанда ислоҳ карда шаванд. Камбудии дигари гузориш ин набудани ранг кардани осебпазирии ошкоршуда (вобаста ба интиқодӣ) ё ҳадди аққал ба категорияҳо тақсим кардани онҳо мебошад. Ягона роҳе, ки мо метавонем ба таври ғайримустақим фаҳмем, ки интиқодии осебпазирии пайдошуда ин истифодаи параметр аст --ранг ҳангоми сканкунӣ, ва он гоҳ осебпазириҳои ёфтшуда бо рангҳои гуногун ранг карда мешаванд:

Wapiti - тафтиши сайт барои осебпазирии худ

Аммо худи гузориш ин гуна рангро таъмин намекунад.

осебпазириҳо

SQLi

Сканер қисман бо ҷустуҷӯи SQLi мубориза бурд. Ҳангоми ҷустуҷӯи осебпазирии SQL дар саҳифаҳое, ки аутентификатсия талаб карда намешавад, ҳеҷ мушкиле ба миён намеояд:

Wapiti - тафтиши сайт барои осебпазирии худ

Пайдо кардани осебпазирӣ дар саҳифаҳое, ки танҳо пас аз тасдиқи аутентификатсия дастрасанд, ҳатто бо истифода аз дуруст имкон надошт кукиҳо, зеро эҳтимоли зиёд пас аз тасдиқи бомуваффақият, ҷаласаи онҳо "баромад" мешавад ва кукиҳо эътибор надорад. Агар функсияи бекоркунӣ ҳамчун скрипти алоҳидае, ки барои коркарди ин раванд масъул аст, амалӣ карда мешуд, он гоҳ метавонист онро тавассути параметри -x комилан хориҷ кард ва ба ин васила аз ангезиши он пешгирӣ кард. Дар акси хол коркарди онро истисно кардан мумкин нест. Ин мушкилот бо як модули мушаххас нест, балки дар маҷмӯъ бо асбоб аст, аммо аз сабаби ин нюанс, муайян кардани якчанд тазриқ дар минтақаи захираҳои пӯшида имконнопазир буд.

XSS

Сканер вазифаи додашударо ба таври комил иҷро кард ва ҳама осебпазириҳои омодашударо пайдо кард:

Wapiti - тафтиши сайт барои осебпазирии худ

LFI/RFI

Сканер тамоми осебпазириҳои асосиро пайдо кард:

Wapiti - тафтиши сайт барои осебпазирии худ

Умуман, сарфи назар аз мусбатҳои бардурӯғ ва осебпазирии нопадид, Wapiti, ҳамчун воситаи ройгон, натиҷаҳои хеле хуб нишон медиҳад. Дар ҳар сурат, бояд эътироф кард, ки сканер хеле тавоно, чандир ва бисёрфунксионалӣ аст ва муҳимтар аз ҳама, он ройгон аст, бинобар ин он ҳуқуқ дорад, ки барои кӯмак ба маъмурон ва таҳиягарон дар гирифтани маълумоти асосӣ дар бораи вазъи амнияти веб истифода шавад. ариза.

Саломат бошед ва ҳифз кунед!

Манбаъ: will.com

Илова Эзоҳ