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

Prije nekog vremena sam pisao o ovo, ali pomalo oskudno i kaotično. Nakon toga sam odlučio proširiti popis alata u recenziji, dodati strukturu članku i uzeti u obzir kritike (puno hvala Lefty za savjet) i poslali ga na natječaj na SecLabu (i objavili veza, ali iz očitih razloga nitko je nije vidio). Natječaj je završen, rezultati su objavljeni i mirne savjesti mogu ga (članak) objaviti na Habréu.

Besplatna web aplikacija Pentester Tools

U ovom ću članku govoriti o najpopularnijim alatima za pentesting (testiranje prodora) 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 provjeru web skripti
  3. iskorištavanje
  4. Automatizacija ubrizgavanja
  5. Programi za otklanjanje pogrešaka (sniferi, lokalni proxyji itd.)


Neki proizvodi imaju univerzalni “karakter” pa ću ih svrstati u kategoriju u kojoj imajuо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 sustava. Nasilni protivnici konzole mogu koristiti Zenmap, koji je GUI za Nmap.
Ovo nije samo "pametan" skener, to je ozbiljan proširiv alat (jedna od "neobičnih značajki" je prisutnost skripte za provjeru čvora na prisutnost crva "Stuxnet" (spomenuto ovdje). Tipičan primjer upotrebe:

nmap -A -T4 localhost

-A za otkrivanje verzije OS-a, skeniranje skripti i praćenje
-T4 postavka kontrole vremena (više je brže, od 0 do 5)
localhost - ciljani 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 u konačnici daje detaljnije informacije koje se mogu saznati o ciljnom sustavu. Vodič za pomoć na ruskom, ako odlučite ići dublje, preporučam i prijevod članka Vodič za Nmap za početnike.
Nmap je dobio status "Sigurnosni proizvod godine" od časopisa i zajednica kao što su Linux Journal, Info World, LinuxQuestions.Org i Codetalker Digest.
Zanimljivo, Nmap se može vidjeti u filmovima “The Matrix Reloaded”, “Die Hard 4”, “The Bourne Ultimatum”, “Hottabych” i drugi.

IP-ToolsPregled besplatnih alata za pentestiranje web resursa i više v2
IP-Tools - neka vrsta skupa različitih mrežnih uslužnih programa, dolazi s GUI-jem, "posvećenim" korisnicima Windowsa.
Port skener, dijeljeni resursi (dijeljeni pisači/mape), WhoIs/Finger/Lookup, telnet klijent i još mnogo toga. Samo praktičan, brz, funkcionalan alat.

Nema posebnog smisla razmatrati druge proizvode, budući da postoji mnogo uslužnih programa u ovom području i svi imaju slična načela rada i funkcionalnosti. Ipak, nmap ostaje najčešće korišten.

Skeneri za provjeru web skripti

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

Acunetix skener za ranjivost na webuPregled besplatnih alata za pentestiranje web resursa i više v2
Acunetix skener za ranjivost na webu — na linku možete vidjeti da se radi o xss skeneru, ali to nije sasvim točno. Besplatna inačica, dostupna ovdje, pruža dosta funkcionalnosti. Obično osoba koja prvi put pokrene ovaj skener i prvi put dobije izvješće o svom resursu doživi blagi šok, a 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 s uobičajenim PHP web stranicama, već i na drugim jezicima (iako razlika u jeziku nije pokazatelj). Nema posebne svrhe opisivati ​​upute, jer skener jednostavno "pokupi" radnje korisnika. Nešto slično "sljedeće, sljedeće, sljedeće, spremno" u tipičnoj instalaciji softvera.

NiktoPregled besplatnih alata za pentestiranje web resursa i više v2
Nikto Ovo je alat za indeksiranje weba otvorenog koda (GPL). Eliminira rutinski ručni rad. Pretražuje ciljno mjesto u potrazi za neobrisanim skriptama (neke test.php, index_.php itd.), alatima za administraciju baze podataka (/phpmyadmin/, /pma i slično) itd., odnosno provjerava izvor za najčešće greške obično uzrokovan ljudskim čimbenicima.
Osim toga, ako pronađe neku popularnu skriptu, provjerava ima li objavljenih exploita (koji su 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žno pozitivnih rezultata. Na primjer, ako vaša stranica uvijek daje glavnu pogrešku umjesto pogreške 404 (kada bi se trebala pojaviti), tada će skener reći da vaša stranica sadrži sve skripte i sve ranjivosti iz svoje baze podataka. U praksi se to ne događa tako često, ali zapravo puno ovisi o strukturi vaše stranice.
Klasična upotreba:

./nikto.pl -host localhost

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

ViktoPregled besplatnih alata za pentestiranje web resursa i više v2
Vikto — Nikto za Windows, ali s nekim dodacima, kao što je "fuzzy" logika prilikom provjere pogrešaka koda, korištenje GHDB-a, dobivanje poveznica i mapa resursa, praćenje HTTP zahtjeva/odgovora u stvarnom vremenu. Wikto je napisan u C# i zahtijeva .NET okvir.

skipfishPregled besplatnih alata za pentestiranje web resursa i više v2
skipfish - skener web ranjivosti iz Michal Zalewski (poznat kao lcamtuf). Napisano u C-u, više platformi (Win zahtijeva Cygwin). Rekurzivno (i jako dugo, oko 20~40 sati, iako mi je posljednji put radio 96 sati) indeksira cijelu stranicu i pronalazi razne sigurnosne rupe. Također stvara mnogo prometa (nekoliko GB dolaznih/odlaznih). Ali sva su sredstva dobra, pogotovo ako imate vremena i sredstava.
Tipična upotreba:

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

U mapi “izvješća” bit će izvješće u html-u, primjer.

w3af Pregled besplatnih alata za pentestiranje web resursa i više v2
w3af — Okvir napada i revizije web aplikacija, skener web ranjivosti otvorenog koda. Ima GUI, ali možete raditi s konzole. Točnije, to je okvir sa hrpa dodataka.
O njegovim prednostima možete pričati dugo, bolje je isprobati :] Uobičajeni rad s njim svodi se na odabir profila, određivanje cilja i, zapravo, njegovo pokretanje.

Sigurnosni okvir MantraPregled besplatnih alata za pentestiranje web resursa i više v2
Mantra je san koji se ostvario. Zbirka besplatnih i otvorenih alata za sigurnost informacija ugrađenih u web preglednik.
Vrlo korisno pri testiranju web aplikacija u svim fazama.
Korištenje se svodi na instaliranje i pokretanje preglednika.

Zapravo, postoji mnogo uslužnih programa u ovoj kategoriji i prilično je teško odabrati određeni popis s njih. Najčešće, svaki pentester sam određuje skup alata koji su mu potrebni.

iskorištavanje

Za automatizirano i praktičnije iskorištavanje ranjivosti, iskorištavanja su napisana u softveru i skriptama, kojima je potrebno samo proslijediti parametre kako bi se iskoristila sigurnosna rupa. A tu su i proizvodi koji eliminiraju potrebu za ručnim traženjem eksploatacija, pa čak i njihovu primjenu u hodu. Sada će se raspravljati o ovoj kategoriji.

Metasploit Framework Pregled besplatnih alata za pentestiranje web resursa i više v2
Okvir Metasploit® - neka vrsta čudovišta u našem poslu. On može toliko toga da će upute obuhvatiti nekoliko članaka. Pogledat ćemo automatsku eksploataciju (nmap + metasploit). Suština je sljedeća: Nmap će analizirati port koji nam treba, instalirati uslugu, a metasploit će pokušati primijeniti exploite na nju na temelju klase usluge (ftp, ssh, itd.). Umjesto tekstualnih uputa, ubacit ću video, prilično popularan na temu autopwn

Ili možemo jednostavno automatizirati rad exploita koji nam je potreban. 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 vrlo opsežne, pa ako odlučite ići dublje, idite na link

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

Održivi Nessus®Pregled besplatnih alata za pentestiranje web resursa i više v2
Tenable Nessus® skener ranjivosti - može učiniti puno stvari, ali jedna od sposobnosti koje trebamo od njega je određivanje koje usluge imaju exploite. Besplatna verzija proizvoda “samo kod kuće”

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

  • Preuzeto (za vaš sustav), instalirano, registrirano (ključ se šalje na vaš e-mail).
  • Pokrenuo poslužitelj, dodao korisnika u Nessus Server Manager (gumb Upravljanje korisnicima)
  • Idemo na adresu
    https://localhost:8834/

    i nabavite flash klijent u pregledniku

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

Nakon nekog vremena, izvješće o skeniranju pojavit će se na kartici Izvješća
Kako biste provjerili praktičnu ranjivost usluga na iskorištavanje, možete upotrijebiti gore opisani Metasploit Framework ili pokušati pronaći iskorištavanje (na primjer, na Explot-db, oluja paketa, explot search itd.) i koristite ga ručno protiv njegov sustav
IMHO: previše glomazan. Doveo sam ga kao jednog od lidera u ovom smjeru softverske industrije.

Automatizacija ubrizgavanja

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

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 poslužitelje baza podataka kao što su: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Uobičajena uporaba svodi se na redak:

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 ovom području.
Dodat ću službenu video demonstraciju:

bsqlbf-v2
bsqlbf-v2 — perl skripta, brute forcer za "slijepe" Sql injekcije. Radi i s cjelobrojnim vrijednostima u url-u i s 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 s parametrima
-slijepi u — parametar za ubrizgavanje (prema zadanim postavkama posljednji se uzima iz adresne trake)
-sql "odaberite table_name iz imformation_schema.tables limit 1 offset 0" — naš proizvoljni zahtjev prema bazi podataka
- baza podataka 1 — poslužitelj baze podataka: MSSQL
-tip 1 — vrsta napada, "slijepo" ubacivanje, temeljeno na odgovorima True i Error (na primjer, sintaktičke pogreške)

Debuggers

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

Suite podrigivanja
Suite podrigivanja — skup uslužnih programa koji pomažu u testovima prodora. Na Internetu je dobra recenzija na ruskom od Raz0r (doduše za 2008).
Besplatna verzija uključuje:

  • Burp Proxy je lokalni proxy koji vam omogućuje izmjenu već generiranih zahtjeva iz preglednika
  • Burp Spider - pauk, traži postojeće datoteke i direktorije
  • Burp Repeater - ručno slanje HTTP zahtjeva
  • Burp Sequencer - analizira slučajne vrijednosti u obrascima
  • Burp Decoder je standardni koder-dekoder (html, base64, hex, itd.), kojih ima na tisuće, koji se mogu brzo napisati na bilo kojem jeziku
  • Burp Comparer - komponenta za usporedbu nizova

U principu, ovaj paket rješava gotovo sve probleme vezane za ovo područje.

ViolinistaPregled besplatnih alata za pentestiranje web resursa i više v2
Violinista — Fiddler je proxy za otklanjanje pogrešaka koji bilježi sav HTTP(S) promet. Omogućuje vam ispitivanje ovog prometa, postavljanje prijelomnih točaka i "igranje" s dolaznim ili odlaznim podacima.

Tu je i Vatrena ovca, čudovište Wireshark i drugi, izbor je na korisniku.

Zaključak

Naravno, svaki pentester ima svoj vlastiti arsenal i vlastiti skup uslužnih programa, budući da ih jednostavno ima puno. Pokušao sam navesti neke od najprikladnijih i najpopularnijih. Ali kako bi se svatko mogao upoznati s drugim uslužnim programima u ovom smjeru, u nastavku ću dati veze.

Razni vrhovi/popisi skenera i uslužnih programa

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

ažuriranje: Dokumentacija za BurpSuite na ruskom od tima “Hack4Sec” (dodan AntonKuzmin)

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

PPS Neki materijali iz članka bit će korišteni za namjeravanu svrhu u nadolazećem izvješću na CodeFest 2012 u odjeljku QA, koji će sadržavati alate koji se ovdje ne spominju (besplatni, naravno), kao i algoritam, kojim redoslijedom što koristiti, kakav rezultat očekivati, koje konfiguracije koristiti i sve vrste savjeta i trikova kada radim (gotovo svaki dan razmišljam o izvješću, pokušat ću vam reći sve najbolje o temi temi)
Usput, bila je lekcija o ovom članku na Open InfoSec Days (oznaka na Habréu, web stranica), limenka opljačkaju Korovane Pogledaj Materijali.

Izvor: www.habr.com

Dodajte komentar