Pregled brezplačnih orodij za pentestiranje spletnih virov in več v2

Pred časom sem pisal o to, a malo skromno in kaotično. Nato sem se odločil razširiti seznam orodij v pregledu, dodati strukturo članku in upoštevati kritike (hvala Lefty za nasvet) in ga poslali na natečaj na SecLab (in objavili povezavo, vendar je iz očitnih razlogov nihče ni videl). Natečaj je končan, rezultati so objavljeni in mirne vesti ga (članek) lahko objavim na Habréju.

Brezplačna spletna aplikacija Pentester Tools

V tem članku bom govoril o najbolj priljubljenih orodjih za pentesting (penetracijske teste) spletnih aplikacij z uporabo strategije "črne skrinjice".
Da bi to naredili, si bomo ogledali pripomočke, ki bodo pomagali pri tej vrsti testiranja. Razmislite o naslednjih kategorijah izdelkov:

  1. Omrežni skenerji
  2. Skenerji kršitev spletnih skriptov
  3. Izkoriščanje
  4. Avtomatizacija vbrizgavanja
  5. Razhroščevalniki (vohalniki, lokalni posredniki itd.)


Nekateri izdelki imajo univerzalen “karakter”, zato jih bom uvrstila v kategorijo, v kateri imajo aоboljši rezultat (subjektivno mnenje).

Omrežni skenerji.

Glavna naloga je odkriti razpoložljive omrežne storitve, namestiti njihove različice, določiti OS itd.

NmapPregled brezplačnih orodij za pentestiranje spletnih virov in več v2
Nmap ("Network Mapper") je brezplačen in odprtokoden pripomoček za analizo omrežja in revizijo varnosti sistema. Nasilni nasprotniki konzole lahko uporabljajo Zenmap, ki je GUI za Nmap.
To ni le "pameten" skener, je resno razširljivo orodje (ena od "nenavadnih lastnosti" je prisotnost skripta za preverjanje vozlišča za prisotnost črva "Stuxnet« (omenjeno tukaj). Tipičen primer uporabe:

nmap -A -T4 localhost

-A za zaznavanje različic OS, skeniranje skriptov in sledenje
-T4 nastavitev časovnega nadzora (več je hitreje, od 0 do 5)
localhost - ciljni gostitelj
Nekaj ​​težjega?

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

To je nabor možnosti iz profila "počasnega celovitega skeniranja" v Zenmapu. Dokončanje traja precej časa, vendar na koncu nudi podrobnejše informacije, ki jih je mogoče najti o ciljnem sistemu. Vodnik za pomoč v ruščini, če se odločite poglobiti, priporočam tudi prevod članka Vodnik za začetnike po Nmapu.
Revije in skupnosti, kot so Linux Journal, Info World, LinuxQuestions.Org in Codetalker Digest, so Nmap prejeli status "Varnostni izdelek leta".
Zanimiva točka, Nmap je mogoče videti v filmih "The Matrix Reloaded", "Die Hard 4", "The Bourne Ultimatum", "Hottabych" in drugo.

IP-ToolsPregled brezplačnih orodij za pentestiranje spletnih virov in več v2
IP-Tools - nekakšen niz različnih omrežnih pripomočkov, opremljen z grafičnim uporabniškim vmesnikom, "namenjen" uporabnikom sistema Windows.
Skener vrat, viri v skupni rabi (tiskalniki/mape v skupni rabi), WhoIs/Finger/Lookup, odjemalec telnet in še veliko več. Samo priročno, hitro, funkcionalno orodje.

Nima smisla razmišljati o drugih izdelkih, saj je na tem področju veliko pripomočkov in vsi imajo podobna načela delovanja in funkcionalnosti. Kljub temu nmap ostaja najpogosteje uporabljen.

Skenerji kršitev spletnih skriptov

Poskuša najti priljubljene ranljivosti (SQL inj, XSS, LFI/RFI itd.) ali napake (neizbrisane začasne datoteke, indeksiranje imenikov itd.)

Acunetix Spletni bralnik ranljivostiPregled brezplačnih orodij za pentestiranje spletnih virov in več v2
Acunetix Spletni bralnik ranljivosti — iz povezave je razvidno, da je to xss skener, vendar to ni povsem res. Brezplačna različica, ki je na voljo tukaj, ponuja precej funkcionalnosti. Običajno oseba, ki prvič zažene ta skener in prvič prejme poročilo o svojem viru, doživi rahel šok in razumeli boste, zakaj, ko boste to storili. To je zelo močan izdelek za analizo vseh vrst ranljivosti na spletnem mestu in ne deluje samo z običajnimi spletnimi mesti PHP, ampak tudi v drugih jezikih (čeprav razlika v jeziku ni pokazatelj). Ni posebnega smisla opisovati navodila, saj optični bralnik preprosto "pobere" dejanja uporabnika. Nekaj ​​podobnega "naslednji, naslednji, naslednji, pripravljen" v tipični namestitvi programske opreme.

NiktoPregled brezplačnih orodij za pentestiranje spletnih virov in več v2
Nikto To je odprtokodni spletni pajek (GPL). Odpravlja rutinsko ročno delo. Išče na ciljnem mestu neizbrisane skripte (nekateri test.php, index_.php itd.), skrbniška orodja za baze podatkov (/phpmyadmin/, /pma in podobno) itd., to pomeni, da vir preveri za najpogostejše napake običajno zaradi človeških dejavnikov.
Poleg tega, če najde kakšen priljubljen skript, ga preveri za izdane podvige (ki so v bazi podatkov).
Poroča o razpoložljivih "neželenih" metodah, kot sta PUT in TRACE
In tako naprej. Zelo priročno je, če delate kot revizor in vsak dan analizirate spletna mesta.
Od minusov bi rad omenil visok odstotek lažnih pozitivnih rezultatov. Na primer, če vaše spletno mesto vedno prikaže glavno napako namesto napake 404 (ko bi se morala pojaviti), bo skener povedal, da vaše spletno mesto vsebuje vse skripte in vse ranljivosti iz svoje baze podatkov. V praksi se to ne dogaja tako pogosto, a kot dejstvo je veliko odvisno od strukture vaše strani.
Klasična uporaba:

./nikto.pl -host localhost

Če morate biti avtorizirani na spletnem mestu, lahko nastavite piškotek v datoteki nikto.conf, spremenljivka STATIC-COOKIE.

WiktoPregled brezplačnih orodij za pentestiranje spletnih virov in več v2
Wikto — Nikto za Windows, vendar z nekaterimi dodatki, kot je »mehka« logika pri preverjanju kode za napake, uporaba GHDB, pridobivanje povezav in map z viri, spremljanje HTTP zahtev/odgovorov v realnem času. Wikto je napisan v C# in zahteva ogrodje .NET.

skipfishPregled brezplačnih orodij za pentestiranje spletnih virov in več v2
skipfish - pregledovalnik spletnih ranljivosti iz Michal Zalewski (znan kot lcamtuf). Napisano v C, več platform (Win zahteva Cygwin). Rekurzivno (in zelo dolgo, približno 20~40 ur, čeprav je nazadnje zame delovalo 96 ur) preišče celotno spletno mesto in najde vse vrste varnostnih lukenj. Ustvari tudi veliko prometa (več GB dohodnih/odhodnih). Toda vsa sredstva so dobra, še posebej, če imate čas in sredstva.
Tipična uporaba:

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

V mapi “poročila” bo poročilo v html, Primer.

w3af Pregled brezplačnih orodij za pentestiranje spletnih virov in več v2
w3af — Ogrodje za napad in revizijo spletnih aplikacij, odprtokodni pregledovalnik spletnih ranljivosti. Ima GUI, vendar lahko delate s konzole. Natančneje, gre za okvir z kup vtičnikov.
O njegovih prednostih lahko govorite dolgo, bolje je, da ga preizkusite :] Običajno delo z njim se zmanjša na izbiro profila, določitev cilja in pravzaprav njegovo zagon.

Varnostni okvir MantraPregled brezplačnih orodij za pentestiranje spletnih virov in več v2
Mantra so sanje, ki so se uresničile. Zbirka brezplačnih in odprtih orodij za varnost informacij, vgrajenih v spletni brskalnik.
Zelo uporabno pri testiranju spletnih aplikacij na vseh stopnjah.
Uporaba se zmanjša na namestitev in zagon brskalnika.

Pravzaprav je v tej kategoriji veliko pripomočkov in med njimi je precej težko izbrati določen seznam. Najpogosteje vsak pentester sam določi nabor orodij, ki jih potrebuje.

Izkoriščanje

Za avtomatizirano in bolj priročno izkoriščanje ranljivosti so izkoriščanja zapisana v programski opremi in skriptah, ki jim je treba le posredovati parametre, da lahko izkoristijo varnostno luknjo. In obstajajo izdelki, ki odpravljajo potrebo po ročnem iskanju podvigov in jih celo uporabljajo sproti. O tej kategoriji bomo zdaj razpravljali.

Metasploit Framework Pregled brezplačnih orodij za pentestiranje spletnih virov in več v2
Ogrodje Metasploit® - neke vrste pošast v našem poslu. Zmore toliko, da bodo navodila zajemala več členov. Ogledali si bomo samodejno izkoriščanje (nmap + metasploit). Bistvo je naslednje: Nmap bo analiziral vrata, ki jih potrebujemo, namestil storitev, metasploit pa bo poskusil zanjo uporabiti izkoriščanja glede na razred storitve (ftp, ssh itd.). Namesto besedilnih navodil bom vstavil video, ki je precej priljubljen na temo autopwn

Lahko pa preprosto avtomatiziramo delovanje exploita, ki ga potrebujemo. 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

Dejansko so zmožnosti tega ogrodja zelo obsežne, zato, če se odločite poglobiti, pojdite na povezava

ArmitagePregled brezplačnih orodij za pentestiranje spletnih virov in več v2
Armitage — OVA GUI žanra cyberpunk za Metasploit. Vizualizira cilj, priporoča izkoriščanja in nudi napredne funkcije ogrodja. Na splošno za tiste, ki radi vse izgledajo lepo in impresivno.
Screencast:

Trden Nessus®Pregled brezplačnih orodij za pentestiranje spletnih virov in več v2
Tenable Nessus® skener ranljivosti - lahko počne veliko stvari, vendar je ena od njegovih zmogljivosti, ki jih potrebujemo, ugotavljanje, katere storitve imajo izkoriščanja. Brezplačna različica izdelka “samo doma”

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

  • Preneseno (za vaš sistem), nameščeno, registrirano (ključ je poslan na vaš e-poštni naslov).
  • Zagnal strežnik, dodal uporabnika v Nessus Server Manager (gumb za upravljanje uporabnikov)
  • Gremo na naslov
    https://localhost:8834/

    in dobite odjemalca flash v brskalniku

  • Scans -> Add -> izpolnite polja (z izbiro profila skeniranja, ki nam ustreza) in kliknite Scan

Čez nekaj časa se poročilo o pregledu prikaže na zavihku Poročila
Če želite preveriti praktično ranljivost storitev za izkoriščanja, lahko uporabite zgoraj opisano ogrodje Metasploit ali poskusite najti izkoriščanje (na primer na Explot-db, paketna nevihta, explot iskanje itd.) in ga ročno uporabite proti njegov sistem
IMHO: preveč zajetno. Pripeljal sem ga kot enega vodilnih v tej smeri programske industrije.

Avtomatizacija vbrizgavanja

Številni skenerji spletnih aplikacij iščejo injekcije, vendar so še vedno samo splošni skenerji. In obstajajo pripomočki, ki se posebej ukvarjajo z iskanjem in izkoriščanjem injekcij. O njih bomo zdaj govorili.

sqlmapPregled brezplačnih orodij za pentestiranje spletnih virov in več v2
sqlmap — odprtokodni pripomoček za iskanje in izkoriščanje SQL injekcij. Podpira strežnike baz podatkov, kot so: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Običajna uporaba se skrči na vrstico:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Priročnikov je dovolj, tudi v ruščini. Programska oprema močno olajša delo pentesterja pri delu na tem področju.
Dodal bom uradno video predstavitev:

bsqlbf-v2
bsqlbf-v2 — perl skript, brute forcer za "slepe" injekcije Sql. Deluje tako s celimi vrednostmi v URL-ju kot z vrednostmi nizov.
Podprta zbirka podatkov:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracle

Primer uporabe:

./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 — Povezava s parametri
- slepi u — parameter za vbrizgavanje (privzeto je zadnji vzet iz naslovne vrstice)
-sql "izberi ime_tabele iz imformation_schema.tables limit 1 offset 0" — naša samovoljna zahteva v bazi podatkov
- baza podatkov 1 — strežnik baze podatkov: MSSQL
-tip 1 — vrsta napada, »slepa« injekcija, ki temelji na odgovorih True in Error (na primer sintaksne napake)

Odpravljalci napak

Ta orodja uporabljajo predvsem razvijalci, ko imajo težave z rezultati izvajanja kode. Toda ta smer je uporabna tudi za pentesting, ko lahko sproti zamenjamo podatke, ki jih potrebujemo, analiziramo, kaj pride kot odgovor na naše vhodne parametre (na primer med fuzzingom) itd.

Apartma Burp
Apartma Burp — niz pripomočkov, ki pomagajo pri testih prodora. Na internetu je dober pregled v ruščini iz Raz0r (čeprav za 2008).
Brezplačna različica vključuje:

  • Burp Proxy je lokalni proxy, ki vam omogoča spreminjanje že ustvarjenih zahtev iz brskalnika
  • Burp Spider - pajek, išče obstoječe datoteke in imenike
  • Burp Repeater - ročno pošiljanje HTTP zahtev
  • Burp Sequencer - analiziranje naključnih vrednosti v obrazcih
  • Burp Decoder je standardni kodirnik-dekoder (html, base64, hex, itd.), ki jih je na tisoče in jih je mogoče hitro napisati v kateri koli jezik
  • Burp Comparer – komponenta za primerjavo nizov

Načeloma ta paket rešuje skoraj vse probleme, povezane s tem področjem.

FiddlerPregled brezplačnih orodij za pentestiranje spletnih virov in več v2
Fiddler — Fiddler je proxy za odpravljanje napak, ki beleži ves promet HTTP(S). Omogoča vam, da pregledate ta promet, nastavite prekinitvene točke in se "igrate" z dohodnimi ali odhodnimi podatki.

Obstaja tudi Ognjena ovca, pošast Wireshark in drugi, izbira je prepuščena uporabniku.

Zaključek

Seveda ima vsak pentester svoj arzenal in svoj nabor pripomočkov, saj jih je preprosto veliko. Poskušal sem našteti nekaj najbolj priročnih in priljubljenih. Da pa se lahko kdorkoli seznani z drugimi pripomočki v tej smeri, bom spodaj navedel povezave.

Različni vrhovi/seznami skenerjev in pripomočkov

Distribucije Linuxa, ki že vključujejo kup različnih pripomočkov za pentestiranje

upd: Dokumentacija BurpSuite v ruščini od ekipe “Hack4Sec” (dodano AntonKuzmin)

PS O XSpiderju ne moremo molčati. Ne sodeluje pri pregledu, čeprav je shareware (sem ugotovil, ko sem poslal članek na SecLab, pravzaprav zaradi tega (ne znanja in pomanjkanja najnovejše različice 7.8) in ga nisem vključil v članek). In v teoriji je bil načrtovan njegov pregled (za to imam pripravljene težke teste), vendar ne vem, ali ga bo svet videl.

PPS Nekaj ​​gradiva iz članka bo uporabljeno za predvideni namen v prihajajočem poročilu na CodeFest 2012 v razdelku QA, ki bo vseboval orodja, ki tukaj niso omenjena (seveda brezplačna), pa tudi algoritem, v kakšnem vrstnem redu kaj uporabiti, kakšen rezultat pričakovati, katere konfiguracije uporabiti in vse vrste namigov in trikov, ko delam (skoraj vsak dan razmišljam o poročilu, poskušal vam bom povedati vse najboljše o temi teme)
Mimogrede, na tem članku je bila lekcija Open InfoSec Days (oznako na Habréju, Spletna stran), Lahko oropati Korovane Poglej Materiali.

Vir: www.habr.com

Dodaj komentar