Wapiti — kontrollimi i faqes pĂ«r vulnerabilitete me forcat e tyre

Wapiti — kontrollimi i faqes pĂ«r vulnerabilitete me forcat e tyre
NĂ« tĂ« kaluarĂ«n artikulli ynĂ« Ne kemi folur pĂ«r Nemesida WAF Free — njĂ« mjet falas pĂ«r mbrojtjen e faqeve tĂ« internetit dhe API-ve nga sulmet e hackereve, dhe nĂ« kĂ«tĂ« rast kemi vendosur tĂ« japim njĂ« rishikim tĂ« skanerit tĂ« njohur tĂ« dobĂ«sive Wapiti.

Skandimi i faqes për dobësi është një masë e nevojshme, e cila, në bashkëpunim me analizën e kodit burimor, lejon vlerësimin e nivelit të sigurisë nga kërcënimet e kompromentimit. Mund të kryhet skanimi i burimeve duke përdorur mjete të specializuara.

Nikto, W3af (i shkruar nĂ« Python 2.7, mbĂ«shtetjeja pĂ«r tĂ« ka mbaruar) ose Arachni (nuk mbĂ«shtetet mĂ« qĂ« nga shkurt) — janĂ« zgjidhjet mĂ« tĂ« njohura tĂ« disponueshme nĂ« segmentin falas. Sigurisht, ka edhe tĂ« tjera, si Wapiti, mbi tĂ« cilin kemi vendosur tĂ« fokusohemi.

Wapiti punon me llojet e mëposhtme të dobësive:

  • zbrazja e skedarĂ«ve (lokale dhe tĂ« largĂ«ta, fopen, readfile);
  • injeksione (PHP / JSP / ASP / injeksione SQL dhe injeksione XPath);
  • XSS (skrimting ndĂ«rfaqe tĂ« kryqĂ«zuara) (reflekse dhe permanente);
  • zbulesa dhe ekzekutimi i komandave (eval (), system (), passtru ());
  • injeksione CRLF (ndarja e pĂ«rgjigjeve HTTP, fiksa e seancĂ«s);
  • XXE (injeksion i entitetit tĂ« jashtĂ«m XML);
  • SSRF (falsifikimi i kĂ«rkesĂ«s nĂ« anĂ«n e serverit);
  • 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Ă« kalohen;
  • prania e skedarĂ«ve tĂ« kopjimit rezervĂ« qĂ« zbulojnĂ« informacion tĂ« ndjeshĂ«m (zbrazja e kodit burimor);
  • Shellshock;
  • redirigjime tĂ« hapura;
  • metoda tĂ« pazakonta HTTP qĂ« mund tĂ« lejohet (PUT).

Mundësitë:

  • mbĂ«shtetje pĂ«r proxy HTTP, HTTPS dhe SOCKS5;
  • autentikimi me metoda tĂ« ndryshme: Basic, Digest, Kerberos ose NTLM;
  • mundĂ«sia pĂ«r tĂ« kufizuar fushĂ«n e skanimit (domain, dosje, faqe, URL);
  • fshirja automatike e njĂ«rit prej parametrave nĂ« URL;
  • masa tĂ« shumta paraprake kundĂ«r rrethit tĂ« pafund tĂ« skanimit (shembuj: ifor, kufizimi i vlerave pĂ«r parametrin);
  • mundĂ«sia pĂ«r tĂ« vendosur prioritet pĂ«r shqyrtimin e URL-ve (edhe nĂ«se nuk janĂ« nĂ« fushĂ«n e skanimit);
  • mundĂ«sia pĂ«r tĂ« pĂ«rjashtuar disa URL nga skanimi dhe sulmet (p.sh.: URL logout);
  • importimi i skedarĂ«ve tĂ« cookie-sĂ« (marrja e tyre pĂ«rmes mjetit wapiti-getcookie);
  • mundĂ«sia pĂ«r tĂ« aktivizuar / çaktivizuar verifikimin e certifikatave SSL;
  • mundĂ«sia pĂ«r tĂ« nxjerrĂ« URL nga JavaScript (njĂ« interpreter shumĂ« i thjeshtĂ« JS);
  • bashkĂ«punimi me HTML5;
  • disa disa mĂ«nyra 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 konfiguroja e User-Agent-it tĂ« personalizuar.

Karakteristika të tjera:

  • krijimi i raporteve tĂ« dobĂ«sive nĂ« formate tĂ« ndryshme (HTML, XML, JSON, TXT);
  • pezullimi dhe rinisja e skanimit ose sulmit (mekanizmi i sesionit duke pĂ«rdorur databaza SQLite3);
  • thekson nĂ« terminal pĂ«r tĂ« identifikuar dobĂ«sinĂ«;
  • nivale tĂ« ndryshme tĂ« regjistrimit;
  • njĂ« mĂ«nyrĂ« e shpejtĂ« dhe e lehtĂ« pĂ«r tĂ« aktivizuar / çaktivizuar modulat e sulmit.

Instalimi

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

  • duke shkarkuar burimin nga zyrtarja the site dhe duke ekzekutuar skriptin e instalimit, pas instalimit tĂ« Python3;
  • duke pĂ«rdorur komandĂ«n pip3 install wapiti3.

Pas kësaj, Wapiti do të jetë gati për t'u përdorur.

Puna me mjetin

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

Informacioni ofrohet ekskluzivisht për qëllime edukative. Mos shkelni ligjin!

Komanda bazë për të nisur skanerin:

# wapiti -u <target> <options>

Në këtë mënyrë, ka një ndihmë mjaft të detajuar me një numër të madh opsionesh për nisjen, për shembull:

—scope — fusha e aplikimit
Nëse së bashku me URL-në për skanimin tregoni parametrin scope, mund të rregulloni fushën e skanimit të site-it, duke treguar si një faqe të veçantë ashtu edhe të gjitha faqet që mund të gjenden në site.

-s dhe -x — parametrat pĂ«r shtimin ose heqjen e URL-ve tĂ« caktuara. KĂ«to parametra janĂ« tĂ« dobishĂ«m kur duhet 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. E dobishme, nĂ«se ka ndonjĂ« parametrat tĂ« rrezikshĂ«m qĂ« Ă«shtĂ« mĂ« mirĂ« tĂ« pĂ«rjashtohen gjatĂ« skanimit.

—verify-ssl — aktivizimi ose çaktivizimi i verifikimit tĂ« certifikatĂ«s.
Skaneri Wapiti është modular. Megjithatë, për të nisur module të veçanta nga ato që lidhen automatikisht gjatë punës së skaneri, duhet të përdorni çelësin -m dhe të renditni ato që nevojiten nëpërmjet presjes. Nëse çelësi nuk përdoret, të gjithë modulët do të jenë aktivë si parazgjedhje. Në variantin më të thjeshtë do të duket si më poshtë:

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

Ky kyç pĂ«rdorimi do tĂ« thotĂ« se ne do tĂ« pĂ«rdorim vetĂ«m modulet SQL, XSS dhe XXE gjatĂ« skanimit tĂ« objektivit. PĂ«rveç kĂ«saj, Ă«shtĂ« e mundur tĂ« filtrohet puna e modulit nĂ« varĂ«si tĂ« metodĂ«s sĂ« kĂ«rkuar. 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 do tĂ« pĂ«rdoret pĂ«r kĂ«rkesat POST dhe kĂ«shtu me radhĂ«. PĂ«r mĂ« tepĂ«r, nĂ«se ndonjĂ« modul qĂ« ishte pĂ«rfshirĂ« nĂ« listĂ« nuk nevojitet gjatĂ« skanimit ose punon shumĂ« gjatĂ«, duke shtypur kombinimin Ctrl+C mund tĂ« anashkaloni pĂ«rdorimin e modulit aktual, duke zgjedhur pikĂ«n pĂ«rkatĂ«se nĂ« menunĂ« interaktive.

Wapiti mbështet dërgimin e kërkesave përmes një proxy me ndihmën e çelësit -p dhe autentikimin në faqen e synuar përmes parametrave -a. Gjithashtu, mund të specifikoni llojin e autentikimit: Basiç, Digest, Kerberos dhe NTLM. Për dy të fundit, mund të nevojitet instalimi i moduleve shtesë. Përveç kësaj, është e mundur të vendosni çdo titull në kërkesa (përfshirë ndonjë User-Agent) dhe shumë gjëra të tjera.

Për të përdorur autentikimin, mund të përdorni mjetin wapiti-getcookie. Me ndihmën e tij, ne formojmë cookie, të cilat Wapiti do të përdorë gjatë skanimit. Formimi cookie realizohet me ndihmën e komandës:

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

Gjatë punës në modin interaktiv, përgjigjeni pyetjeve dhe jepni informacionin e nevojshëm si: emri i përdoruesit, fjalëkalimi dhe të tjera:

Wapiti — kontrollimi i faqes pĂ«r vulnerabilitete me forcat e tyre

Në dalje marrim një skedar në formatin JSON. Një tjetër mundësi është të shtoni 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 — kontrollimi i faqes pĂ«r vulnerabilitete me forcat e tyre

Duke shqyrtuar funksionalitetin kryesor të skanerit, kërkesa finale për kryerjen e testeve të 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ë:

--follow dhe -o — formati dhe rruga pĂ«r ruajtjen e raportit;

-m — aktivizimi i tĂ« gjithĂ« moduleve — nuk rekomandohet, pasi do tĂ« ndikojĂ« nĂ« kohĂ«n e testimit dhe madhĂ«sinĂ« e raportit;

—color — tĂ« theksojĂ« dobĂ«sitĂ« e gjetura nĂ« varĂ«si tĂ« rĂ«ndĂ«sisĂ« sĂ« tyre sipas versionit tĂ« vetĂ« Wapiti;

-c — pĂ«rdorimi i njĂ« skedari me cookie, tĂ« gjeneruar me ndihmĂ«n e wapiti-getcookie;

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

—flush-session — lejon pĂ«rsĂ«ritjen e skanimit, nĂ« tĂ« cilin nuk do tĂ« merren parasysh rezultatet e mĂ«parshme;

-A — e vetja User-Agent;

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

Pak për raportin

Rezultati i skanimit paraqitet në formën e një raporti të detajuar për të gjitha dobësitë e gjetura në formatin e një faqe HTML, në një formë të kuptueshme dhe të lehtë për t'u perceptuar. Në raport do të përmenden kategori dhe numri i dobësive të gjetura, përshkrimi i tyre, kërkesat, komandat për curl dhe këshilla se si t'i mbyllni. Për lehtësinë e navigimit, do të shtohet një lidhje në titujt e kategorive, duke klikuar mbi të cilat mund të kaloni tek ajo:

Wapiti — kontrollimi i faqes pĂ«r vulnerabilitete me forcat e tyre

Një mangësi e konsiderueshme e raportit është mungesa e një harta të tillë të aplikacionit web, pa të cilën nuk do të jetë e qartë, nëse të gjitha adresat dhe parametrat janë analizuar. Gjithashtu, ekziston mundësia e rreziqeve të gabuara. Në rastin tonë, raporti përfshin 'skedarë backup' dhe 'skedarë potencialisht të rrezikshëm'. Numri i tyre nuk përputhet me realitetin, pasi skedarët e tillë nuk ishin në server:

Wapiti — kontrollimi i faqes pĂ«r vulnerabilitete me forcat e tyre

Ndoshta, modulĂ«t qĂ« funksionojnĂ« gabim do tĂ« korrigjohen me kalimin e kohĂ«s. NjĂ« tjetĂ«r mangĂ«si e raportit Ă«shtĂ« mungesa e ngjyrave pĂ«r dobĂ«sitĂ« e gjetura (nĂ« pĂ«rputhje me kriticitetin e tyre), ose tĂ« paktĂ«n ndarja e tyre sipas kategorive. E vetmja mĂ«nyrĂ« qĂ« mund tĂ« kuptojmĂ« pĂ«r kriticitetin e dobĂ«sisĂ« sĂ« gjetur Ă«shtĂ« tĂ« aplikojmĂ« parametrin —color nĂ« skanim dhe atĂ«herĂ« dobĂ«sitĂ« e gjetura do tĂ« ngjyrosĂ«n me ngjyra tĂ« ndryshme:

Wapiti — kontrollimi i faqes pĂ«r vulnerabilitete me forcat e tyre

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

Dobësitë

SQLi

Skandari u përball me pjesën e kërkimit të SQLi. Kur kërkohen dobësi SQL në faqet ku nuk kërkohet autentifikim, nuk ka probleme:

Wapiti — kontrollimi i faqes pĂ«r vulnerabilitete me forcat e tyre

Nuk arritëm të gjejmë dobësinë në faqet që aksesohen vetëm pas autentifikimit, madje edhe me përdorimin e validit cookie, pasi me siguri pas autentifikimit të suksesshëm do të ndodhte "dalja e sesionit" dhe cookie do të bëheshin të pavlefshme. Nëse funksioni i deautentifikimit do të ishte realizuar në formën e një skenari të veçantë që merret me përpunimin e kësaj procedure, atëherë do të ishte e mundur ta përjashtojmë plotesisht atë me parametrin -x, duke parandaluar kështu aktivizimin e tij. Përndryshe, nuk do të jetë e mundur të përjashtohet përpunimi i tij. Kjo është një problem i mjetit në tërësi dhe jo i një moduli të caktuar, por për shkak të këtij detaji nuk arritëm të zbulojmë disa injeksione në zonën private të burimit.

XSS

Me detyrën e caktuar, skaneri u përball me sukses dhe gjeti të gjitha dobësitë e përgatitura:

Wapiti — kontrollimi i faqes pĂ«r vulnerabilitete me forcat e tyre

LFI/RFI

Skeneri zbuloi të gjitha vulnerabilitetet e instaluara:

Wapiti — kontrollimi i faqes pĂ«r vulnerabilitete me forcat e tyre

NĂ« pĂ«rgjithĂ«si, pavarĂ«sisht rreziqeve false dhe humbjeve tĂ« vulnerabiliteteve, Wapiti, si njĂ« mjet falas, tregon rezultate mjaft tĂ« mira. ÇfarĂ«do qĂ« tĂ« ndodhi, duhet tĂ« pranojmĂ« se skeneri Ă«shtĂ« mjaft i fuqishĂ«m, fleksibĂ«l dhe shumĂ«funksional, dhe mĂ« e rĂ«ndĂ«sishmja — Ă«shtĂ« falas, prandaj meriton pĂ«rdorim, duke ndihmuar administratorĂ«t dhe zhvilluesit tĂ« marrin informacion bazĂ« mbi gjendjen e sigurisĂ« sĂ« aplikacionit web.

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

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster