Wapiti — kontrolli e-kodu pĂ«r dobĂ«si me forcat tuaja

Wapiti — kontrolli e-kodu pĂ«r dobĂ«si me forcat tuaja
NĂ« tĂ« kaluarĂ«n artikullin ne treguam pĂ«r Nemesida WAF Free — njĂ« mjet falas pĂ«r mbrojtjen e faqeve dhe API-ve nga sulmet hacker, dhe nĂ« kĂ«tĂ« rast vendosĂ«m tĂ« bĂ«jmĂ« njĂ« pĂ«rmbledhje tĂ« njĂ« skaneri tĂ« njohur pĂ«r dobĂ«si Wapiti.

Skandimi i faqeve për dobësi është një masë e nevojshme, e cila, në kombinim me analizën e kodit burimor, lejon të vlerësohet niveli i mbrojtjes së saj nga kërcënimet e komprometimit. Skandimi i burimeve web mund të bëhet me ndihmën e pajisjeve të specializuara.

Nikto, W3af (i shkruar nĂ« Python 2.7, mbĂ«shtetje e cila ka pĂ«rfunduar) ose Arachni (nga shkurti nuk mbĂ«shtetet mĂ«) — zgjidhjet mĂ« tĂ« njohura tĂ« disponueshme nĂ« segmentin falas. Natyrisht, ekzistojnĂ« edhe tĂ« tjera, si Wapiti, tĂ« cilin vendosĂ«m ta ndalojmĂ«.

Wapiti punon me lloje të ndryshme dobësish:

  • zbĂ«rthimi i skedarit (lokale dhe tĂ« largĂ«ta, fopen, readfile);
  • injeksione (PHP / JSP / ASP / SQL-injeksione dhe XPath-injeksione);
  • XSS (injeksionin ndĂ«rfaqĂ«sor) (reflektuar dhe tĂ« pĂ«rhershĂ«m);
  • zbulimi dhe ekzekutimi i komandave (eval (), system (), passthru ());
  • injeksione CRLF (ndarja e pĂ«rgjigjeve HTTP, fiksoja e seancĂ«s);
  • XXE (inxhizimi i pĂ«rmbajtjes sĂ« jashtme XML);
  • SSRF (falsifikimi i kĂ«rkesĂ«s nĂ« anĂ«n e shĂ«rbimit);
  • pĂ«rdorimi i skedarĂ«ve potencialisht tĂ« rrezikshĂ«m tĂ« njohur (falĂ« bazĂ«s sĂ« tĂ« dhĂ«nave Nikto);
  • konfigurime tĂ« dobĂ«ta .htaccess qĂ« mund tĂ« anashkalohen;
  • prania e skedarĂ«ve tĂ« kopjave rezervĂ« qĂ« zbulojnĂ« informacion tĂ« ndjeshĂ«m (zbulesa e kodit burimor);
  • Shellshock;
  • redirigjime tĂ« hapura;
  • metoda tĂ« pastra HTTP qĂ« mund tĂ« lejohet (PUT).

Karakteristikat:

  • mbĂ«shtetje pĂ«r proxy HTTP, HTTPS dhe SOCKS5;
  • autentifikimi me metoda tĂ« ndryshme: Basic, Digest, Kerberos ose NTLM;
  • mundĂ«sia pĂ«r tĂ« kufizuar fushĂ«n e skanimit (domain, dosje, faqe, URL);
  • zhbllokimi automatik i njĂ«rit prej parametrave nĂ« URL;
  • masat pĂ«r shumicĂ«n e rasteve ndaj cikleve tĂ« pafund skanimi (shembull: ifor, kufizimi i vlerave pĂ«r parametrin);
  • mundĂ«sia pĂ«r tĂ« vendosur njĂ« prioritet pĂ«r shqyrtimin e URL-ve (edhe nĂ«se nuk ndodhen nĂ« fushĂ«n e skanimit);
  • mundĂ«sia pĂ«r tĂ« pĂ«rjashtuar disa URL nga skanimi dhe sulmet (pĂ«r shembull: URL logout);
  • importimi i skedarĂ«ve cookie (marrja e tyre me ndihmĂ«n e instrumentit wapiti-getcookie);
  • mundĂ«sia pĂ«r tĂ« aktivizuar / çaktivizuar verifikimin e certifikatave SSL;
  • mundĂ«sia pĂ«r tĂ« nxjerrĂ« URL nga JavaScript (interpreter JS shumĂ« i thjeshtĂ«);
  • interaksioni me HTML5;
  • disa mundĂ«si pĂ«r tĂ« menaxhuar sjelljen dhe kufizimet e crawler-it;
  • vendosja e kohĂ«s maksimale pĂ«r procesin e skanimit;
  • shtimi i disa titujve HTTP tĂ« personalizuar ose konfigurimi i User-Agent-it tĂ« pĂ«rdoruesit.

Funcionalitete të tjera:

  • krijimi i raporteve tĂ« cenueshmĂ«risĂ« nĂ« formate tĂ« ndryshme (HTML, XML, JSON, TXT);
  • pejzazhim dhe rivendosje e skanimit ose sulmit (mekanizmi i sesionit duke pĂ«rdorur bazat e tĂ« dhĂ«nave SQLite3);
  • theksimi nĂ« terminal pĂ«r tĂ« evidentuar cenueshmĂ«rinĂ«;
  • nivela tĂ« ndryshme tĂ« regjistrimit;
  • njĂ« mĂ«nyrĂ« e shpejtĂ« dhe e lehtĂ« pĂ«r tĂ« aktivizuar / çaktivizuar modulet e sulmit.

Instalimi

Versioni aktual i Wapiti mund të instalohet në 2 mënyra:

  • duke shkarkuar burimin nga faqja e internetit dhe duke e ekzekutuar skriptin e instalimit, pasi tĂ« keni instaluar Python3;
  • nĂ«pĂ«rmjet komandĂ«s pip3 install wapiti3.

Pas kësaj, Wapiti do të jetë gati për punë.

Puna me mjetin

Për të demonstruar funksionimin e Wapiti, do të përdorim një platformë të përgatitur në mënyrë speciale sites.vulns.pentestit.ru (burim i brendshëm), që përmban cenueshmëri të ndryshme (Injection, XSS, LFI/RFI) dhe mangësi të tjera të aplikacioneve web.

Informacioni është ofruar vetëm për qëllime informuese. Mos e shkelni ligjin!

Komanda bazë për të nisur skanerin:

# wapiti -u <target> <options>

Ka një ndihmë mjaft të detajuar me një sasi të madhe opsionesh për nisje, si për shembull:

—scope — zona e aplikimit
Nëse bashkë me URL-në për skanim jepet parametri scope, mund të rregullohet zona e skanimit të faqes, duke treguar si një faqe të veçantë, ashtu edhe të gjitha faqet që mund të gjenden në faqen e internetit.

-s dhe -x — parametra pĂ«r shtimin ose heqjen e URL-ve tĂ« caktuara. KĂ«ta parametra janĂ« tĂ« dobishĂ«m kur Ă«shtĂ« e nevojshme tĂ« shtoni ose hiqni njĂ« URL tĂ« caktuar nĂ« procesin e skanimit.

—skip — parametri i specifikuar me kĂ«tĂ« çelĂ«s do tĂ« skanohet, por nuk do tĂ« sulmohet. Kjo Ă«shtĂ« e dobishme nĂ«se ka disa parametra tĂ« rrezikshĂ«m qĂ« janĂ« mĂ« mirĂ« tĂ« pĂ«rjashtohen gjatĂ« skanimit.

—verify-ssl — aktivizimi ose pĂ«rjashtimi i kontrollit tĂ« certifikatĂ«s.
Skeneri Wapiti është modulor. Megjithatë, për të aktivizuar module specifike nga ato që lidhen automatikisht gjatë funksionimit të skenerit, duhen përdorur çelësi -m dhe të renditen ato që duhen me një presje. Nëse çelësi nuk përdoret, të gjitha modulet do të funksionojnë si të paracaktuara. Në variantin më të thjeshtë, kjo do të duket si më poshtë:

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

Ky shembull pĂ«rdorimi tregon se ne do tĂ« pĂ«rdorim vetĂ«m modulet SQL, XSS dhe XXE gjatĂ« skanimit tĂ« objektit. PĂ«r mĂ« tepĂ«r, Ă«shtĂ« e mundur tĂ« filtroni funksionimin e moduleve nĂ« varĂ«si tĂ« metodĂ«s sĂ« nevojshme. PĂ«r shembull, -m “xss: get, blindsql: post, xxe: post”. NĂ« kĂ«tĂ« rast, moduli xss do tĂ« aplikohet nĂ« kĂ«rkesat e dĂ«rguara me metodĂ«n GET, ndĂ«rsa moduli blibdsql — nĂ« kĂ«rkesat POST etj. PĂ«r mĂ« tepĂ«r, nĂ«se ndonjĂ« modul qĂ« Ă«shtĂ« pĂ«rfshirĂ« nĂ« listĂ« nuk ka qenĂ« i nevojshĂ«m gjatĂ« skanimit ose punon shumĂ« gjatĂ«, duke shtypur kombinimin Ctrl+C mund tĂ« kaloni pĂ«rdorimin e modulit aktual, duke zgjedhur pĂ«rkatĂ«sisht nĂ« menynĂ« interaktive.

Wapiti mbështet dërgimin e kërkesave përmes një serveri proxy me ndihmën e çelësit -p dhe autentikimin në faqen e synuar përmes parametrave -a. Gjithashtu, është e mundur të përcaktoni llojin e autentikimit: Basic, Digest, Kerberos dhe NTLM. Për dy të fundit mund të kërkohet instalimi i moduleve shtesë. Gjithashtu, mund të përfshihen në kërkesa çdo lloj titulli (përfshirë të rastësishëm User-Agent) dhe shumë më tepër.

Për të përdorur autentifikimin, mund të përdorim mjetin wapiti-getcookie. Me ndihmën e tij formojmë cookie, të cilat Wapiti do të përdorë gjatë skanimit. Formimi cookie kryhet me komandën:

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

Gjatë punës në mënyrë interaktive, përgjigjemi në pyetje dhe tregojmë informacionin e nevojshëm si: emri i përdoruesit, fjalëkalimi dhe të tjerë:

Wapiti — kontrolli e-kodu pĂ«r dobĂ«si me forcat tuaja

Në dalje marrim një skedë në formatin JSON. Një opsion tjetër është të shtojmë gjithë informacionin e nevojshëm përmes parametrave -d:

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

Rezultati do të jetë i ngjashëm:

Wapiti — kontrolli e-kodu pĂ«r dobĂ«si me forcat tuaja

Duke shqyrtuar funksionalitetin kryesor të skanerit, kërkesa përfundimtare për testimin e aplikacionit web në rastin tonë ishte:

# 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

ku midis parametrave të tjerë:

-f dhe -o - forma dhe rruga për ruajtjen e raportit;

-m - lidhja e të gjitha moduleve - nuk rekomandohet, pasi do të ndikojë në kohën e testimit dhe madhësinë e raportit;

-color - thekson gjetjet e dobësive në varësi të kritikalitetit sipas versionit të vet Wapiti;

-c - përdorimi i skedës me cookie, i gjeneruar me ndihmën e wapiti-getcookie;

—scope — zgjedhja e objektivit pĂ«r sulm. Duke zgjedhur opsionin folder do tĂ« skanohet dhe do tĂ« sulmohet çdo URL, duke filluar nga baza. URL-ja e bazĂ«s duhet tĂ« ketĂ« njĂ« shenjĂ« / (pa emrin e skedarit);

—flush-session — lejon kryerjen e njĂ« rishikimi, i cili nuk merr parasysh rezultatet e mĂ«parshme;

-A — e vetme User-Agent;

-p — adresa e serverit proxy, nĂ«se Ă«shtĂ« e nevojshme.

Pak mbi raportin

Rezultati i skanimit paraqitet në formën e një raporti të detajuar për të gjitha vulnerabilitetet e gjetura në formatin e një faqe HTML, në një mënyrë të kuptueshme dhe të lehtë për tu perceptuar. Në raport do të përmenden kategoritë dhe numri i vulnerabiliteteve të gjetura, përshkrimi i tyre, kërkesat, komandat për curl dhe këshillat mbi se si t'i mbyllni ato. Për lehtësi navigimi, në titujt e kategorive do të shtohet një lidhje, duke klikuar mbi të mund të kaloni tek ajo:

Wapiti — kontrolli e-kodu pĂ«r dobĂ«si me forcat tuaja

Një disavantazh thelbësor i raportit është mungesa e një harta të tillë të aplikacionit web, pa të cilën nuk do të kuptohet nëse adresa dhe parametrat janë analizuar. Ka gjithashtu mundësinë e alarmeve false. Në rastin tonë, raporti përfshin "skedarët e kopjimeve rezervë" dhe "skedarët potencialisht të rrezikshëm". Numri i tyre nuk përputhet me realitetin, pasi nuk kishte skedare të tilla në server.

Wapiti — kontrolli e-kodu pĂ«r dobĂ«si me forcat tuaja

Mundësisht, modulet që funksionojnë në mënyrë jo korrekt mund të rregullohen me kalimin e kohës. Një tjetër disavantazh i raportit është mungesa e ngjyrës për vulnerabilitetet e gjetura (në varësi të kriticitetit të tyre), ose të paktën ndarjen e tyre sipas kategorive. E vetmja mënyrë për të kuptuar indirekt kriticitetin e një vulnerabiliteti të gjetur është të aplikojmë parametrin -color gjatë skanimit dhe atëherë vulnerabilitetet e gjetura do të ngjyrosen në ngjyra të ndryshme:

Wapiti — kontrolli e-kodu pĂ«r dobĂ«si me forcat tuaja

Por në raportin e vet, një ngjyrosje e tillë nuk parashikohet.

Dobësitë

SQLi

Skeneri arriti pjesërisht të gjejë SQLi. Kur kërkohet për vulnerabilitete SQL në faqe ku nuk është e nevojshme autentifikimi, nuk ka ndonjë problem:

Wapiti — kontrolli e-kodu pĂ«r dobĂ«si me forcat tuaja

Nuk arritëm të gjejmë ndonjë dobësi në faqet e aksesueshme vetëm pas autentifikimit, madje edhe duke përdorur të dhëna valide, cookie, pasi është e mundur që pas autentifikimit të suksesshëm do të ndodhte "dalja nga sesioni" dhe cookie do të bëhen të pavlefshme. Sikur funksioni i deautorizimit të ishte realizuar si një skenar i veçantë, i cili merret me këtë procedurë, do të mund të përjashtohej plotësisht përmes parametrin -x, duke parandaluar kështu funksionimin e tij. Në të kundërt, nuk është e mundur të përjashtohet përpunimi i tij. Kjo është një problem jo specifik për një modul të caktuar, por për mjetin në tërësi, por për shkak të këtij nuancës nuk arritëm të zbulojmë disa injeksione në zona të mbyllura të burimit.

XSS

Skeneri e ka përfunduar detyrën me sukses dhe ka gjetur të gjitha dobësitë e përgatitura:

Wapiti — kontrolli e-kodu pĂ«r dobĂ«si me forcat tuaja

LFI/RFI

Skeneri gjeti të gjitha dobësitë e implantuar:

Wapiti — kontrolli e-kodu pĂ«r dobĂ«si me forcat tuaja

NĂ« pĂ«rgjithĂ«si, megjithĂ« njoftimet e rreme dhe lehtĂ«sirat nĂ« zbulimin e dobĂ«sive, Wapiti, si njĂ« mjet falas, tregon rezultate tĂ« kĂ«naqshme. Çdo mĂ«nyrĂ«, Ă«shtĂ« e pranuar se skeneri Ă«shtĂ« mjaft i fuqishĂ«m, fleksibĂ«l dhe shumĂ«funksional, dhe mĂ« e rĂ«ndĂ«sishmja — falas, prandaj ka tĂ« drejtĂ« tĂ« pĂ«rdoret, duke ndihmuar administratorĂ«t dhe zhvilluesit tĂ« marrin informacionin bazĂ« mbi gjendjen e sigurisĂ« sĂ« aplikacionit web.

Qëndroni të shëndetshëm dhe të mbrojtur!

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster