Revizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2

Cu ceva timp în urmă am scris despre acest, dar puțin slab și haotic. Ulterior, am decis să extind lista de instrumente din recenzie, să adaug structură articolului și să țin cont de critici (multe mulțumiri Lefty pentru sfat) și l-a trimis la un concurs pe SecLab (și publicat legătură, dar din toate motivele evidente nu a văzut-o nimeni). Competiția s-a încheiat, rezultatele au fost anunțate și cu conștiința curată îl pot publica (articolul) pe Habré.

Aplicație web gratuită Pentester Tools

În acest articol voi vorbi despre cele mai populare instrumente de pentesting (teste de penetrare) a aplicațiilor web folosind strategia „cutie neagră”.
Pentru a face acest lucru, ne vom uita la utilitățile care vor ajuta cu acest tip de testare. Luați în considerare următoarele categorii de produse:

  1. Scanere de rețea
  2. Scanere de încălcare a scripturilor web
  3. Exploatare
  4. Automatizarea injectiilor
  5. Depanare (sniffer, proxy-uri locale etc.)


Unele produse au un „caracter” universal, așa că le voi clasifica în categoria în care au unоrezultat mai bun (opinie subiectivă).

Scanere de rețea.

Sarcina principală este să descoperiți serviciile de rețea disponibile, să instalați versiunile acestora, să determinați sistemul de operare etc.

NmapRevizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
Nmap („Network Mapper”) este un utilitar gratuit și open source pentru analiza rețelei și auditarea securității sistemului. Oponenții violenți ai consolei pot folosi Zenmap, care este o interfață grafică pentru Nmap.
Acesta nu este doar un scanner „inteligent”, este un instrument extensibil serios (una dintre „trăsăturile neobișnuite” este prezența unui script pentru verificarea unui nod pentru prezența unui vierme "Stuxnet" (menționat aici). Exemplu tipic de utilizare:

nmap -A -T4 localhost

-A pentru detectarea versiunii sistemului de operare, scanarea și urmărirea scripturilor
-Setare de control al timpului T4 (mai mult este mai rapid, de la 0 la 5)
localhost - gazdă țintă
Ceva mai dur?

nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost

Acesta este un set de opțiuni din profilul „slow exhaustive scan” din Zenmap. Este nevoie de destul de mult timp pentru a finaliza, dar în cele din urmă oferă informații mai detaliate care pot fi găsite despre sistemul țintă. Ghid de ajutor în limba rusă, dacă te hotărăști să aprofundezi, recomand și traducerea articolului Ghid pentru începători pentru Nmap.
Nmap a primit statutul de „Produsul de securitate al anului” de la reviste și comunități precum Linux Journal, Info World, LinuxQuestions.Org și Codetalker Digest.
Un punct interesant, Nmap poate fi văzut în filmele „The Matrix Reloaded”, „Die Hard 4”, „The Bourne Ultimatum”, „Hottabych” și alte.

Instrumente IPRevizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
Instrumente IP - un fel de set de utilități de rețea diferite, vine cu o GUI, „dedicată” utilizatorilor Windows.
Scanner de porturi, resurse partajate (imprimante/directoare partajate), WhoIs/Finger/Lookup, client telnet și multe altele. Doar un instrument convenabil, rapid și funcțional.

Nu are rost să luăm în considerare alte produse, deoarece există o mulțime de utilități în acest domeniu și toate au principii de funcționare și funcționalități similare. Cu toate acestea, nmap rămâne cel mai frecvent utilizat.

Scanere de încălcare a scripturilor web

Încercarea de a găsi vulnerabilități populare (SQL inj, XSS, LFI/RFI etc.) sau erori (fișiere temporare neșterse, indexare directoare etc.)

Acunetix Web Vulnerability ScannerRevizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
Acunetix Web Vulnerability Scanner — din link puteți vedea că acesta este un scaner xss, dar acest lucru nu este în întregime adevărat. Versiunea gratuită, disponibilă aici, oferă o mulțime de funcționalități. De obicei, persoana care rulează acest scaner pentru prima dată și primește pentru prima dată un raport despre resursa sa experimentează un ușor șoc și vei înțelege de ce odată ce faci asta. Acesta este un produs foarte puternic pentru analiza tuturor tipurilor de vulnerabilități de pe un site web și funcționează nu numai cu site-urile web obișnuite PHP, ci și în alte limbi (deși diferența de limbă nu este un indicator). Nu are niciun rost în descrierea instrucțiunilor, deoarece scanerul pur și simplu „preluează” acțiunile utilizatorului. Ceva similar cu „next, next, next, ready” într-o instalare tipică de software.

NiktoRevizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
Nikto Acesta este un crawler web Open Source (GPL). Elimina munca manuala de rutina. Caută pe site-ul țintă scripturi neșterse (unele test.php, index_.php etc.), instrumente de administrare a bazei de date (/phpmyadmin/, /pma și altele asemenea), etc., adică verifică resursa pentru cele mai frecvente erori cauzate de obicei de factori umani.
În plus, dacă găsește vreun script popular, îl verifică pentru exploit-uri lansate (care sunt în baza de date).
Rapoarte disponibile metode „nedorite” precum PUT și TRACE
Și așa mai departe. Este foarte convenabil dacă lucrezi ca auditor și analizezi site-uri web în fiecare zi.
Dintre minusuri, aș dori să remarc procentul mare de fals pozitive. De exemplu, dacă site-ul dvs. dă întotdeauna eroarea principală în loc de o eroare 404 (când ar trebui să apară), atunci scannerul va spune că site-ul dvs. conține toate scripturile și toate vulnerabilitățile din baza sa de date. În practică, acest lucru nu se întâmplă atât de des, dar, de fapt, multe depind de structura site-ului tău.
Utilizare clasică:

./nikto.pl -host localhost

Daca trebuie sa fii autorizat pe site, poti seta un cookie in fisierul nikto.conf, variabila STATIC-COOKIE.

WiktoRevizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
Wikto — Nikto pentru Windows, dar cu unele completări, cum ar fi logica „fuzzy” la verificarea codului pentru erori, utilizarea GHDB, obținerea de link-uri și foldere de resurse, monitorizarea în timp real a solicitărilor/răspunsurilor HTTP. Wikto este scris în C# și necesită framework-ul .NET.

skipfishRevizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
skipfish - scaner de vulnerabilitate web de la Michal Zalewski (cunoscut ca lcamtuf). Scris în C, multiplatformă (Win necesită Cygwin). Recursiv (și pentru o perioadă foarte lungă de timp, aproximativ 20~40 de ore, deși ultima dată când a funcționat pentru mine a fost de 96 de ore) accesează cu crawlere întregul site și găsește tot felul de găuri de securitate. De asemenea, generează o mulțime de trafic (mai mulți GB de intrare/ieșire). Dar toate mijloacele sunt bune, mai ales dacă ai timp și resurse.
Utilizare tipică:

./skipfish -o /home/reports www.example.com

În folderul „rapoarte” va fi un raport în html, exemplu.

w3af Revizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
w3af — Web Application Attack and Audit Framework, scaner de vulnerabilități web open-source. Are o interfață grafică, dar poți lucra din consolă. Mai exact, este un cadru cu o grămadă de pluginuri.
Poți vorbi despre avantajele sale mult timp, este mai bine să-l încerci :] Lucrul tipic cu el se rezumă la alegerea unui profil, specificarea unui scop și, de fapt, lansarea lui.

Cadrul de securitate MantraRevizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
Mantra este un vis devenit realitate. O colecție de instrumente gratuite și deschise de securitate a informațiilor încorporate într-un browser web.
Foarte util atunci când testați aplicații web în toate etapele.
Utilizarea se rezumă la instalarea și lansarea browserului.

De fapt, există o mulțime de utilități în această categorie și este destul de dificil să selectezi o listă anume din ele. Cel mai adesea, fiecare pentester determină el însuși setul de instrumente de care are nevoie.

Exploatare

Pentru exploatarea automată și mai convenabilă a vulnerabilităților, exploit-urile sunt scrise în software și scripturi, cărora trebuie doar să li se treacă parametri pentru a exploata gaura de securitate. Și există produse care elimină nevoia de a căuta manual exploatările și chiar le aplică din mers. Această categorie va fi acum discutată.

Metasploit Framework Revizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
Cadrul Metasploit® - un fel de monstru în afacerea noastră. El poate face atât de multe încât instrucțiunile vor acoperi mai multe articole. Ne vom uita la exploatarea automată (nmap + metasploit). Concluzia este aceasta: Nmap va analiza portul de care avem nevoie, va instala serviciul, iar metasploit va încerca să-i aplice exploit-uri pe baza clasei de serviciu (ftp, ssh etc.). În loc de instrucțiuni text, voi insera un videoclip, destul de popular pe tema autopwn

Sau pur și simplu putem automatiza operarea exploit-ului de care avem nevoie. De exemplu:

msf > use auxiliary/admin/cisco/vpn_3000_ftp_bypass
msf auxiliary(vpn_3000_ftp_bypass) > set RHOST [TARGET IP] msf auxiliary(vpn_3000_ftp_bypass) > run

De fapt, capacitățile acestui cadru sunt foarte extinse, așa că dacă decideți să mergeți mai adânc, mergeți la legătură

ArmitageRevizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
Armitage — OVA al genului cyberpunk GUI pentru Metasploit. Vizualizează ținta, recomandă exploit-uri și oferă caracteristici avansate ale cadrului. În general, pentru cei cărora le place ca totul să arate frumos și impresionant.
Screencast:

Tenable Nessus®Revizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
Scaner de vulnerabilități Tenable Nessus® - poate face o mulțime de lucruri, dar una dintre capacitățile de care avem nevoie de la el este să stabilim ce servicii au exploit-uri. Versiunea gratuită a produsului „numai acasă”

Использование:

  • Descărcat (pentru sistemul dvs.), instalat, înregistrat (cheia este trimisă pe e-mail).
  • Am pornit serverul, am adăugat utilizatorul la Nessus Server Manager (butonul Gestionați utilizatorii)
  • Mergem la adresa
    https://localhost:8834/

    și obțineți clientul flash în browser

  • Scanări -> Adăugați -> completați câmpurile (prin selectarea profilului de scanare care ni se potrivește) și faceți clic pe Scanare

După ceva timp, raportul de scanare va apărea în fila Rapoarte
Pentru a verifica vulnerabilitatea practică a serviciilor la exploit-uri, puteți utiliza Cadrul Metasploit descris mai sus sau puteți încerca să găsiți un exploit (de exemplu, pe Explot-db, furtuna de pachete, explot search etc.) și folosiți-l manual împotriva sistemul său
IMHO: prea voluminos. L-am adus ca unul dintre liderii în această direcție a industriei software.

Automatizarea injectiilor

Multe dintre scanerele sectoare ale aplicației web caută injecții, dar sunt încă doar scanere generale. Și există utilități care se ocupă în mod specific de căutarea și exploatarea injecțiilor. Despre ele vom vorbi acum.

sqlmapRevizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
sqlmap — utilitar open-source pentru căutarea și exploatarea injecțiilor SQL. Suporta servere de baze de date precum: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Utilizarea obișnuită se reduce la linia:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Există suficiente manuale, inclusiv în limba rusă. Software-ul facilitează foarte mult munca unui pentester atunci când lucrează pe această zonă.
Voi adăuga o demonstrație video oficială:

bsqlbf-v2
bsqlbf-v2 — un script perl, un brute forcer pentru injecții Sql „oarbe”. Funcționează atât cu valori întregi în url, cât și cu valori șir.
Baza de date suportata:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracol

Exemplu de utilizare:

./bsqlbf-v2-3.pl -url www.somehost.com/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1

-url www.somehost.com/blah.php?u=5 — Legătură cu parametrii
-tu orb — parametru pentru injecție (în mod implicit, ultimul este preluat din bara de adrese)
-sql „selectați table_name din imformation_schema.tables limit 1 offset 0” — cererea noastră arbitrară către baza de date
- baza de date 1 — server de baze de date: MSSQL
-Tipul 1 — tip de atac, injecție „oarbă”, bazată pe răspunsuri adevărate și eroare (de exemplu, erori de sintaxă)

Depanatoare

Aceste instrumente sunt utilizate în principal de dezvoltatori atunci când au probleme cu rezultatele executării codului lor. Dar această direcție este utilă și pentru pentesting, atunci când putem înlocui datele de care avem nevoie din mers, putem analiza ce vine ca răspuns la parametrii noștri de intrare (de exemplu, în timpul fuzzing-ului) etc.

Suită Burp
Suită Burp — un set de utilități care ajută la testele de penetrare. Este pe internet recenzie buna în rusă de la Raz0r (deși pentru 2008).
Versiunea gratuită include:

  • Burp Proxy este un proxy local care vă permite să modificați solicitările deja generate din browser
  • Burp Spider - păianjen, caută fișiere și directoare existente
  • Burp Repeater - trimiterea manuală a cererilor HTTP
  • Burp Sequencer - analiza valorilor aleatorii în formulare
  • Burp Decoder este un codificator-decodor standard (html, base64, hex etc.), dintre care există mii, care pot fi scrise rapid în orice limbă
  • Burp Comparer - Componenta de comparare a șirurilor

În principiu, acest pachet rezolvă aproape toate problemele legate de acest domeniu.

LăutarRevizuirea instrumentelor gratuite pentru testarea resurselor web și multe altele v2
Lăutar — Fiddler este un proxy de depanare care înregistrează tot traficul HTTP(S). Vă permite să examinați acest trafic, să setați puncte de întrerupere și să vă „jucați” cu datele de intrare sau de ieșire.

De asemenea este si Oaia de foc, monstru Wireshark și altele, alegerea este la latitudinea utilizatorului.

Concluzie

Desigur, fiecare pentester are propriul său arsenal și propriul său set de utilități, deoarece pur și simplu sunt multe. Am încercat să enumerez unele dintre cele mai convenabile și populare. Dar pentru ca oricine să se poată familiariza cu alte utilități în această direcție, voi oferi link-uri mai jos.

Diferite topuri/liste de scanere și utilitare

Distribuții Linux care includ deja o grămadă de utilitare de pentesting diferite

UPD: Documentația BurpSuite în rusă de la echipa „Hack4Sec” (adăugat AntonKuzmin)

PS Nu putem păstra tăcerea despre XSpider. Nu participă la revizuire, deși este shareware (am aflat când am trimis articolul la SecLab, de fapt din această cauză (nu cunoștințe, și lipsa ultimei versiuni 7.8) și nu l-am inclus în articol). Și, teoretic, a fost planificată o revizuire a acesteia (am teste dificile pregătite pentru aceasta), dar nu știu dacă lumea o va vedea.

PPS Unele materiale din articol vor fi folosite în scopul propus într-un raport viitor la CodeFest 2012 în secțiunea QA, care va conține instrumente nemenționate aici (gratuite, desigur), precum și algoritmul, în ce ordine să folosești ce, la ce rezultat să te aștepți, ce configurații să folosești și tot felul de sugestii și trucuri când de lucru (mă gândesc la raport aproape în fiecare zi, voi încerca să vă spun tot ce este mai bun despre subiectul subiectului)
Apropo, a existat o lecție despre acest articol la Deschideți InfoSec Days (etichetă pe Habré, website), poate sa jefuiesc vacile arunca o privire Materiale.

Sursa: www.habr.com

Adauga un comentariu