Web alati ili odakle bi pentester trebao početi?

Nastavljamo pričajte o korisnim alatima za pentestere. U novom članku ćemo pogledati alate za analizu sigurnosti web aplikacija.

Naš kolega BeLove Već sam uradio ovako nešto kompilacija prije otprilike sedam godina. Zanimljivo je vidjeti koji su alati zadržali i ojačali svoje pozicije, a koji su izblijedjeli u drugi plan i sada se rijetko koriste.
Web alati ili odakle bi pentester trebao početi?

Imajte na umu da ovo također uključuje Burp Suite, ali će postojati posebna publikacija o njemu i njegovim korisnim dodacima.

Sadržaj:

Amas

Amas - Go alat za pretraživanje i nabrajanje DNS poddomena i mapiranje vanjske mreže. Amass je OWASP projekat dizajniran da pokaže kako organizacije na Internetu izgledaju autsajderu. Amass dobija imena poddomena na različite načine; alat koristi i rekurzivno nabrajanje poddomena i pretraživanja otvorenog koda.

Da bi otkrio međusobno povezane mrežne segmente i brojeve autonomnog sistema, Amass koristi IP adrese dobijene tokom rada. Sve pronađene informacije koriste se za izradu mrežne mape.

Pros:

  • Tehnike prikupljanja informacija uključuju:
    * DNS - rečničko pretraživanje poddomena, bruteforce poddomena, pametna pretraga korišćenjem mutacija na osnovu pronađenih poddomena, obrnuti DNS upiti i traženje DNS servera na kojima je moguće izvršiti zahtev za prenos zone (AXFR);

    * Pretraga otvorenog koda - Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRAarchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Pretraga baza podataka TLS certifikata - Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Korišćenje API-ja pretraživača - BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Pretražujte internetske web arhive: ArchiveIt, ArchiveToday, Arquivo, LoCAarchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integracija sa Maltegom;
  • Pruža najpotpuniju pokrivenost zadatka traženja DNS poddomena.

Cons:

  • Budite oprezni s amass.netdomains - pokušat će kontaktirati svaku IP adresu u identificiranoj infrastrukturi i dobiti imena domena iz obrnutih DNS pretraživanja i TLS certifikata. Ovo je tehnika "visokog profila", ona može otkriti vaše obavještajne aktivnosti u organizaciji pod istragom.
  • Velika potrošnja memorije, može potrošiti do 2 GB RAM-a u različitim postavkama, što vam neće omogućiti pokretanje ovog alata u oblaku na jeftinom VDS-u.

Web alati ili odakle bi pentester trebao početi?

Altdns

Altdns — Python alat za kompajliranje rječnika za nabrajanje DNS poddomena. Omogućava vam da generišete mnoge varijante poddomena koristeći mutacije i permutacije. Za to se koriste riječi koje se često nalaze u poddomenama (na primjer: test, dev, staging), sve mutacije i permutacije se primjenjuju na već poznate poddomene, koje se mogu predati na Altdns ulaz. Izlaz je lista varijacija poddomena koje mogu postojati, a ova lista se kasnije može koristiti za DNS brute force.

Pros:

  • Dobro radi sa velikim skupovima podataka.

aquatone

aquatone - ranije je bio poznatiji kao još jedan alat za pretraživanje poddomena, ali je sam autor to odustao u korist spomenutog Amassa. Sada je aquatone prepisan u Go i više je usmjeren ka preliminarnom izviđanju na web stranicama. Da bi to učinio, aquatone prolazi kroz navedene domene i traži web stranice na različitim portovima, nakon čega prikuplja sve informacije o web mjestu i snima ekran. Pogodno za brzo preliminarno izviđanje web stranica, nakon čega možete odabrati prioritetne mete za napade.

Pros:

  • Izlaz kreira grupu datoteka i mapa koje su zgodne za korištenje pri daljem radu s drugim alatima:
    * HTML izvještaj sa prikupljenim snimkama ekrana i naslovima odgovora grupisanim po sličnosti;

    * Fajl sa svim URL-ovima na kojima su pronađene web stranice;

    * Fajl sa statistikom i podacima o stranicama;

    * Fascikla s datotekama koje sadrže zaglavlja odgovora iz pronađenih ciljeva;

    * Fascikla sa datotekama koje sadrže tijelo odgovora pronađenih ciljeva;

    * Snimke ekrana pronađenih web stranica;

  • Podržava rad sa XML izvještajima iz Nmap-a i Masscan-a;
  • Koristi Chrome/Chromium bez glave za renderiranje snimaka ekrana.

Cons:

  • Može privući pažnju sistema za otkrivanje upada, pa je potrebna konfiguracija.

Snimak ekrana je napravljen za jednu od starih verzija aquatone-a (v0.5.0), u kojoj je implementirano pretraživanje DNS poddomena. Starije verzije možete pronaći na stranica izdanja.
Web alati ili odakle bi pentester trebao početi?

MassDNS

MassDNS je još jedan alat za pronalaženje DNS poddomena. Njegova glavna razlika je u tome što postavlja DNS upite direktno mnogim različitim DNS razrješivačima i to čini značajnom brzinom.

Pros:

  • Brz - sposoban za rješavanje više od 350 hiljada imena u sekundi.

Cons:

  • MassDNS može uzrokovati značajno opterećenje na DNS razrjeđivačima koji se koriste, što može dovesti do zabrane rada tih servera ili pritužbi vašem ISP-u. Osim toga, to će dovesti do velikog opterećenja na DNS servere kompanije, ako ih imaju i ako su odgovorni za domene koje pokušavate riješiti.
  • Lista razrješavača je trenutno zastarjela, ali ako odaberete pokvarene DNS razrješače i dodate nove poznate, sve će biti u redu.

Web alati ili odakle bi pentester trebao početi?
Snimak ekrana aquatone v0.5.0

nsec3map

nsec3map je Python alat za dobijanje kompletne liste domena zaštićenih DNSSEC.

Pros:

  • Brzo otkriva hostove u DNS zonama sa minimalnim brojem upita ako je DNSSEC podrška omogućena u zoni;
  • Uključuje dodatak za Johna Trbosjeka koji se može koristiti za razbijanje rezultirajućih NSEC3 heševa.

Cons:

  • Mnoge DNS greške se ne obrađuju ispravno;
  • Ne postoji automatska paralelizacija obrade NSEC zapisa - morate ručno podijeliti prostor imena;
  • Velika potrošnja memorije.

Acunetix

Acunetix — skener web ranjivosti koji automatizira proces provjere sigurnosti web aplikacija. Testira aplikaciju za SQL injekcije, XSS, XXE, SSRF i mnoge druge web ranjivosti. Međutim, kao i svaki drugi skener, razne web ranjivosti ne zamjenjuju pentester, jer ne može pronaći složene lance ranjivosti ili ranjivosti u logici. Ali pokriva mnogo različitih ranjivosti, uključujući razne CVE-ove, na koje je pentester možda zaboravio, tako da je vrlo zgodno da vas oslobodi rutinskih provjera.

Pros:

  • Nizak nivo lažnih pozitivnih rezultata;
  • Rezultati se mogu izvesti kao izvještaji;
  • Obavlja veliki broj provjera raznih ranjivosti;
  • Paralelno skeniranje više hostova.

Cons:

  • Ne postoji algoritam za deduplikaciju (Acunetix će stranice koje su identične po funkcionalnosti smatrati različitim, budući da vode do različitih URL-ova), ali programeri rade na tome;
  • Zahtijeva instalaciju na zasebnom web serveru, što otežava testiranje klijentskih sistema s VPN vezom i korištenje skenera u izolovanom segmentu lokalne klijentske mreže;
  • Usluga koja se proučava može stvarati buku, na primjer, slanjem previše vektora napada na kontakt formu na stranici, čime se u velikoj mjeri komplikuju poslovni procesi;
  • To je vlasničko i, shodno tome, ne besplatno rješenje.

Web alati ili odakle bi pentester trebao početi?

Dirsearch

Dirsearch — Python alat za grubo prisiljavanje direktorija i datoteka na web stranicama.

Pros:

  • Može razlikovati prave stranice „200 OK“ od „200 OK“ stranica, ali sa tekstom „stranica nije pronađena“;
  • Dolazi sa praktičnim rječnikom koji ima dobar balans između veličine i efikasnosti pretraživanja. Sadrži standardne putanje zajedničke za mnoge CMS i tehnološke stekove;
  • Vlastiti format rječnika, koji vam omogućava postizanje dobre efikasnosti i fleksibilnosti u nabrajanju datoteka i direktorija;
  • Pogodan izlaz - običan tekst, JSON;
  • Može vršiti prigušivanje - pauzu između zahtjeva, što je od vitalnog značaja za svaku slabu uslugu.

Cons:

  • Ekstenzije moraju biti proslijeđene kao string, što je nezgodno ako trebate proslijediti više ekstenzija odjednom;
  • Da biste koristili vaš rječnik, morat ćete ga malo izmijeniti u format Dirsearch rječnika radi maksimalne efikasnosti.

Web alati ili odakle bi pentester trebao početi?

wfuzz

wfuzz - Python web aplikacija fuzzer. Vjerovatno jedan od najpoznatijih web fazara. Princip je jednostavan: wfuzz vam omogućava da fazno postavite bilo koje mjesto u HTTP zahtjevu, što omogućava fazno postavljanje GET/POST parametara, HTTP zaglavlja, uključujući Cookie i druga zaglavlja za autentifikaciju. U isto vrijeme, pogodan je i za jednostavnu grubu silu direktorija i datoteka, za što vam je potreban dobar rječnik. Takođe ima fleksibilan sistem filtera, sa kojim možete filtrirati odgovore sa veb stranice prema različitim parametrima, što vam omogućava da postignete efektivne rezultate.

Pros:

  • Multifunkcionalna - modularna struktura, montaža traje nekoliko minuta;
  • Pogodan mehanizam za filtriranje i rasplinjavanje;
  • Možete fazama bilo koju HTTP metodu, kao i bilo koje mjesto u HTTP zahtjevu.

Cons:

  • U razvoju.

Web alati ili odakle bi pentester trebao početi?

ffuf

ffuf — web fuzzer u Go-u, kreiran na “sliku i sličnost” wfuzz-a, omogućava vam brutiranje datoteka, direktorija, URL staza, imena i vrijednosti GET/POST parametara, HTTP zaglavlja, uključujući zaglavlje Host-a za brute force virtuelnih hostova. wfuzz se razlikuje od svog brata po većoj brzini i nekim novim karakteristikama, na primjer, podržava rječnike formata Dirsearch.

Pros:

  • Filteri su slični wfuzz filterima, omogućavaju vam da fleksibilno konfigurirate grubu silu;
  • Omogućava vam da fuzzujete vrijednosti HTTP zaglavlja, podatke POST zahtjeva i različite dijelove URL-a, uključujući imena i vrijednosti GET parametara;
  • Možete odrediti bilo koju HTTP metodu.

Cons:

  • U razvoju.

Web alati ili odakle bi pentester trebao početi?

gobuster

gobuster — Go alat za izviđanje, ima dva načina rada. Prvi se koristi za brutiranje datoteka i direktorija na web stranici, drugi se koristi za brutiranje DNS poddomena. Alat inicijalno ne podržava rekurzivno nabrajanje datoteka i direktorija, što, naravno, štedi vrijeme, ali s druge strane, gruba sila svake nove krajnje točke na web stranici mora se pokrenuti zasebno.

Pros:

  • Velika brzina rada kako za brute force pretragu DNS poddomena tako i za brute force fajlove i direktorijume.

Cons:

  • Trenutna verzija ne podržava postavljanje HTTP zaglavlja;
  • Podrazumevano, samo neki od HTTP statusnih kodova (200,204,301,302,307) se smatraju važećim.

Web alati ili odakle bi pentester trebao početi?

Arjun

Arjun - alat za grubu silu skrivenih HTTP parametara u GET/POST parametrima, kao iu JSON-u. Ugrađeni rječnik ima 25 riječi, koje Ajrun provjerava za skoro 980 sekundi. Trik je u tome što Ajrun ne provjerava svaki parametar posebno, već provjerava ~30 parametara odjednom i vidi da li se odgovor promijenio. Ako se odgovor promijenio, dijeli ovih 1000 parametara na dva dijela i provjerava koji od ovih dijelova utiče na odgovor. Dakle, korištenjem jednostavne binarne pretrage, pronalazi se parametar ili nekoliko skrivenih parametara koji su utjecali na odgovor i stoga mogu postojati.

Pros:

  • Velika brzina zbog binarnog pretraživanja;
  • Podrška za GET/POST parametre, kao i parametre u obliku JSON;

Dodatak za Burp Suite radi na sličnom principu - param-miner, koji je također vrlo dobar u pronalaženju skrivenih HTTP parametara. Reći ćemo vam više o tome u narednom članku o Burpu i njegovim dodacima.
Web alati ili odakle bi pentester trebao početi?

LinkFinder

LinkFinder — Python skripta za traženje veza u JavaScript datotekama. Korisno za pronalaženje skrivenih ili zaboravljenih krajnjih tačaka/URL-ova u web aplikaciji.

Pros:

  • Fast;
  • Postoji poseban dodatak za Chrome baziran na LinkFinderu.

.

Cons:

  • Nezgodan konačni zaključak;
  • Ne analizira JavaScript tokom vremena;
  • Sasvim jednostavna logika za traženje linkova - ako je JavaScript nekako zamagljen, ili veze u početku nedostaju i generiraju se dinamički, onda neće moći ništa pronaći.

Web alati ili odakle bi pentester trebao početi?

JSParser

JSParser je Python skripta koja koristi tornado и JSBeautifier za raščlanjivanje relativnih URL-ova iz JavaScript datoteka. Vrlo korisno za otkrivanje AJAX zahtjeva i sastavljanje liste API metoda s kojima aplikacija komunicira. Efikasno radi u kombinaciji sa LinkFinderom.

Pros:

  • Brzo raščlanjivanje JavaScript datoteka.

Web alati ili odakle bi pentester trebao početi?

sqlmap

sqlmap je vjerovatno jedan od najpoznatijih alata za analizu web aplikacija. Sqlmap automatizuje pretragu i rad SQL injekcija, radi sa nekoliko SQL dijalekata i ima ogroman broj različitih tehnika u svom arsenalu, u rasponu od direktnih navoda do složenih vektora za vremenski zasnovane SQL injekcije. Osim toga, ima mnogo tehnika za daljnju eksploataciju za različite DBMS-ove, pa je koristan ne samo kao skener za SQL injekcije, već i kao moćan alat za iskorištavanje već pronađenih SQL injekcija.

Pros:

  • Veliki broj različitih tehnika i vektora;
  • Mali broj lažnih pozitivnih rezultata;
  • Mnoštvo opcija finog podešavanja, razne tehnike, ciljna baza podataka, skripte za neovlašćenje za zaobilaženje WAF-a;
  • Mogućnost kreiranja izlaznog dumpa;
  • Mnogo različitih operativnih mogućnosti, na primjer, za neke baze podataka - automatsko učitavanje/ispuštanje datoteka, dobijanje mogućnosti izvršavanja komandi (RCE) i drugo;
  • Podrška za direktno povezivanje sa bazom podataka koristeći podatke dobijene tokom napada;
  • Možete poslati tekstualnu datoteku sa rezultatima Burp-a kao ulaz - nema potrebe da ručno sastavljate sve atribute komandne linije.

Cons:

  • Teško je prilagoditi, na primjer, napisati neke svoje čekove zbog oskudne dokumentacije za to;
  • Bez odgovarajućih postavki, on obavlja nepotpun skup provjera, što može dovesti u zabludu.

Web alati ili odakle bi pentester trebao početi?

NoSQLMap

NoSQLMap — Python alat za automatizaciju pretraživanja i eksploatacije NoSQL injekcija. Pogodno je za korištenje ne samo u NoSQL bazama podataka, već i direktno prilikom revizije web aplikacija koje koriste NoSQL.

Pros:

  • Kao i sqlmap, ne samo da pronalazi potencijalnu ranjivost, već i provjerava mogućnost njegove eksploatacije za MongoDB i CouchDB.

Cons:

  • Ne podržava NoSQL za Redis, Cassandra, razvoj je u toku u ovom pravcu.

oxml_xxe

oxml_xxe - alat za ugrađivanje XXE XML eksploata u različite tipove datoteka koje koriste XML format u nekom obliku.

Pros:

  • Podržava mnoge uobičajene formate kao što su DOCX, ODT, SVG, XML.

Cons:

  • Podrška za PDF, JPEG, GIF nije u potpunosti implementirana;
  • Kreira samo jedan fajl. Da biste riješili ovaj problem, možete koristiti alat docem, koji može kreirati veliki broj korisnih datoteka na različitim mjestima.

Gore navedeni uslužni programi odlično rade na testiranju XXE pri učitavanju dokumenata koji sadrže XML. Ali također zapamtite da se obrađivači XML formata mogu naći u mnogim drugim slučajevima, na primjer, XML se može koristiti kao format podataka umjesto JSON-a.

Stoga preporučujemo da obratite pažnju na sljedeće spremište, koje sadrži veliki broj različitih korisnih opterećenja: PayloadsAllTheThings.

tplmap

tplmap - Python alat za automatsko prepoznavanje i iskorištavanje ranjivosti ubrizgavanja šablona na strani servera; ima postavke i oznake slične sqlmap-u. Koristi nekoliko različitih tehnika i vektora, uključujući slijepu injekciju, a također ima tehnike za izvršavanje koda i učitavanje/učitavanje proizvoljnih datoteka. Osim toga, u svom arsenalu ima tehnike za desetak različitih šablonskih motora i neke tehnike za traženje injekcija koda nalik eval() u Python, Ruby, PHP, JavaScript. Ako je uspješan, otvara se interaktivna konzola.

Pros:

  • Veliki broj različitih tehnika i vektora;
  • Podržava mnoge mašine za renderovanje šablona;
  • Mnogo operativnih tehnika.

CeWL

CeWL - generator rječnika u Rubyju, kreiran za izdvajanje jedinstvenih riječi sa određene web stranice, prati veze na stranici do određene dubine. Sastavljeni rječnik jedinstvenih riječi može se kasnije koristiti za brutaliziranje lozinki na uslugama ili brute force fajlova i direktorija na istoj web stranici, ili za napad na rezultirajuće hešove koristeći hashcat ili John the Ripper. Korisno pri sastavljanju "ciljne" liste potencijalnih lozinki.

Pros:

  • Jednostavan za korištenje.

Cons:

  • Morate biti oprezni s dubinom pretraživanja kako ne biste uhvatili dodatni domen.

Weakpass

Weakpass - servis koji sadrži mnogo rječnika s jedinstvenim lozinkama. Izuzetno koristan za razne zadatke vezane za razbijanje lozinki, počevši od jednostavne online grube sile naloga na ciljnim servisima, do off-line grube sile primljenih heševa koristeći hashcat ili John The Ripper. Sadrži oko 8 milijardi lozinki dužine od 4 do 25 znakova.

Pros:

  • Sadrži i specifične rječnike i rječnike s najčešćim lozinkama - možete odabrati određeni rječnik za svoje potrebe;
  • Rječnici se ažuriraju i dopunjuju novim lozinkama;
  • Rječnici su razvrstani po efikasnosti. Možete odabrati opciju za brzu online grubu silu i detaljan odabir lozinki iz obimnog rječnika s najnovijim curenja;
  • Postoji kalkulator koji pokazuje vrijeme potrebno za brušenje lozinki na vašoj opremi.

Web alati ili odakle bi pentester trebao početi?

Željeli bismo uključiti alate za CMS provjere u posebnu grupu: WPScan, JoomScan i AEM haker.

AEM_hacker

AEM haker je alat za identifikaciju ranjivosti u Adobe Experience Manager (AEM) aplikacijama.

Pros:

  • Može identificirati AEM aplikacije sa liste URL-ova dostavljenih na njegov ulaz;
  • Sadrži skripte za dobijanje RCE-a učitavanjem JSP ljuske ili iskorištavanjem SSRF-a.

JoomScan

JoomScan — Perl alat za automatizaciju otkrivanja ranjivosti prilikom postavljanja Joomla CMS-a.

Pros:

  • U stanju je pronaći nedostatke u konfiguraciji i probleme s administrativnim postavkama;
  • Navodi Joomla verzije i povezane ranjivosti, slično za pojedinačne komponente;
  • Sadrži više od 1000 eksploata za Joomla komponente;
  • Izlaz završnih izvještaja u tekstualnim i HTML formatima.

Web alati ili odakle bi pentester trebao početi?

WPScan

WPScan - alat za skeniranje WordPress sajtova, ima ranjivosti u svom arsenalu kako za sam WordPress engine, tako i za neke dodatke.

Pros:

  • Može da navede ne samo nesigurne WordPress dodatke i teme, već i da dobije listu korisnika i TimThumb fajlova;
  • Može vršiti napade grubom silom na WordPress stranice.

Cons:

  • Bez odgovarajućih postavki, on obavlja nepotpun skup provjera, što može dovesti u zabludu.

Web alati ili odakle bi pentester trebao početi?

Općenito, različiti ljudi preferiraju različite alate za rad: svi su dobri na svoj način, a ono što se sviđa jednoj osobi možda uopće ne odgovara drugoj. Ako mislite da smo nepravedno zanemarili neki dobar uslužni program, napišite o tome u komentarima!

izvor: www.habr.com

Dodajte komentar