Pregled besplatnih alata za pentestiranje web resursa i više v2

Prije nekog vremena pisao sam o tome ovo, ali malo oskudan i haotičan. Nakon toga, odlučio sam da proširim listu alata u recenziji, dodam strukturu članku i uzmem u obzir kritike (veliko hvala Lefty za savjet) i poslao ga na konkurs na SecLabu (i objavio link, ali je iz očiglednih razloga niko nije vidio). Konkurs je završen, rezultati su objavljeni i mirne savjesti mogu ga (članak) objaviti na Habréu.

Besplatna web aplikacija Pentester Tools

U ovom članku govorit ću o najpopularnijim alatima za pentestiranje (testiranje penetracije) web aplikacija koristeći strategiju “crne kutije”.
Da bismo to učinili, pogledat ćemo uslužne programe koji će pomoći u ovoj vrsti testiranja. Razmotrite sljedeće kategorije proizvoda:

  1. Mrežni skeneri
  2. Skeneri za kršenje web skripte
  3. Eksploatacija
  4. Automatizacija injekcija
  5. Programi za otklanjanje grešaka (njuškari, lokalni proksiji, itd.)


Neki proizvodi imaju univerzalni “karakter”, pa ću ih svrstati u kategoriju u kojoj imaju aоbolji rezultat (subjektivno mišljenje).

Mrežni skeneri.

Glavni zadatak je otkriti dostupne mrežne usluge, instalirati njihove verzije, odrediti OS itd.

NmapPregled besplatnih alata za pentestiranje web resursa i više v2
Nmap ("Network Mapper") je besplatni uslužni program otvorenog koda za analizu mreže i reviziju sigurnosti sistema. Nasilni protivnici konzole mogu koristiti Zenmap, koji je GUI za Nmap.
Ovo nije samo "pametni" skener, to je ozbiljan proširivi alat (jedna od "neobičnih karakteristika" je prisustvo skripte za provjeru čvora na prisustvo crva "Stuxnet“ (spomenut ovdje). Tipičan primjer upotrebe:

nmap -A -T4 localhost

-A za otkrivanje verzije OS-a, skeniranje skripte i praćenje
-T4 podešavanje vremena kontrole (više je brže, od 0 do 5)
localhost - ciljni host
Nešto teže?

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

Ovo je skup opcija iz profila "sporo sveobuhvatno skeniranje" u Zenmapu. Potrebno je dosta vremena da se završi, ali na kraju daje detaljnije informacije koje se mogu saznati o ciljnom sistemu. Vodič za pomoć na ruskom, ako odlučite ići dublje, preporučujem i prevođenje članka Vodič za početnike za Nmap.
Nmap je dobio status "Sigurnosnog proizvoda godine" od časopisa i zajednica kao što su Linux Journal, Info World, LinuxQuestions.Org i Codetalker Digest.
Zanimljiva stvar, Nmap se može vidjeti u filmovima “The Matrix Reloaded”, “Umri muški 4”, “The Bourne Ultimatum”, “Hottabych” i drugi.

IP-AlatiPregled besplatnih alata za pentestiranje web resursa i više v2
IP-Alati - neka vrsta skupa različitih mrežnih uslužnih programa, dolazi sa GUI, "namijenjen" korisnicima Windowsa.
Skener portova, zajednički resursi (dijeljeni štampači/folderi), WhoIs/Finger/Lookup, telnet klijent i još mnogo toga. Samo zgodan, brz i funkcionalan alat.

Nema posebnog smisla razmatrati druge proizvode, budući da postoji mnogo uslužnih programa u ovoj oblasti i svi imaju slične principe rada i funkcionalnost. Ipak, nmap ostaje najčešće korišteni.

Skeneri za kršenje web skripte

Pokušavam pronaći popularne propuste (SQL inj, XSS, LFI/RFI, itd.) ili greške (neizbrisane privremene datoteke, indeksiranje direktorija, itd.)

Acunetix Web Skener ranjivostiPregled besplatnih alata za pentestiranje web resursa i više v2
Acunetix Web Skener ranjivosti — sa linka se vidi da je ovo xss skener, ali to nije sasvim tačno. Besplatna verzija, dostupna ovdje, pruža dosta funkcionalnosti. Obično osoba koja prvi put pokrene ovaj skener i prvi put dobije izvještaj o svom resursu doživi lagani šok i shvatit ćete zašto kada to učinite. Ovo je vrlo moćan proizvod za analizu svih vrsta ranjivosti na web stranici i radi ne samo sa uobičajenim PHP web stranicama, već i na drugim jezicima (iako razlika u jeziku nije pokazatelj). Nema posebne svrhe u opisivanju instrukcija, jer skener jednostavno "pohvata" radnje korisnika. Nešto slično kao "sljedeći, sljedeći, sljedeći, spreman" u tipičnoj instalaciji softvera.

NiktoPregled besplatnih alata za pentestiranje web resursa i više v2
Nikto Ovo je Open Source (GPL) web pretraživač. Eliminiše rutinski ručni rad. Pretražuje na ciljnoj stranici neobrisane skripte (neki test.php, index_.php, itd.), alate za administraciju baze podataka (/phpmyadmin/, /pma i slično) itd., odnosno provjerava resurse za najčešće greške obično uzrokovano ljudskim faktorima.
Osim toga, ako pronađe neku popularnu skriptu, provjerava je ima li objavljenih eksploatacija (koji se nalaze u bazi podataka).
Izvještava o dostupnim "neželjenim" metodama kao što su PUT i TRACE
I tako dalje. Vrlo je zgodno ako radite kao revizor i svaki dan analizirate web stranice.
Od minusa, želio bih napomenuti visok postotak lažnih pozitivnih rezultata. Na primjer, ako vaša stranica uvijek daje glavnu grešku umjesto greške 404 (kada bi se trebala pojaviti), onda će skener reći da vaša stranica sadrži sve skripte i sve ranjivosti iz svoje baze podataka. U praksi se to ne dešava tako često, ali zapravo mnogo toga zavisi od strukture vašeg sajta.
Klasična upotreba:

./nikto.pl -host localhost

Ako trebate biti autorizirani na stranici, možete postaviti kolačić u datoteku nikto.conf, varijablu STATIC-COOKIE.

WiktoPregled besplatnih alata za pentestiranje web resursa i više v2
Wikto — Nikto za Windows, ali sa nekim dodacima, kao što je “fuzzy” logika prilikom provjere koda na greške, korištenje GHDB-a, dobijanje linkova i foldera resursa, praćenje HTTP zahtjeva/odgovora u realnom vremenu. Wikto je napisan u C# i zahtijeva .NET framework.

skipfishPregled besplatnih alata za pentestiranje web resursa i više v2
skipfish - skener web ranjivosti od Michal Zalewski (poznat kao lcamtuf). Napisano na C, na više platformi (Za pobjedu je potreban Cygwin). Rekurzivno (i veoma dugo, oko 20~40 sati, iako je zadnji put radio kod mene bilo je 96 sati) pretražuje cijelu stranicu i pronalazi sve vrste sigurnosnih rupa. Takođe generiše mnogo saobraćaja (nekoliko GB dolaznog/odlaznog). Ali sva sredstva su dobra, pogotovo ako imate vremena i resursa.
Tipična upotreba:

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

U folderu “izvještaji” biće izvještaj u html-u, primer.

w3af Pregled besplatnih alata za pentestiranje web resursa i više v2
w3af — Web Application Attack and Audit Framework, open-source skener web ranjivosti. Ima GUI, ali možete raditi sa konzole. Tačnije, to je okvir sa gomila dodataka.
Možete dugo pričati o njegovim prednostima, bolje je isprobati :] Tipičan rad s njim svodi se na odabir profila, određivanje cilja i, zapravo, njegovo pokretanje.

Mantra sigurnosni okvirPregled besplatnih alata za pentestiranje web resursa i više v2
Mantra je san koji se ostvario. Kolekcija besplatnih i otvorenih alata za sigurnost informacija ugrađenih u web pretraživač.
Vrlo korisno pri testiranju web aplikacija u svim fazama.
Upotreba se svodi na instalaciju i pokretanje pretraživača.

U stvari, postoji mnogo uslužnih programa u ovoj kategoriji i prilično je teško odabrati određenu listu s njih. Najčešće svaki pentester sam određuje set alata koji mu je potreban.

Eksploatacija

Za automatizovanu i praktičniju eksploataciju ranjivosti, eksploatacije se pišu u softveru i skriptama, kojima je potrebno samo proslediti parametre da bi se iskoristila bezbednosna rupa. A postoje i proizvodi koji eliminišu potrebu za ručnim traženjem eksploata, pa čak i primjenom u hodu. O ovoj kategoriji će se sada raspravljati.

Metasploit Framework Pregled besplatnih alata za pentestiranje web resursa i više v2
Metasploit® okvir - svojevrsno čudovište u našem poslu. On može učiniti toliko da će upute obuhvatiti nekoliko članaka. Pogledaćemo automatsku eksploataciju (nmap + metasploit). Suština je sledeća: Nmap će analizirati port koji nam je potreban, instalirati servis, a metasploit će pokušati da primeni eksploatacije na njega na osnovu klase usluge (ftp, ssh, itd.). Umjesto tekstualnih instrukcija ubacit ću video, dosta popularan na temu autopwn

Ili možemo jednostavno automatizirati rad eksploatacije koja nam je potrebna. npr.:

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

Zapravo, mogućnosti ovog okvira su veoma opsežne, pa ako odlučite da idete dublje, idite na link

ArmitagePregled besplatnih alata za pentestiranje web resursa i više v2
Armitage — OVA cyberpunk žanra GUI za Metasploit. Vizualizira cilj, preporučuje eksploatacije i pruža napredne karakteristike okvira. Općenito, za one koji vole da sve izgleda lijepo i impresivno.
Screencast:

Tenable Nessus®Pregled besplatnih alata za pentestiranje web resursa i više v2
Održiv Nessus® skener ranjivosti - može učiniti mnogo stvari, ali jedna od mogućnosti koja nam je potrebna je da odredimo koje usluge imaju eksploatacije. Besplatna verzija proizvoda "samo za dom"

Upotreba:

  • Preuzeto (za vaš sistem), instalirano, registrovano (ključ je poslan na vašu e-poštu).
  • Pokrenuo server, dodao korisnika u Nessus Server Manager (dugme Upravljaj korisnicima)
  • Idemo na adresu
    https://localhost:8834/

    i nabavite flash klijent u pretraživaču

  • Skeniranja -> Dodaj -> popunite polja (odabirom profila skeniranja koji nam odgovara) i kliknite Skeniraj

Nakon nekog vremena, izvještaj o skeniranju će se pojaviti na kartici Izvještaji
Da biste provjerili praktičnu ranjivost usluga na eksploatacije, možete koristiti Metasploit Framework opisan gore ili pokušati pronaći eksploataciju (na primjer, na Explot-db, paketna oluja, explot search itd.) i upotrijebite ga ručno protiv njegov sistem
IMHO: previše glomazan. Doveo sam ga kao jednog od lidera u ovom pravcu softverske industrije.

Automatizacija injekcija

Mnogi sec skeneri web aplikacija traže injekcije, ali oni su još uvijek samo opći skeneri. A postoje uslužni programi koji se posebno bave traženjem i iskorištavanjem injekcija. O njima ćemo sada.

sqlmapPregled besplatnih alata za pentestiranje web resursa i više v2
sqlmap — uslužni program otvorenog koda za pretraživanje i iskorištavanje SQL injekcija. Podržava servere baza podataka kao što su: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Tipična upotreba se svodi na sljedeće:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Ima dovoljno priručnika, uključujući i na ruskom. Softver uvelike olakšava rad pentesteru pri radu na ovoj oblasti.
Dodaću zvaničnu video demonstraciju:

bsqlbf-v2
bsqlbf-v2 — perl skripta, brute forcer za “slijepe” Sql injekcije. Radi i sa cjelobrojnim vrijednostima u url-u i sa vrijednostima niza.
Podržana baza podataka:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • proročanstvo

Primjer upotrebe:

./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 — Veza sa parametrima
-blind u — parametar za ubrizgavanje (podrazumevano, poslednji se uzima iz adresne trake)
-sql "odaberi ime_tablice iz imformation_schema.tables limit 1 offset 0" — naš proizvoljni zahtjev bazi podataka
-baza podataka 1 — server baze podataka: MSSQL
- tip 1 — vrsta napada, „slijepa“ injekcija, zasnovana na odgovorima True i Error (na primjer, sintaksičke greške)

Debuggers

Ove alate uglavnom koriste programeri kada imaju problema s rezultatima izvršavanja svog koda. Ali ovaj smjer je također koristan za pentestiranje, kada možemo zamijeniti podatke koji su nam potrebni u hodu, analizirati šta dolazi kao odgovor na naše ulazne parametre (na primjer, tokom fuzinga) itd.

Burp Suite
Burp Suite — skup uslužnih programa koji pomažu u testovima penetracije. Na internetu je dobra recenzija na ruskom iz Raz0r (iako za 2008).
Besplatna verzija uključuje:

  • Burp Proxy je lokalni proxy koji vam omogućava da modifikujete već generisane zahteve iz pretraživača
  • Burp Spider - pauk, traži postojeće datoteke i direktorije
  • Burp Repeater - ručno slanje HTTP zahtjeva
  • Burp Sequencer - analizira nasumične vrijednosti u oblicima
  • Burp Decoder je standardni koder-dekoder (html, base64, hex, itd.), kojih ima na hiljade, koji se mogu brzo napisati na bilo kom jeziku
  • Burp Comparer - Komponenta za poređenje nizova

U principu, ovaj paket rješava gotovo sve probleme vezane za ovu oblast.

FiddlerPregled besplatnih alata za pentestiranje web resursa i više v2
Fiddler — Fiddler je proxy za otklanjanje grešaka koji evidentira sav HTTP(S) promet. Omogućava vam da ispitate ovaj promet, postavite tačke prekida i „igrate se“ sa dolaznim ili odlaznim podacima.

Takođe postoji Vatrena ovca, čudovište Wireshark i drugi, izbor je na korisniku.

zaključak

Naravno, svaki pentester ima svoj arsenal i svoj skup uslužnih programa, jer ih jednostavno ima puno. Pokušao sam da navedem neke od najzgodnijih i najpopularnijih. Ali da bi se svako mogao upoznati s drugim uslužnim programima u ovom smjeru, navest ću linkove u nastavku.

Različiti vrhovi/liste skenera i uslužnih programa

Linux distribucije koje već uključuju gomilu različitih uslužnih programa za pentestiranje

ažuriranje: BurpSuite dokumentacija na ruskom iz tima „Hack4Sec“ (dodato AntonKuzmin)

PS Ne možemo šutjeti o XSpideru. Ne učestvuje u recenziji, iako je shareware (saznao sam kada sam poslao članak u SecLab, zapravo zbog ovoga (ne znanja, i nedostatka najnovije verzije 7.8) i nisam ga uključio u članak). I u teoriji je planirana revizija (imam pripremljene teške testove za to), ali ne znam da li će svijet to vidjeti.

PPS Neki materijali iz članka će se koristiti za namjeravanu svrhu u narednom izvještaju na CodeFest 2012 u QA odjeljku, koji će sadržavati alate koji ovdje nisu spomenuti (besplatne, naravno), kao i algoritam, kojim redoslijedom šta koristiti, kakav rezultat očekivati, koje konfiguracije koristiti i sve vrste savjeta i trikova kada radim (razmišljam o izvještaju skoro svaki dan, trudiću se da vam kažem sve najbolje o temi)
Usput, bila je lekcija o ovom članku na Otvorite InfoSec Days (tag na Habréu, web stranica), može opljačkati Korovane pogledaj materijali.

izvor: www.habr.com

Dodajte komentar