Wapiti - athugar síðu fyrir varnarleysi á eigin spýtur

Wapiti - athugar síðu fyrir varnarleysi á eigin spýtur
Í fortíðinni grein við töluðum um Nemesida WAF ókeypis - ókeypis tól til að vernda vefsíður og API fyrir tölvuþrjótaárásum, og í þessu ákváðum við að endurskoða vinsælan varnarleysisskanni Elk.

Að skanna vefsíðu fyrir varnarleysi er nauðsynleg ráðstöfun sem, ásamt greiningu á frumkóðanum, gerir þér kleift að meta öryggisstig hennar gegn hótunum um málamiðlun. Þú getur skannað vefforrit með því að nota sérhæfð verkfæri.

Nikto, W3af (skrifað í Python 2.7, sem er ekki lengur stutt) eða Arachni (ekki lengur stutt síðan í febrúar) eru vinsælustu lausnirnar sem eru kynntar í ókeypis hlutanum. Auðvitað eru aðrir, til dæmis Wapiti, sem við ákváðum að einbeita okkur að.

Wapiti vinnur með eftirfarandi tegundum veikleika:

  • skráarstækkun (staðbundin og fjarlæg, fopen, readfile);
  • innspýting (PHP / JSP / ASP / SQL innspýting og XPath innspýting);
  • XSS (Cross Site Scripting) (hugsandi og viðvarandi);
  • uppgötvun og framkvæmd skipana (eval(), system(), passtru());
  • CRLF inndælingar (skipting HTTP svörunar, festing á fundum);
  • XXE (XML ytri eining) innfelling;
  • SSRF (Server Side Request Forgery);
  • notkun þekktra hugsanlegra hættulegra skráa (þökk sé Nikto gagnagrunninum);
  • veikar .htaccess stillingar sem hægt er að komast framhjá;
  • tilvist öryggisafrita sem sýna trúnaðarupplýsingar (birting frumkóða);
  • Shellshock;
  • opnar tilvísanir;
  • óstaðlaðar HTTP aðferðir sem hægt er að leysa (PUT).

Lögun:

  • HTTP, HTTPS og SOCKS5 proxy stuðningur;
  • auðkenning með nokkrum aðferðum: Basic, Digest, Kerberos eða NTLM;
  • getu til að takmarka skönnunarsvæðið (lén, mappa, síða, vefslóð);
  • sjálfvirk fjarlæging á einni af breytunum í vefslóðinni;
  • margar varúðarráðstafanir gegn endalausum skönnunarlykkjum (dæmi: ifor, takmörkunargildi fyrir færibreytu);
  • getu til að setja forgang til að skoða vefslóðir (jafnvel þótt þær séu ekki á skönnunarsvæðinu);
  • getu til að útiloka sumar vefslóðir frá skönnun og árásum (til dæmis: Útskrá vefslóð);
  • flytja inn smákökur (fáðu þær með því að nota wapiti-getcookie tólið);
  • getu til að virkja/afvirkja SSL vottorðsstaðfestingu;
  • getu til að draga slóðir úr JavaScript (mjög einfaldur JS túlkur);
  • samskipti við HTML5;
  • nokkrir möguleikar til að stjórna hegðun og takmörkunum skriða;
  • stilla hámarkstíma fyrir skönnunarferlið;
  • að bæta við nokkrum sérsniðnum HTTP hausum eða setja upp sérsniðinn User-Agent.

Viðbótarupplýsingar lögun:

  • búa til varnarleysisskýrslur á ýmsum sniðum (HTML, XML, JSON, TXT);
  • gera hlé á og halda áfram með skönnun eða árás (lotukerfi sem notar SQLite3 gagnagrunna);
  • baklýsing í flugstöðinni til að varpa ljósi á veikleika;
  • mismunandi stig skógarhöggs;
  • Fljótleg og auðveld leið til að virkja/afvirkja árásareining.

Uppsetning

Núverandi útgáfu af Wapiti er hægt að setja upp á tvo vegu:

  • hlaða niður upprunanum frá embættismanni síða og keyrðu uppsetningarforskriftina, eftir að hafa áður sett upp Python3;
  • með því að nota pip3 install wapiti3 skipunina.

Eftir þetta verður Wapiti tilbúinn til að fara.

Að vinna með tólið

Til að sýna fram á verk Wapiti munum við nota sérútbúið stand sites.vulns.pentestit.ru (innri auðlind), sem inniheldur ýmsa veikleika (Injection, XSS, LFI/RFI) og aðra galla á vefforritum.

Upplýsingarnar eru eingöngu veittar í upplýsingaskyni. Ekki brjóta lög!

Grunnskipun til að ræsa skannann:

# wapiti -u <target> <options>

Á sama tíma er til nokkuð ítarleg hjálp við fjöldann allan af ræsivalkostum, til dæmis:

--umfang - notkunarsvæði
Ef þú tilgreinir umfangsfæribreytuna ásamt skriðvefslóðinni geturðu stillt skriðsvæði síðunnar með því að tilgreina bæði eina síðu og allar síður sem finnast á síðunni.

-s и -x — valkostir til að bæta við eða fjarlægja tilteknar vefslóðir. Þessir valkostir eru gagnlegir þegar þú þarft að bæta við eða fjarlægja tiltekna vefslóð meðan á skriðferlinu stendur.

--sleppa — tilgreind færibreyta með þessum lykli verður skönnuð, en ekki verður ráðist á hana. Gagnlegt ef það eru einhverjar hættulegar breytur sem best er að útiloka við skönnun.

--staðfesta-ssl — virkja eða slökkva á staðfestingu vottorðs.
Wapiti skanni er mát. Hins vegar, til að ræsa sérstakar einingar, þar á meðal þær sem eru tengdar sjálfkrafa á meðan skanninn er í gangi, þarftu að nota -m rofann og skrá þær sem þú þarft, aðskilin með kommum. Ef lykillinn er ekki notaður munu allar einingar virka sjálfgefið. Í einföldustu útgáfunni mun það líta svona út:

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

Þetta notkunardæmi þýðir að við munum aðeins nota SQL, XSS og XXE einingarnar við að skanna markið. Að auki getur þú síað virkni eininga eftir því hvaða aðferð þú vilt. Til dæmis -m “xss: fá, blindsql: post, xxe: post”. Í þessu tilviki mátið xss mun eiga við um beiðnir sem sendar eru með GET aðferðinni og einingunni blibdsql - til að SETJA beiðnir o.s.frv. Við the vegur, ef einhver eining sem var með á listanum var ekki nauðsynleg við skönnun eða tekur mjög langan tíma, þá með því að ýta á Ctrl+C samsetninguna geturðu sleppt því að nota núverandi einingu með því að velja samsvarandi hlut í gagnvirku valmyndinni.

Wapiti styður að senda beiðnir í gegnum proxy með því að nota lykil -p og auðkenning á marksíðunni í gegnum færibreytuna -a. Þú getur líka tilgreint auðkenningartegundina: Basic, Digest, Kerberos и NTLM. Síðustu tvær gætu þurft uppsetningu á viðbótareiningum. Að auki geturðu sett hvaða hausa sem er í beiðnir (þar á meðal handahófskenndar Umboðsmaður notanda) Og mikið meira.

Til að nota auðkenningu geturðu notað tólið wapiti-get cookie. Með hjálp þess myndum við kex, sem Wapiti mun nota við skönnun. Myndun kex gert með skipuninni:

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

Meðan við vinnum gagnvirkt svörum við spurningum og tilgreinum nauðsynlegar upplýsingar eins og innskráningu, lykilorð o.s.frv.:

Wapiti - athugar síðu fyrir varnarleysi á eigin spýtur

Úttakið er skrá á JSON sniði. Annar valkostur er að bæta við öllum nauðsynlegum upplýsingum í gegnum færibreytuna -d:

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

Niðurstaðan verður svipuð:

Wapiti - athugar síðu fyrir varnarleysi á eigin spýtur

Þegar litið var til helstu virkni skannarans var lokabeiðnin um að prófa vefforritið í okkar tilviki:

# 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

þar sem meðal annarra færibreyta:

-f и -o — snið og slóð til að vista skýrsluna;

-m — Ekki er mælt með því að tengja allar einingar vegna þess mun hafa áhrif á prófunartíma og skýrslustærð;

--litur - varpa ljósi á veikleika sem fundist hafa eftir því hversu mikilvægir þeir eru samkvæmt Wapiti sjálfum;

-c - nota skrá með kex, búin til með því að nota wapiti-get cookie;

--umfang - að velja skotmark fyrir árás. Að velja valmöguleika mappa Sérhver vefslóð verður skríðuð og ráðist á, og byrjar á grunnsíðunni. Grunnslóðin verður að hafa skástrik (ekkert skráarnafn);

--skola-fundur — gerir ráð fyrir endurtekinni skönnun, þar sem fyrri niðurstöður verða ekki teknar með í reikninginn;

-A - eiga Umboðsmaður notanda;

-p — heimilisfang proxy-miðlara, ef þörf krefur.

Smá um skýrsluna

Skannaniðurstaðan er sett fram í formi ítarlegrar skýrslu um alla veikleika sem fundist hafa á HTML síðuformi, á skýru og auðlestri formi. Skýrslan mun gefa til kynna flokka og fjölda veikleika sem fundust, lýsingar þeirra, beiðnir, skipanir fyrir Curl og ábendingar um hvernig eigi að loka þeim. Til að auðvelda leiðsögn verður hlekkur bætt við flokkanöfnin með því að smella á sem þú getur farið á hann:

Wapiti - athugar síðu fyrir varnarleysi á eigin spýtur

Verulegur ókostur skýrslunnar er skortur á vefforritskorti sem slíku, án þess verður ekki ljóst hvort öll vistföng og færibreytur hafi verið greind. Það er líka möguleiki á fölskum jákvæðum. Í okkar tilviki inniheldur skýrslan „öryggisskrár“ og „mögulega hættulegar skrár. Fjöldi þeirra samsvarar ekki raunveruleikanum þar sem engar slíkar skrár voru á þjóninum:

Wapiti - athugar síðu fyrir varnarleysi á eigin spýtur

Kannski verða einingar sem virka rangt lagaðar með tímanum. Annar galli skýrslunnar er skortur á litun á veikleikum sem fundust (fer eftir mikilvægi þeirra), eða að minnsta kosti að skipta þeim í flokka. Eina leiðin sem við getum óbeint skilið mikilvægi veikleikans sem fannst er að nota færibreytuna --litur meðan á skönnun stendur, og þá verða veikleikarnir sem finnast litaðir í mismunandi litum:

Wapiti - athugar síðu fyrir varnarleysi á eigin spýtur

En skýrslan sjálf gefur ekki slíka litun.

Veikleikar

SQLi

Skanninn tókst að hluta til við SQLi leitina. Þegar leitað er að SQL varnarleysi á síðum þar sem auðkenningar er ekki krafist koma engin vandamál upp:

Wapiti - athugar síðu fyrir varnarleysi á eigin spýtur

Það var ekki hægt að finna varnarleysi á síðum sem voru aðeins aðgengilegar eftir auðkenningu, jafnvel með því að nota gilt kex, þar sem líklegast eftir árangursríka auðkenningu verður lotan þeirra „skráð út“ og kex verði ógild. Ef afheimildaraðgerðin væri útfærð sem sérstakt forskrift sem ber ábyrgð á að vinna úr þessu ferli, þá væri hægt að útiloka það algjörlega í gegnum -x færibreytuna og koma þannig í veg fyrir að hún kveiki. Að öðrum kosti verður ekki hægt að útiloka vinnslu þess. Þetta er ekki vandamál með tiltekna einingu, heldur með tólinu í heild sinni, en vegna þessa blæbrigða var ekki hægt að greina nokkrar inndælingar á lokuðu auðlindasvæði.

XSS

Skannarinn tókst á við tiltekið verkefni fullkomlega og fann alla tilbúna veikleikana:

Wapiti - athugar síðu fyrir varnarleysi á eigin spýtur

LFI/RFI

Skanninn fann alla undirliggjandi veikleika:

Wapiti - athugar síðu fyrir varnarleysi á eigin spýtur

Almennt séð, þrátt fyrir rangar jákvæðar og vantar veikleika, sýnir Wapiti, sem ókeypis tól, nokkuð góðan árangur. Í öllum tilvikum er vert að viðurkenna að skanninn er nokkuð öflugur, sveigjanlegur og fjölnota, og síðast en ekki síst, hann er ókeypis, þannig að hann á rétt á að vera notaður til að hjálpa stjórnendum og forriturum að fá grunnupplýsingar um öryggisstöðu vefs. umsókn.

Vertu heilbrigður og verndaður!

Heimild: www.habr.com

Bæta við athugasemd