Prije nekog vremena sam pisao o , 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 za savjet) i poslali ga na natječaj na SecLabu (i objavili , 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:
- Mrežni skeneri
- Skeneri za provjeru web skripti
- iskorištavanje
- Automatizacija ubrizgavanja
- 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.
Nmap
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 "" (spomenuto ). 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. , ako odlučite ići dublje, preporučam i prijevod članka .
Nmap je dobio status "Sigurnosnog proizvoda godine" od strane časopisa i društava kao što su Linux Časopis, Info svijet, LinuxQuestions.Org i Codetalker Digest.
Zanimljivo, Nmap se može vidjeti u filmovima “The Matrix Reloaded”, “Die Hard 4”, “The Bourne Ultimatum”, “Hottabych” i .
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 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.
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.
Vikto
- Nikto ispod Windows, ali s nekim dodacima, kao što su fuzzy logika za provjeru pogrešaka, korištenje GHDB-a, dohvaćanje poveznica i mapa resursa te praćenje HTTP zahtjeva/odgovora u stvarnom vremenu. Wikto je napisan u C# i zahtijeva .NET framework.
skipfish
- skener web ranjivosti iz (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, .
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 .
Mogao bih unedogled pričati o njegovim prednostima, ali bolje je isprobati ga :]
Tipičan rad s njim svodi se na odabir profila, određivanje cilja i, zapravo, njegovo pokretanje.
Sigurnosni okvir 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 
- 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
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®
- 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 , , 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.
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
— 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 — 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
— skup uslužnih programa koji pomažu u testovima prodora. Na Internetu je 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.
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 , čudovište 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
- .
distribucije Linux, koji već uključuju hrpu različitih alata za testiranje penetracije
ažuriranje: na ruskom od tima “Hack4Sec” (dodan )
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 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 (, ), limenka opljačkaju Korovane Pogledaj .
Izvor: www.habr.com
