Wapiti - e Site iwwerpréift fir Schwachstelle eleng

Wapiti - e Site iwwerpréift fir Schwachstelle eleng
An der leschter Artikel mir geschwat iwwer Nemesida WAF Fräi - e gratis Tool fir Websäiten an APIe vu Hackerattacken ze schützen, an an dësem hu mir beschloss e populäre Schwachstelle Scanner ze iwwerpréiwen Elk.

Scannen vun enger Websäit fir Schwachstelle ass eng noutwendeg Moossnam, déi, gekoppelt mat der Analyse vum Quellcode, Iech erlaabt den Niveau vu senger Sécherheet géint Gefore vu Kompromëss ze bewäerten. Dir kënnt eng Webressource scannen mat spezialiséierten Tools.

Nikto, W3af (geschriwwen am Python 2.7, deen net méi ënnerstëtzt gëtt) oder Arachni (net méi zënter Februar ënnerstëtzt) sinn déi populärste Léisungen, déi am gratis Segment presentéiert ginn. Natierlech ginn et anerer, zum Beispill Wapiti, op déi mir beschloss hunn ze fokusséieren.

Wapiti schafft mat de folgenden Zorte vu Schwachstelle:

  • Dateiexpansioun (lokal a Remote, fopen, readfile);
  • Injektiounen (PHP / JSP / ASP / SQL Injektioun an XPath Injektioun);
  • XSS (Cross Site Scripting) (reflektiv a persistent);
  • Detektioun an Ausféierung vun Kommandoen (eval (), System (), passstru ());
  • CRLF Injektiounen (HTTP Äntwert Spaltung, Sessiounsfixatioun);
  • XXE (XML extern Entitéit) Embedding;
  • SSRF (Server Side Request Forgery);
  • Benotzung vu bekannte potenziell geféierleche Dateien (dank der Nikto Datebank);
  • schwaach .htaccess Konfiguratiounen déi ëmgoen kënnen;
  • d'Präsenz vu Backupdateien déi vertraulech Informatioun verroden (Offenbarung vum Quellcode);
  • Shellshock;
  • oppe Viruleedungen;
  • Net-Standard HTTP Methoden déi geléist kënne ginn (PUT).

Features:

  • HTTP, HTTPS an SOCKS5 Proxy Ënnerstëtzung;
  • Authentifikatioun mat verschiddene Methoden: Basis, Digest, Kerberos oder NTLM;
  • d'Kapazitéit fir d'Scannengebitt ze limitéieren (Domain, Dossier, Säit, URL);
  • automatesch Entfernung vun engem vun de Parameteren an der URL;
  • Multiple Virsiichtsmoossname géint endlos Scan Loops (Beispill: ifor, limitéierend Wäerter fir e Parameter);
  • d'Kapazitéit fir eng Prioritéit fir d'Untersuchung vun URLen ze setzen (och wa se net am Scannenberäich sinn);
  • Fäegkeet fir e puer URLen aus Scannen an Attacken auszeschléissen (zum Beispill: URL Logout);
  • Import Cookien (kréien se mat dem wapiti-getcookie Tool);
  • Fäegkeet fir SSL Zertifika Verifizéierung z'aktivéieren / deaktivéieren;
  • d'Fäegkeet URLen aus JavaScript ze extrahieren (e ganz einfache JS Dolmetscher);
  • Interaktioun mat HTML5;
  • verschidde Méiglechkeeten fir d'Gestioun vum Crawler Verhalen a Restriktiounen;
  • Astellung vun der maximal Zäit fir de Scannen Prozess;
  • e puer personaliséiert HTTP Header bäizefügen oder e personaliséierte User-Agent opzestellen.

Zousätzlech Funktiounen:

  • Schafung vu Schwachstelleberichter a verschiddene Formater (HTML, XML, JSON, TXT);
  • Pausen a weidergoen e Scan oder Attack (Sessiounsmechanismus mat SQLite3 Datenbanken);
  • Backlighting am Terminal fir Schwachstelle ze markéieren;
  • verschidden Niveaue vu Logbicher;
  • Eng séier an einfach Manéier Attack Moduler ze aktivéieren / deaktivéieren.

Kader

Déi aktuell Versioun vu Wapiti kann op 2 Weeër installéiert ginn:

  • download d'Quell vum offiziellen Site a lafen d'Installatiounsskript, nodeems se virdru Python3 installéiert hunn;
  • mam pip3 installéieren wapiti3 Kommando.

Duerno wäert Wapiti prett sinn fir ze goen.

Schafft mam Tool

Fir d'Aarbecht vun Wapiti ze demonstréieren, wäerte mir e speziell virbereet Stand benotzen Sites.vulns.pentestit.ru (intern Ressource), déi verschidde Schwachstelle enthält (Injektioun, XSS, LFI / RFI) an aner Mängel vu Webapplikatiounen.

D'Informatioun gëtt nëmme fir Informatiounszwecker geliwwert. Paus net d'Gesetz!

Basis Kommando fir de Scanner ze starten:

# wapiti -u <target> <options>

Zur selwechter Zäit gëtt et zimmlech detailléiert Hëllef mat enger grousser Zuel vu Startoptiounen, zum Beispill:

-- Ëmfang - Applikatioun Beräich
Wann Dir den Ëmfangparameter zesumme mat der Crawl URL spezifizéiert, kënnt Dir de Crawlberäich vum Site upassen andeems Dir souwuel eng eenzeg Säit an all Säiten spezifizéiert, déi um Site fonnt ginn.

-s и -x - Optiounen fir spezifesch URLen ze addéieren oder ze läschen. Dës Optiounen sinn nëtzlech wann Dir eng spezifesch URL wärend dem Crawlprozess derbäigesat oder ewechhuelt.

--sprangen - de spezifizéierte Parameter mat dësem Schlëssel gëtt gescannt, awer net attackéiert. Nëtzlech wann et geféierlech Parameteren sinn, déi am beschten ausgeschloss sinn beim Scannen.

--verify-ssl - aktivéiert oder deaktivéiert d'Zertifikaverifizéierung.
De Wapiti Scanner ass modulär. Wéi och ëmmer, fir spezifesch Moduler ze lancéieren, och déi, déi automatesch verbonne sinn, während de Scanner leeft, musst Dir den -m Schalter benotzen an déi oplëschten, déi Dir braucht, getrennt vu Kommaen. Wann de Schlëssel net benotzt gëtt, funktionnéieren all Moduler als Standard. An der einfachster Versioun gesäit et esou aus:

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

Dëst Benotzungsbeispill bedeit datt mir nëmmen d'SQL, XSS an XXE Moduler benotze wann Dir d'Ziel scannen. Zousätzlech kënnt Dir d'Operatioun vu Moduler filteren ofhängeg vun der gewënschter Method. Zum Beispill -m "xss: get, blindsql: post, xxe: post". An dësem Fall, de Modul xss gëllen op Ufroe geschéckt mat der GET Method, an de Modul blibdsql - fir POST Ufroen, etc. Iwwregens, wann e Modul, deen an der Lëscht abegraff war, net gebraucht gouf beim Scannen oder ganz laang dauert, da kënnt Dir andeems Dir d'Ctrl+C Kombinatioun dréckt, iwwersprangen andeems Dir den aktuellen Modul benotzt andeems Dir dat entspriechend Element am interaktiven Menü auswielt.

Wapiti ënnerstëtzt Ufroen duerch e Proxy mat engem Schlëssel -p an Authentifikatioun op der Zil- Site duerch de Parameter -a. Dir kënnt och d'Authentifikatiounstyp uginn: Basis, Verdauung, Kerberos и NTLM. Déi lescht zwee kënnen d'Installatioun vun zousätzleche Moduler erfuerderen. Zousätzlech kënnt Dir all Header an Ufroe setzen (inklusiv arbiträr Benotzer Agent) a vill méi.

Fir d'Authentifikatioun ze benotzen, kënnt Dir den Tool benotzen wapiti-getcookie. Mat senger Hëllef bilden mir Cookie, déi Wapiti beim Scannen benotzt. Formatioun Cookie gemaach mam Kommando:

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

Wärend interaktiv schaffe mir op Froen an weisen déi néideg Informatioune wéi Login, Passwuert asw.

Wapiti - e Site iwwerpréift fir Schwachstelle eleng

D'Ausgab ass eng Datei am JSON Format. Eng aner Optioun ass all néideg Informatioun duerch de Parameter ze addéieren -d:

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

D'Resultat wäert ähnlech sinn:

Wapiti - e Site iwwerpréift fir Schwachstelle eleng

Wann Dir d'Haaptfunktionalitéit vum Scanner berücksichtegt, war déi lescht Ufro fir d'Webapplikatioun an eisem Fall ze testen:

# 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

wou ënner anerem Parameteren:

-f и -o - Format a Wee fir de Bericht ze späicheren;

-m - all Moduler ze verbannen ass net recommandéiert, well wäert Testzäit a Berichtgréisst beaflossen;

--faarf - Highlight fonnt Schwachstelle ofhängeg vun hirer Kritik no Wapiti selwer;

-c - benotzt engem Fichier mat Cookie, generéiert benotzt wapiti-getcookie;

-- Ëmfang - d'Auswiel vun engem Zil fir Attack. Auswiel vun enger Optioun Dossier All URL gëtt gekrabbelt an attackéiert, ugefaange mat der Basis. D'Basis URL muss e Forward Slash hunn (kee Dateinumm);

--flush-Sessioun - erlaabt widderholl Scannen, an deem virdrun Resultater net berücksichtegt ginn;

-A - eegen Benotzer Agent;

-p - Proxy Server Adress, wann néideg.

E bëssen iwwer de Bericht

D'Scannenresultat gëtt a Form vun engem detailléierte Bericht iwwer all fonnt Schwachstelle am HTML Säitformat presentéiert, an enger kloerer an einfach ze liesen Form. De Bericht weist d'Kategorien an d'Zuel vun de Schwachstelle fonnt, hir Beschreiwungen, Ufroen, Kommandoen fir esouvill an Tipps wéi se zoumaachen. Fir d'Navigatioun ze vereinfachen, gëtt e Link op d'Kategoriennimm bäigefüügt, klickt op déi Dir dohinner kënnt:

Wapiti - e Site iwwerpréift fir Schwachstelle eleng

E wesentlechen Nodeel vum Bericht ass d'Feele vun enger Webapplikatiounskaart als solch, ouni déi et net kloer ass ob all Adressen a Parameteren analyséiert goufen. Et gëtt och eng Méiglechkeet vu falsche Positiven. An eisem Fall enthält de Bericht "Backupdateien" an "potenziell geféierlech Dateien." Hir Zuel entsprécht net der Realitéit, well et keng esou Dateien um Server waren:

Wapiti - e Site iwwerpréift fir Schwachstelle eleng

Vläicht falsch funktionéierend Moduler ginn iwwer Zäit fixéiert. En aneren Nodeel vum Bericht ass de Mangel u Faarf vun de fonnte Schwachstelle (ofhängeg vun hirer Kritik), oder op d'mannst se a Kategorien opzedeelen. Deen eenzege Wee wéi mir indirekt d'Kritikitéit vun der fonnter Schwachstelle kënnen verstoen ass de Parameter ze benotzen --faarf während dem Scannen, an da ginn d'Schwachstelle fonnt a verschiddene Faarwen faarweg:

Wapiti - e Site iwwerpréift fir Schwachstelle eleng

Mä de Rapport selwer gëtt net esou Faarf.

Schwachstelle

SQLi

De Scanner huet deelweis mat der SQLi Sich gekëmmert. Wann Dir no SQL Schwachstelle sicht op Säiten wou d'Authentifikatioun net erfuerderlech ass, entstinn keng Probleemer:

Wapiti - e Site iwwerpréift fir Schwachstelle eleng

Et war net méiglech eng Schwachstelle op Säiten ze fannen, déi nëmmen no der Authentifikatioun zougänglech sinn, och mat valabel Cookie, well héchstwahrscheinlech no der erfollegräicher Authentifikatioun, hir Sessioun gëtt "ausgeloggt" an Cookie wäert ongëlteg ginn. Wann d'Deautoriséierungsfunktioun als separat Skript ëmgesat gouf, verantwortlech fir d'Veraarbechtung vun dëser Prozedur, da wier et méiglech, se komplett duerch den -x Parameter auszeschléissen, an doduerch ze verhënneren datt se ausléisen. Soss ass et net méiglech seng Veraarbechtung auszeschléissen. Dëst ass net e Problem mat engem spezifesche Modul, mä mat der Outil als Ganzt, mä wéinst dëser Nuancen war et net méiglech e puer Injektiounen an engem zouenen Ressource Beräich z'entdecken.

XSS

De Scanner huet déi gegebene Aufgab perfekt gepackt an huet all preparéiert Schwachstelle fonnt:

Wapiti - e Site iwwerpréift fir Schwachstelle eleng

LFI/RFI

De Scanner huet all déi ënnerierdesch Schwachstelle fonnt:

Wapiti - e Site iwwerpréift fir Schwachstelle eleng

Am Allgemengen, trotz falschen Positiven a fehlende Schwachstelle, weist Wapiti, als gratis Tool, zimlech gutt Leeschtungsresultater. Op alle Fall ass et derwäert ze erkennen datt de Scanner zimlech mächteg, flexibel a multifunktionell ass, an am wichtegsten ass et gratis, sou datt et d'Recht huet fir Administrateuren an Entwéckler ze hëllefen Basisinformatioun iwwer de Sécherheetsstatus vun engem Web ze kréien Applikatioun.

Bleift gesond a geschützt!

Source: will.com

Setzt e Commentaire