Wapiti - vietnei atseviŔķi tiek pÄrbaudÄ«tas ievainojamÄ«bas
PagÄtnÄ raksts mÄs runÄjÄm par Nemesida WAF bezmaksas - bezmaksas rÄ«ks vietÅu un API aizsardzÄ«bai pret hakeru uzbrukumiem, un Å”ajÄ rÄ«kÄ mÄs nolÄmÄm pÄrskatÄ«t populÄru ievainojamÄ«bas skeneri Alnis.
Vietnes ievainojamÄ«bu skenÄÅ”ana ir nepiecieÅ”ams pasÄkums, kas kopÄ ar avota koda analÄ«zi ļauj novÄrtÄt tÄs droŔības lÄ«meni pret kompromitÄÅ”anas draudiem. Varat skenÄt tÄ«mekļa resursu, izmantojot specializÄtus rÄ«kus.
Nikto, W3af (rakstÄ«ts Python 2.7, kas vairs netiek atbalstÄ«ts) vai Arachni (vairs netiek atbalstÄ«ts kopÅ” februÄra) ir populÄrÄkie risinÄjumi, kas tiek piedÄvÄti bezmaksas segmentÄ. Protams, ir arÄ« citi, piemÄram, Wapiti, kam nolÄmÄm pievÄrsties.
Wapiti darbojas ar Å”Äda veida ievainojamÄ«bÄm:
failu paplaÅ”inÄÅ”ana (lokÄlais un attÄlais, fopen, readfile);
injekcijas (PHP / JSP / ASP / SQL injekcija un XPath injekcija);
XSS (Cross Site Scripting) (atstarojoŔs un noturīgs);
komandu noteikŔana un izpilde (eval(), system(), passtru());
skenÄÅ”anas vai uzbrukuma apturÄÅ”ana un atsÄkÅ”ana (sesijas mehÄnisms, izmantojot SQLite3 datu bÄzes);
fona apgaismojums terminÄlÄ«, lai izceltu ievainojamÄ«bas;
dažÄdi mežizstrÄdes lÄ«meÅi;
Ätrs un vienkÄrÅ”s veids, kÄ aktivizÄt/deaktivizÄt uzbrukuma moduļus.
UzstÄdÄ«Å”ana
PaÅ”reizÄjo Wapiti versiju var instalÄt divos veidos:
lejupielÄdÄjiet avotu no oficiÄlÄ ŃŠ°Š¹ŃŠ° un palaist instalÄcijas skriptu, iepriekÅ” instalÄjot Python3;
izmantojot komandu pip3 install wapiti3.
PÄc tam Wapiti bÅ«s gatavs darbam.
Darbs ar instrumentu
Wapiti darba demonstrÄÅ”anai izmantosim Ä«paÅ”i sagatavotu stendu sites.vulns.pentestit.ru (iekÅ”Äjais resurss), kas satur dažÄdas ievainojamÄ«bas (Injection, XSS, LFI/RFI) un citus tÄ«mekļa aplikÄciju trÅ«kumus.
InformÄcija tiek sniegta tikai informatÄ«viem nolÅ«kiem. NepÄrkÄp likumu!
Pamata komanda skenera palaiŔanai:
# wapiti -u <target> <options>
TajÄ paÅ”Ä laikÄ ir diezgan detalizÄta palÄ«dzÄ«ba ar daudzÄm palaiÅ”anas opcijÄm, piemÄram:
-- joma - pielietojuma zona
Ja norÄdÄt tvÄruma parametru kopÄ ar rÄpuļprogrammas URL, varat pielÄgot vietnes pÄrmeklÄÅ”anas apgabalu, norÄdot gan vienu lapu, gan visas vietnÄ atrodamÄs lapas.
-s Šø -x ā iespÄjas pievienot vai noÅemt konkrÄtus URL. Å Ä«s opcijas ir noderÄ«gas, ja pÄrmeklÄÅ”anas procesa laikÄ jÄpievieno vai jÄnoÅem konkrÄts URL.
-- izlaist ā norÄdÄ«tais parametrs ar Å”o atslÄgu tiks skenÄts, bet netiks uzbrukts. NoderÄ«gi, ja ir kÄdi bÄ«stami parametri, kurus vislabÄk izslÄgt skenÄÅ”anas laikÄ.
--verify-ssl ā iespÄjot vai atspÄjot sertifikÄta verifikÄciju.
Wapiti skeneris ir modulÄrs. TomÄr, lai palaistu noteiktus moduļus, tostarp tos, kas tiek automÄtiski savienoti skenera darbÄ«bas laikÄ, jums ir jÄizmanto slÄdzis -m un jÄnorÄda nepiecieÅ”amie moduļi, atdalot tos ar komatiem. Ja atslÄga netiek izmantota, visi moduļi darbosies pÄc noklusÄjuma. VienkÄrÅ”ÄkajÄ versijÄ tas izskatÄ«sies Å”Ädi:
Å is lietoÅ”anas piemÄrs nozÄ«mÄ, ka, skenÄjot mÄrÄ·i, mÄs izmantosim tikai SQL, XSS un XXE moduļus. TurklÄt jÅ«s varat filtrÄt moduļu darbÄ«bu atkarÄ«bÄ no vÄlamÄs metodes. PiemÄram -m āxss: iegÅ«t, blindsql: izlikt, xxe: izliktā. Å ajÄ gadÄ«jumÄ modulis xss attieksies uz pieprasÄ«jumiem, kas nosÅ«tÄ«ti, izmantojot GET metodi, un moduli blibdsql - uz POST pieprasÄ«jumiem utt. Starp citu, ja kÄds modulis, kas bija iekļauts sarakstÄ, skenÄÅ”anas laikÄ nebija vajadzÄ«gs vai aizÅem ļoti ilgu laiku, tad, nospiežot kombinÄciju Ctrl+C, var izlaist paÅ”reizÄjÄ moduļa lietoÅ”anu, interaktÄ«vajÄ izvÄlnÄ atlasot atbilstoÅ”o vienumu.
Wapiti atbalsta pieprasÄ«jumu pÄrsÅ«tÄ«Å”anu caur starpniekserveri, izmantojot atslÄgu -p un autentifikÄcija mÄrÄ·a vietnÄ, izmantojot parametru -a. Varat arÄ« norÄdÄ«t autentifikÄcijas veidu: Pamata, Sagremot, Kerberos Šø NTLM. PÄdÄjiem diviem var bÅ«t nepiecieÅ”ams instalÄt papildu moduļus. TurklÄt pieprasÄ«jumos varat ievietot jebkuras galvenes (tostarp patvaļīgas User-Agent) un daudz vairÄk.
Lai izmantotu autentifikÄciju, varat izmantot rÄ«ku wapiti-getcookie. Ar tÄs palÄ«dzÄ«bu mÄs veidojam cepums, ko Wapiti izmantos skenÄÅ”anas laikÄ. VeidoÅ”anÄs cepums darÄ«ts ar komandu:
# 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
kur starp citiem parametriem:
-f Šø -o ā atskaites saglabÄÅ”anas formÄts un ceļŔ;
-m ā nav ieteicams savienot visus moduļus, jo ietekmÄs pÄrbaudes laiku un atskaites lielumu;
-- krÄsa ā izcelt atrastÄs ievainojamÄ«bas atkarÄ«bÄ no to kritiskuma saskaÅÄ ar paÅ”u Wapiti;
-c - izmantojot failu ar cepums, Ä£enerÄts, izmantojot wapiti-getcookie;
-- joma ā uzbrukuma mÄrÄ·a izvÄle. IzvÄloties opciju mape Katrs URL tiks pÄrmeklÄts un uzbrukts, sÄkot ar pamata URL. Pamata URL ir jÄbÅ«t slÄ«psvÄ«trai uz priekÅ”u (bez faila nosaukuma);
SkenÄÅ”anas rezultÄts tiek parÄdÄ«ts detalizÄta ziÅojuma veidÄ par visÄm atrastajÄm ievainojamÄ«bÄm HTML lapas formÄtÄ, skaidrÄ un viegli lasÄmÄ formÄ. ZiÅojumÄ tiks norÄdÄ«tas atrasto ievainojamÄ«bu kategorijas un skaits, to apraksti, pieprasÄ«jumi, komandas cirtot un padomi, kÄ tos aizvÄrt. Lai atvieglotu navigÄciju, kategoriju nosaukumiem tiks pievienota saite, uz kuras noklikŔķinot uz tÄs var pÄriet:
BÅ«tisks ziÅojuma trÅ«kums ir tÄ«mekļa lietojumprogrammu kartes kÄ tÄdas neesamÄ«ba, bez kuras nebÅ«s skaidrs, vai visas adreses un parametri ir analizÄti. PastÄv arÄ« viltus pozitÄ«vu rezultÄtu iespÄjamÄ«ba. MÅ«su gadÄ«jumÄ pÄrskatÄ ir iekļauti ādublÄjuma failiā un āpotenciÄli bÄ«stami failiā. To skaits neatbilst realitÄtei, jo serverÄ« nebija Å”Ädu failu:
IespÄjams, nepareizi strÄdÄjoÅ”i moduļi laika gaitÄ tiks salaboti. VÄl viens ziÅojuma trÅ«kums ir atrasto ievainojamÄ«bu krÄsojuma trÅ«kums (atkarÄ«bÄ no to kritiskuma) vai vismaz to sadalÄ«Å”ana kategorijÄs. VienÄ«gais veids, kÄ mÄs varam netieÅ”i saprast atrastÄs ievainojamÄ«bas kritiskumu, ir izmantot parametru -- krÄsa skenÄÅ”anas laikÄ, un pÄc tam atrastÄs ievainojamÄ«bas tiks iekrÄsotas dažÄdÄs krÄsÄs:
Bet pats ziÅojums nesniedz Å”Ädu krÄsojumu.
Ievainojamības
SQLi
Skeneris daļÄji tika galÄ ar SQLi meklÄÅ”anu. MeklÄjot SQL ievainojamÄ«bas lapÄs, kur autentifikÄcija nav nepiecieÅ”ama, problÄmas nerodas:
NevarÄja atrast ievainojamÄ«bu lapÄs, kurÄm var piekļūt tikai pÄc autentifikÄcijas, pat izmantojot derÄ«gu cepums, jo visticamÄk pÄc veiksmÄ«gas autentifikÄcijas viÅu sesija tiks āatrakstÄ«taā un cepums kļūs nederÄ«gs. Ja autorizÄcijas atcelÅ”anas funkcija tiktu ieviesta kÄ atseviŔķs skripts, kas ir atbildÄ«gs par Ŕīs procedÅ«ras apstrÄdi, tad to bÅ«tu iespÄjams pilnÄ«bÄ izslÄgt, izmantojot parametru -x, un tÄdÄjÄdi novÄrst tÄs aktivizÄÅ”anu. PretÄjÄ gadÄ«jumÄ nebÅ«s iespÄjams izslÄgt tÄ apstrÄdi. TÄ nav problÄma ar konkrÄtu moduli, bet gan ar rÄ«ku kopumÄ, taÄu Ŕīs nianses dÄļ slÄgtÄ resursa zonÄ nebija iespÄjams noteikt vairÄkas injekcijas.
XSS
Skeneris lieliski tika galÄ ar doto uzdevumu un atrada visas sagatavotÄs ievainojamÄ«bas:
LFI/RFI
Skeneris atrada visas pamatÄ esoÅ”Äs ievainojamÄ«bas:
KopumÄ, neskatoties uz viltus pozitÄ«viem rezultÄtiem un trÅ«kstoÅ”ajÄm ievainojamÄ«bÄm, Wapiti kÄ bezmaksas rÄ«ks uzrÄda diezgan labus veiktspÄjas rezultÄtus. JebkurÄ gadÄ«jumÄ ir vÄrts atzÄ«t, ka skeneris ir diezgan jaudÄ«gs, elastÄ«gs un daudzfunkcionÄls, un, pats galvenais, tas ir bezmaksas, tÄpÄc to ir tiesÄ«bas izmantot, lai palÄ«dzÄtu administratoriem un izstrÄdÄtÄjiem iegÅ«t pamatinformÄciju par tÄ«mekļa droŔības statusu. pieteikumu.