Instrumente web sau de unde să începi ca pentester?

Continuăm vorbesc despre instrumente utile pentru pentesteri. În noul articol ne vom uita la instrumente pentru analiza securității aplicațiilor web.

Colegul nostru Fii Iubire Am făcut deja așa ceva compilare acum vreo sapte ani. Este interesant de văzut ce instrumente și-au păstrat și consolidat pozițiile și care au dispărut în fundal și sunt acum rar folosite.
Instrumente web sau de unde să începi ca pentester?

Rețineți că aceasta include și Burp Suite, dar va exista o publicație separată despre aceasta și pluginurile sale utile.

Cuprins:

tezauriza

tezauriza - un instrument Go pentru căutarea și enumerarea subdomeniilor DNS și maparea rețelei externe. Amass este un proiect OWASP conceput pentru a arăta cum arată organizațiile de pe Internet unui străin. Amass obține nume de subdomenii în diferite moduri; instrumentul utilizează atât enumerarea recursivă a subdomeniilor, cât și căutările open source.

Pentru a descoperi segmente de rețea interconectate și numere de sistem autonome, Amass folosește adrese IP obținute în timpul funcționării. Toate informațiile găsite sunt folosite pentru a construi o hartă a rețelei.

Pro-uri:

  • Tehnicile de colectare a informațiilor includ:
    * DNS - căutare în dicționar de subdomenii, subdomenii bruteforce, căutare inteligentă folosind mutații bazate pe subdomenii găsite, interogări DNS inverse și căutare de servere DNS unde este posibil să se facă o cerere de transfer de zonă (AXFR);

    * Căutare open source - Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Caută baze de date de certificate TLS - Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Utilizarea API-urilor motoarelor de căutare - BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Căutați arhive web pe Internet: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integrare cu Maltego;
  • Oferă cea mai completă acoperire a sarcinii de căutare a subdomeniilor DNS.

Contra:

  • Aveți grijă cu amass.netdomains - va încerca să contacteze fiecare adresă IP din infrastructura identificată și să obțină nume de domenii din căutări inverse DNS și certificate TLS. Aceasta este o tehnică „de profil înalt”, poate dezvălui activitățile dumneavoastră de informații în organizația supusă investigației.
  • Consum mare de memorie, poate consuma până la 2 GB de RAM în diferite setări, ceea ce nu vă va permite să rulați acest instrument în cloud pe un VDS ieftin.

Instrumente web sau de unde să începi ca pentester?

Altdns

Altdns — un instrument Python pentru compilarea dicționarelor pentru enumerarea subdomeniilor DNS. Vă permite să generați multe variante de subdomenii folosind mutații și permutări. Pentru aceasta se folosesc cuvinte care se găsesc adesea în subdomenii (de exemplu: test, dev, staging), toate mutațiile și permutările sunt aplicate subdomeniilor deja cunoscute, care pot fi transmise la intrarea Altdns. Rezultatul este o listă de variații de subdomenii care pot exista, iar această listă poate fi folosită ulterior pentru forța brută DNS.

Pro-uri:

  • Funcționează bine cu seturi mari de date.

acvatonă

acvatonă - a fost anterior mai cunoscut ca un alt instrument pentru căutarea subdomeniilor, dar autorul însuși a abandonat acest lucru în favoarea Amass-ului menționat mai sus. Acum aquatone a fost rescris în Go și este mai orientat către recunoașterea preliminară pe site-uri web. Pentru a face acest lucru, aquatone parcurge domeniile specificate și caută site-uri web pe diferite porturi, după care colectează toate informațiile despre site și face o captură de ecran. Convenabil pentru recunoașterea preliminară rapidă a site-urilor web, după care puteți selecta ținte prioritare pentru atacuri.

Pro-uri:

  • Ieșirea creează un grup de fișiere și foldere care sunt convenabile de utilizat atunci când lucrați în continuare cu alte instrumente:
    * Raport HTML cu capturi de ecran colectate și titluri de răspuns grupate după asemănări;

    * Un fișier cu toate adresele URL unde au fost găsite site-urile web;

    * Fișier cu statistici și date de pagină;

    * Un folder cu fișiere care conțin anteturi de răspuns de la ținte găsite;

    * Un folder cu fișiere care conțin corpul răspunsului de la țintele găsite;

    * Capturi de ecran ale site-urilor web găsite;

  • Acceptă lucrul cu rapoarte XML de la Nmap și Masscan;
  • Utilizează Chrome/Chromium fără cap pentru a reda capturi de ecran.

Contra:

  • Poate atrage atenția sistemelor de detectare a intruziunilor, așa că necesită configurare.

Captura de ecran a fost făcută pentru una dintre versiunile vechi de aquatone (v0.5.0), în care a fost implementată căutarea subdomeniului DNS. Versiunile mai vechi pot fi găsite la pagina de lansări.
Instrumente web sau de unde să începi ca pentester?

MassDNS

MassDNS este un alt instrument pentru găsirea subdomeniilor DNS. Principala sa diferență este că face interogări DNS direct către mai multe soluții DNS diferite și o face cu o viteză considerabilă.

Pro-uri:

  • Rapid - capabil să rezolve mai mult de 350 de mii de nume pe secundă.

Contra:

  • MassDNS poate provoca o sarcină semnificativă asupra rezolutoarelor DNS utilizate, ceea ce poate duce la interzicerea acelor servere sau la plângeri către ISP-ul dumneavoastră. În plus, va pune o sarcină mare pe serverele DNS ale companiei, dacă acestea le au și dacă sunt responsabile pentru domeniile pe care încercați să le rezolvați.
  • Lista de rezolutori este în prezent depășită, dar dacă selectați rezolutoarele DNS stricate și adăugați altele cunoscute, totul va fi bine.

Instrumente web sau de unde să începi ca pentester?
Captură de ecran a aquatone v0.5.0

nsec3map

nsec3map este un instrument Python pentru obținerea unei liste complete de domenii protejate de DNSSEC.

Pro-uri:

  • Descoperă rapid gazdele din zonele DNS cu un număr minim de interogări dacă suportul DNSSEC este activat în zonă;
  • Include un plugin pentru John the Ripper care poate fi folosit pentru a sparge hashurile NSEC3 rezultate.

Contra:

  • Multe erori DNS nu sunt tratate corect;
  • Nu există paralelizare automată a procesării înregistrărilor NSEC - trebuie să împărțiți manual spațiul de nume;
  • Consum mare de memorie.

Acunetix

Acunetix — un scanner de vulnerabilități web care automatizează procesul de verificare a securității aplicațiilor web. Testează aplicația pentru injecții SQL, XSS, XXE, SSRF și multe alte vulnerabilități web. Cu toate acestea, ca orice alt scaner, o varietate de vulnerabilități web nu înlocuiește un pentester, deoarece nu poate găsi lanțuri complexe de vulnerabilități sau vulnerabilități în logică. Dar acoperă o mulțime de vulnerabilități diferite, inclusiv diverse CVE, de care s-ar putea ca pentesterul să fi uitat, așa că este foarte convenabil pentru a vă elibera de verificările de rutină.

Pro-uri:

  • Nivel scăzut de fals pozitive;
  • Rezultatele pot fi exportate ca rapoarte;
  • Efectuează un număr mare de verificări pentru diverse vulnerabilități;
  • Scanare paralelă a mai multor gazde.

Contra:

  • Nu există un algoritm de deduplicare (Acunetix va considera paginile cu funcționalitate identică ca fiind diferite, deoarece duc la URL-uri diferite), dar dezvoltatorii lucrează la el;
  • Necesită instalarea pe un server web separat, ceea ce complică testarea sistemelor client cu o conexiune VPN și utilizarea scanerului într-un segment izolat al rețelei client locale;
  • Serviciul studiat poate face zgomot, de exemplu, trimițând prea mulți vectori de atac către formularul de contact de pe site, complicând astfel foarte mult procesele de afaceri;
  • Este o soluție proprietară și, prin urmare, nu gratuită.

Instrumente web sau de unde să începi ca pentester?

Căutare directă

Căutare directă — un instrument Python pentru directoare și fișiere de forțare brută de pe site-uri web.

Pro-uri:

  • Poate distinge paginile reale „200 OK” de paginile „200 OK”, dar cu textul „pagina nu a fost găsită”;
  • Vine cu un dicționar la îndemână, care are un echilibru bun între dimensiune și eficiența căutării. Conține căi standard comune multor CMS și stive de tehnologie;
  • Formatul propriu de dicționar, care vă permite să obțineți o bună eficiență și flexibilitate în enumerarea fișierelor și directoarelor;
  • Ieșire convenabilă - text simplu, JSON;
  • Poate face throttling - o pauză între solicitări, care este vitală pentru orice serviciu slab.

Contra:

  • Extensiile trebuie trecute ca șir, ceea ce este incomod dacă trebuie să treceți mai multe extensii deodată;
  • Pentru a utiliza dicționarul, va trebui să fie ușor modificat la formatul de dicționar Dirsearch pentru o eficiență maximă.

Instrumente web sau de unde să începi ca pentester?

wfuzz

wfuzz - Fuzzer aplicație web Python. Probabil unul dintre cei mai faimoși web phasers. Principiul este simplu: wfuzz vă permite să treacă în faza orice loc dintr-o solicitare HTTP, ceea ce face posibilă fazarea parametrilor GET/POST, antete HTTP, inclusiv Cookie și alte anteturi de autentificare. În același timp, este convenabil și pentru forța brută simplă a directoarelor și fișierelor, pentru care aveți nevoie de un dicționar bun. De asemenea, are un sistem de filtrare flexibil, cu ajutorul căruia poți filtra răspunsurile de pe site în funcție de diferiți parametri, ceea ce îți permite să obții rezultate eficiente.

Pro-uri:

  • Multifunctional - structura modulara, asamblarea dureaza cateva minute;
  • Mecanism convenabil de filtrare și fuzzing;
  • Puteți faza orice metodă HTTP, precum și în orice loc dintr-o solicitare HTTP.

Contra:

  • In dezvoltare.

Instrumente web sau de unde să începi ca pentester?

ffuf

ffuf — un web fuzzer în Go, creat în „imaginea și asemănarea” wfuzz, vă permite să brutați fișiere, directoare, căi URL, nume și valori ale parametrilor GET/POST, antete HTTP, inclusiv antetul Host pentru forța brută a gazdelor virtuale. wfuzz diferă de fratele său prin viteza mai mare și unele funcții noi, de exemplu, acceptă dicționare în format Dirsearch.

Pro-uri:

  • Filtrele sunt similare cu filtrele wfuzz, vă permit să configurați în mod flexibil forța brută;
  • Vă permite să fuzionați valorile antetului HTTP, datele cererii POST și diverse părți ale adresei URL, inclusiv numele și valorile parametrilor GET;
  • Puteți specifica orice metodă HTTP.

Contra:

  • In dezvoltare.

Instrumente web sau de unde să începi ca pentester?

gobuster

gobuster — un instrument Go pentru recunoaștere, are două moduri de funcționare. Primul este folosit pentru fișierele și directoarele de forță brută de pe un site web, al doilea este folosit pentru subdomeniile DNS cu forță brută. Instrumentul nu acceptă inițial enumerarea recursivă a fișierelor și directoarelor, ceea ce, desigur, economisește timp, dar, pe de altă parte, forța brută a fiecărui punct final nou de pe site trebuie lansată separat.

Pro-uri:

  • Viteză mare de operare atât pentru căutarea cu forță brută a subdomeniilor DNS, cât și pentru forța brută a fișierelor și directoarelor.

Contra:

  • Versiunea actuală nu acceptă setarea antetelor HTTP;
  • În mod implicit, doar unele dintre codurile de stare HTTP (200,204,301,302,307) sunt considerate valide.

Instrumente web sau de unde să începi ca pentester?

Arjun

Arjun - un instrument pentru forța brută a parametrilor HTTP ascunși în parametrii GET/POST, precum și în JSON. Dicționarul încorporat are 25 de cuvinte, pe care Ajrun le verifică în aproape 980 de secunde. Trucul este că Ajrun nu verifică fiecare parametru separat, ci verifică ~30 de parametri la un moment dat și vede dacă răspunsul s-a schimbat. Dacă răspunsul s-a schimbat, împarte acești 1000 de parametri în două părți și verifică care dintre aceste părți afectează răspunsul. Astfel, folosind o simplă căutare binară, se găsesc un parametru sau mai mulți parametri ascunși care au influențat răspunsul și, prin urmare, pot exista.

Pro-uri:

  • Viteză mare datorită căutării binare;
  • Suport pentru parametrii GET/POST, precum și parametrii sub formă de JSON;

Pluginul pentru Burp Suite funcționează pe un principiu similar - param-miner, care este, de asemenea, foarte bun la găsirea parametrilor HTTP ascunși. Vă vom spune mai multe despre el într-un articol viitor despre Burp și pluginurile sale.
Instrumente web sau de unde să începi ca pentester?

LinkFinder

LinkFinder — un script Python pentru căutarea legăturilor în fișierele JavaScript. Util pentru găsirea punctelor finale/URL-urilor ascunse sau uitate într-o aplicație web.

Pro-uri:

  • Rapid;
  • Există un plugin special pentru Chrome bazat pe LinkFinder.

.

Contra:

  • Concluzie finală neplăcută;
  • Nu analizează JavaScript în timp;
  • O logică destul de simplă pentru căutarea legăturilor - dacă JavaScript este cumva obscurcat sau legăturile lipsesc inițial și sunt generate dinamic, atunci nu va putea găsi nimic.

Instrumente web sau de unde să începi ca pentester?

JSParser

JSParser este un script Python care utilizează Tornadă и JSBeautifier pentru a analiza adrese URL relative din fișierele JavaScript. Foarte util pentru detectarea solicitărilor AJAX și compilarea unei liste de metode API cu care interacționează aplicația. Funcționează eficient împreună cu LinkFinder.

Pro-uri:

  • Analiza rapidă a fișierelor JavaScript.

Instrumente web sau de unde să începi ca pentester?

sqlmap

sqlmap este probabil unul dintre cele mai cunoscute instrumente de analiză a aplicațiilor web. Sqlmap automatizează căutarea și operarea injecțiilor SQL, funcționează cu mai multe dialecte SQL și are un număr mare de tehnici diferite în arsenalul său, variind de la ghilimele directe la vectori complecși pentru injecții SQL bazate pe timp. În plus, are multe tehnici de exploatare ulterioară pentru diferite SGBD-uri, așa că este util nu doar ca scaner pentru injecții SQL, ci și ca instrument puternic pentru exploatarea injecțiilor SQL deja găsite.

Pro-uri:

  • Un număr mare de tehnici și vectori diferiți;
  • Număr scăzut de fals pozitive;
  • O mulțime de opțiuni de reglare fină, diverse tehnici, bază de date țintă, scripturi de manipulare pentru ocolirea WAF;
  • Abilitatea de a crea dump de ieșire;
  • Multe capacități operaționale diferite, de exemplu, pentru unele baze de date - încărcarea/descărcarea automată a fișierelor, obținerea capacității de a executa comenzi (RCE) și altele;
  • Suport pentru conectarea directă la baza de date folosind datele obținute în timpul unui atac;
  • Puteți trimite un fișier text cu rezultatele Burp ca intrare - nu este nevoie să compuneți manual toate atributele liniei de comandă.

Contra:

  • Este dificil să personalizați, de exemplu, să scrieți unele dintre propriile cecuri din cauza documentației limitate pentru aceasta;
  • Fără setările corespunzătoare, efectuează un set incomplet de verificări, care poate induce în eroare.

Instrumente web sau de unde să începi ca pentester?

NoSQLMap

NoSQLMap — un instrument Python pentru automatizarea căutării și exploatării injecțiilor NoSQL. Este convenabil de utilizat nu numai în bazele de date NoSQL, ci și direct atunci când auditați aplicațiile web care utilizează NoSQL.

Pro-uri:

  • La fel ca sqlmap, nu numai că găsește o potențială vulnerabilitate, dar verifică și posibilitatea exploatării acesteia pentru MongoDB și CouchDB.

Contra:

  • Nu acceptă NoSQL pentru Redis, Cassandra, dezvoltarea este în curs de desfășurare în această direcție.

oxml_xxe

oxml_xxe — un instrument pentru încorporarea exploatărilor XML XXE în diferite tipuri de fișiere care utilizează formatul XML într-o anumită formă.

Pro-uri:

  • Suporta multe formate comune, cum ar fi DOCX, ODT, SVG, XML.

Contra:

  • Suportul pentru PDF, JPEG, GIF nu este implementat complet;
  • Creează un singur fișier. Pentru a rezolva această problemă, puteți utiliza instrumentul docem, care poate crea un număr mare de fișiere de încărcare utilă în diferite locuri.

Utilitarele de mai sus fac o treabă grozavă de a testa XXE atunci când încarcă documente care conțin XML. Dar amintiți-vă și că manipulatorii de format XML pot fi găsiți în multe alte cazuri, de exemplu, XML poate fi folosit ca format de date în loc de JSON.

Prin urmare, vă recomandăm să acordați atenție următorului depozit, care conține un număr mare de încărcări utile diferite: PayloadsAllTheThings.

tplmap

tplmap - un instrument Python pentru identificarea și exploatarea automată a vulnerabilităților Server-Side Template Injection; are setări și steaguri similare cu sqlmap. Utilizează mai multe tehnici și vectori diferiți, inclusiv injectarea oarbă și are, de asemenea, tehnici de executare a codului și de încărcare/încărcare de fișiere arbitrare. În plus, are în arsenal tehnici pentru o duzină de motoare de șabloane diferite și câteva tehnici de căutare a injecțiilor de cod asemănătoare eval() în Python, Ruby, PHP, JavaScript. Dacă are succes, deschide o consolă interactivă.

Pro-uri:

  • Un număr mare de tehnici și vectori diferiți;
  • Suportă multe motoare de randare a șablonului;
  • Multe tehnici de operare.

CeWL

CeWL - un generator de dicționar în Ruby, creat pentru a extrage cuvinte unice de pe un site web specificat, urmărește linkurile de pe site până la o adâncime specificată. Dicționarul compilat de cuvinte unice poate fi folosit ulterior pentru parole de forță brută pentru servicii sau fișiere și directoare de forță brută de pe același site web sau pentru a ataca hashurile rezultate folosind hashcat sau John the Ripper. Util atunci când compilați o listă „țintă” de parole potențiale.

Pro-uri:

  • Ușor de folosit.

Contra:

  • Trebuie să fii atent la adâncimea căutării pentru a nu captura un domeniu suplimentar.

Weakpass

Weakpass - un serviciu care conține multe dicționare cu parole unice. Extrem de util pentru diverse sarcini legate de spargerea parolelor, variind de la simpla forță brută online a conturilor pe serviciile țintă, la forța brută off-line a hashurilor primite folosind hashcat sau John The Ripper. Conține aproximativ 8 miliarde de parole cu lungime de la 4 la 25 de caractere.

Pro-uri:

  • Conține atât dicționare specifice, cât și dicționare cu cele mai comune parole - puteți alege un dicționar specific pentru propriile nevoi;
  • Dicționarele sunt actualizate și completate cu parole noi;
  • Dicționarele sunt sortate după eficiență. Puteți alege opțiunea atât pentru forța brută online rapidă, cât și pentru selecția detaliată a parolelor dintr-un dicționar voluminos cu cele mai recente scurgeri;
  • Există un calculator care arată timpul necesar pentru parole brute pe echipamentul dumneavoastră.

Instrumente web sau de unde să începi ca pentester?

Am dori să includem instrumente pentru verificări CMS într-un grup separat: WPScan, JoomScan și hacker AEM.

AEM_hacker

Hackerul AEM este un instrument pentru identificarea vulnerabilităților în aplicațiile Adobe Experience Manager (AEM).

Pro-uri:

  • Poate identifica aplicațiile AEM din lista de adrese URL trimise la intrarea sa;
  • Conține scripturi pentru obținerea RCE prin încărcarea unui shell JSP sau exploatarea SSRF.

JoomScan

JoomScan — un instrument Perl pentru automatizarea detectării vulnerabilităților la implementarea Joomla CMS.

Pro-uri:

  • Capabil să găsească defecte de configurare și probleme cu setările administrative;
  • Listează versiunile Joomla și vulnerabilitățile asociate, în mod similar pentru componente individuale;
  • Conține peste 1000 de exploit-uri pentru componente Joomla;
  • Ieșirea rapoartelor finale în formate text și HTML.

Instrumente web sau de unde să începi ca pentester?

WPScan

WPScan - un instrument pentru scanarea site-urilor WordPress, are vulnerabilități în arsenalul său atât pentru motorul WordPress în sine, cât și pentru unele plugin-uri.

Pro-uri:

  • Capabil să listeze nu numai pluginuri și teme WordPress nesigure, ci și să obțină o listă de utilizatori și fișiere TimThumb;
  • Poate efectua atacuri de forță brută pe site-urile WordPress.

Contra:

  • Fără setările corespunzătoare, efectuează un set incomplet de verificări, care poate induce în eroare.

Instrumente web sau de unde să începi ca pentester?

În general, diferiți oameni preferă instrumente diferite pentru muncă: toți sunt buni în felul lor și ceea ce îi place unei persoane poate să nu se potrivească deloc altuia. Dacă credeți că am ignorat pe nedrept o utilitate bună, scrieți despre asta în comentarii!

Sursa: www.habr.com

Adauga un comentariu