Strumenti web o da dove iniziare come pentester?

Continuare parlare di strumenti utili per i pentester. Nel nuovo articolo vedremo gli strumenti per analizzare la sicurezza delle applicazioni web.

Il nostro collega Essere amore Ho già fatto qualcosa del genere compilazione circa sette anni fa. È interessante vedere quali strumenti hanno mantenuto e rafforzato la loro posizione, e quali sono passati in secondo piano e ora vengono utilizzati raramente.
Strumenti web o da dove iniziare come pentester?

Tieni presente che questo include anche Burp Suite, ma ci sarà una pubblicazione separata su di esso e sui suoi utili plugin.

Contenuto:

Accumulare

Accumulare - uno strumento Go per cercare ed enumerare i sottodomini DNS e mappare la rete esterna. Amass è un progetto OWASP progettato per mostrare come appaiono le organizzazioni su Internet a un estraneo. Amass ottiene nomi di sottodomini in vari modi; lo strumento utilizza sia l'enumerazione ricorsiva dei sottodomini che le ricerche open source.

Per scoprire segmenti di rete interconnessi e numeri di sistema autonomi, Amass utilizza gli indirizzi IP ottenuti durante il funzionamento. Tutte le informazioni trovate vengono utilizzate per costruire una mappa di rete.

pro:

  • Le tecniche di raccolta delle informazioni includono:
    * DNS - ricerca dizionario di sottodomini, sottodomini bruteforce, ricerca intelligente utilizzando mutazioni basate sui sottodomini trovati, query DNS inverse e ricerca di server DNS dove è possibile effettuare una richiesta di trasferimento di zona (AXFR);

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

    * Cerca database di certificati TLS: Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Utilizzo delle API dei motori di ricerca: BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Cerca archivi web su Internet: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integrazione con Maltego;
  • Fornisce la copertura più completa dell'attività di ricerca dei sottodomini DNS.

contro:

  • Fai attenzione con amass.netdomains: proverà a contattare ogni indirizzo IP nell'infrastruttura identificata e a ottenere nomi di dominio da ricerche DNS inverse e certificati TLS. Questa è una tecnica di "alto profilo", può rivelare le tue attività di intelligence nell'organizzazione sotto indagine.
  • Elevato consumo di memoria, può consumare fino a 2 GB di RAM in diverse impostazioni, il che non ti consentirà di eseguire questo strumento nel cloud su un VDS economico.

Strumenti web o da dove iniziare come pentester?

Altdns

Altdns — uno strumento Python per compilare dizionari per enumerare i sottodomini DNS. Ti consente di generare molte varianti di sottodomini utilizzando mutazioni e permutazioni. Per questo vengono utilizzate parole che si trovano spesso nei sottodomini (ad esempio: test, dev, staging), tutte le mutazioni e permutazioni vengono applicate ai sottodomini già noti, che possono essere inviati all'input Altdns. L'output è un elenco di variazioni di sottodomini che possono esistere e questo elenco può essere successivamente utilizzato per la forza bruta DNS.

pro:

  • Funziona bene con set di dati di grandi dimensioni.

Aquatone

Aquatone - in precedenza era meglio conosciuto come un altro strumento per la ricerca di sottodomini, ma l'autore stesso lo ha abbandonato a favore del già citato Amass. Ora Aquatone è stato riscritto in Go ed è più orientato alla ricognizione preliminare sui siti web. Per fare ciò, aquatone esamina i domini specificati e cerca siti Web su diverse porte, dopodiché raccoglie tutte le informazioni sul sito e acquisisce uno screenshot. Utile per una rapida ricognizione preliminare dei siti Web, dopo la quale è possibile selezionare gli obiettivi prioritari per gli attacchi.

pro:

  • L'output crea un gruppo di file e cartelle che sono comodi da utilizzare quando si lavora ulteriormente con altri strumenti:
    * Rapporto HTML con screenshot raccolti e titoli di risposta raggruppati per somiglianza;

    * Un file con tutti gli URL in cui sono stati trovati i siti web;

    * File con statistiche e dati della pagina;

    * Una cartella con file contenenti intestazioni di risposta dai target trovati;

    * Una cartella con file contenenti il ​​corpo della risposta degli obiettivi trovati;

    * Schermate dei siti Web trovati;

  • Supporta il lavoro con report XML da Nmap e Masscan;
  • Utilizza Chrome/Chromium senza testa per eseguire il rendering degli screenshot.

contro:

  • Potrebbe attirare l'attenzione dei sistemi di rilevamento delle intrusioni, quindi richiede configurazione.

Lo screenshot è stato preso per una delle vecchie versioni di aquatone (v0.5.0), in cui era implementata la ricerca dei sottodomini DNS. Le versioni precedenti possono essere trovate su pagina delle uscite.
Strumenti web o da dove iniziare come pentester?

DNS di massa

DNS di massa è un altro strumento per trovare sottodomini DNS. La sua differenza principale è che esegue query DNS direttamente su molti risolutori DNS diversi e lo fa a notevole velocità.

pro:

  • Veloce: in grado di risolvere più di 350mila nomi al secondo.

contro:

  • MassDNS può causare un carico significativo sui risolutori DNS in uso, il che può portare a ban su tali server o reclami al tuo ISP. Inoltre, caricherà notevolmente i server DNS dell'azienda, se ne sono dotati e se sono responsabili dei domini che stai tentando di risolvere.
  • L'elenco dei risolutori è attualmente obsoleto, ma se selezioni i risolutori DNS non funzionanti e ne aggiungi di nuovi conosciuti, tutto andrà bene.

Strumenti web o da dove iniziare come pentester?
Schermata di acquatone v0.5.0

nsec3map

nsec3map è uno strumento Python per ottenere un elenco completo di domini protetti da DNSSEC.

pro:

  • Rileva rapidamente gli host nelle zone DNS con un numero minimo di query se il supporto DNSSEC è abilitato nella zona;
  • Include un plugin per John the Ripper che può essere utilizzato per crackare gli hash NSEC3 risultanti.

contro:

  • Molti errori DNS non vengono gestiti correttamente;
  • Non esiste una parallelizzazione automatica dell'elaborazione dei record NSEC: è necessario dividere manualmente lo spazio dei nomi;
  • Elevato consumo di memoria.

Acunetix

Acunetix — uno scanner di vulnerabilità web che automatizza il processo di controllo della sicurezza delle applicazioni web. Testa l'applicazione per SQL injection, XSS, XXE, SSRF e molte altre vulnerabilità web. Tuttavia, come qualsiasi altro scanner, una varietà di vulnerabilità web non sostituisce un pentester, poiché non riesce a trovare catene complesse di vulnerabilità o vulnerabilità nella logica. Ma copre molte vulnerabilità diverse, inclusi vari CVE, di cui il pentester potrebbe essersi dimenticato, quindi è molto comodo per liberarti dai controlli di routine.

pro:

  • Basso livello di falsi positivi;
  • I risultati possono essere esportati come report;
  • Esegue un gran numero di controlli per varie vulnerabilità;
  • Scansione parallela di più host.

contro:

  • Non esiste un algoritmo di deduplicazione (Acunetix considererà diverse le pagine con funzionalità identiche, poiché portano a URL diversi), ma gli sviluppatori ci stanno lavorando;
  • Richiede l'installazione su un server Web separato, il che complica il test dei sistemi client con una connessione VPN e l'utilizzo dello scanner in un segmento isolato della rete client locale;
  • Il servizio in esame potrebbe fare rumore, ad esempio, inviando troppi vettori di attacco al modulo di contatto del sito, complicando notevolmente i processi aziendali;
  • Si tratta di una soluzione proprietaria e, di conseguenza, non gratuita.

Strumenti web o da dove iniziare come pentester?

DirSearch

DirSearch - uno strumento Python per forzare directory e file sui siti web.

pro:

  • Può distinguere le vere pagine “200 OK” dalle pagine “200 OK”, ma con il testo “pagina non trovata”;
  • Viene fornito con un pratico dizionario che ha un buon equilibrio tra dimensioni ed efficienza di ricerca. Contiene percorsi standard comuni a molti CMS e stack tecnologici;
  • Il proprio formato dizionario, che consente di ottenere una buona efficienza e flessibilità nell'enumerazione di file e directory;
  • Output conveniente: testo semplice, JSON;
  • Può eseguire il throttling, ovvero una pausa tra le richieste, che è vitale per qualsiasi servizio debole.

contro:

  • Le estensioni devono essere passate come una stringa, il che è scomodo se è necessario passare più estensioni contemporaneamente;
  • Per poter utilizzare il dizionario, sarà necessario modificarlo leggermente nel formato del dizionario Dirsearch per la massima efficienza.

Strumenti web o da dove iniziare come pentester?

wfuzz

wfuzz - Fuzzer di applicazioni Web Python. Probabilmente uno dei webphaser più famosi. Il principio è semplice: wfuzz ti consente di mettere in fase qualsiasi punto di una richiesta HTTP, il che rende possibile mettere in fase parametri GET/POST, intestazioni HTTP, inclusi Cookie e altre intestazioni di autenticazione. Allo stesso tempo, è utile anche per la semplice forza bruta di directory e file, per i quali è necessario un buon dizionario. Dispone inoltre di un sistema di filtro flessibile, con il quale è possibile filtrare le risposte dal sito Web in base a diversi parametri, che consente di ottenere risultati efficaci.

pro:

  • Multifunzionale - struttura modulare, il montaggio richiede pochi minuti;
  • Comodo meccanismo di filtraggio e fuzzing;
  • Puoi mettere in fase qualsiasi metodo HTTP, così come qualsiasi punto in una richiesta HTTP.

contro:

  • In fase di sviluppo.

Strumenti web o da dove iniziare come pentester?

fff

fff — un web fuzzer in Go, creato a “immagine e somiglianza” di wfuzz, consente di eseguire il brute su file, directory, percorsi URL, nomi e valori dei parametri GET/POST, intestazioni HTTP, inclusa l'intestazione Host per la forza bruta di host virtuali. wfuzz differisce dal fratello per la maggiore velocità e alcune nuove funzionalità, ad esempio supporta i dizionari in formato Dirsearch.

pro:

  • I filtri sono simili ai filtri wfuzz, ti consentono di configurare in modo flessibile la forza bruta;
  • Consente di fuzzare i valori dell'intestazione HTTP, i dati delle richieste POST e varie parti dell'URL, inclusi nomi e valori dei parametri GET;
  • È possibile specificare qualsiasi metodo HTTP.

contro:

  • In fase di sviluppo.

Strumenti web o da dove iniziare come pentester?

gobuster

gobuster - uno strumento Go per la ricognizione, ha due modalità operative. Il primo viene utilizzato per forzare file e directory su un sito Web, il secondo viene utilizzato per sottodomini DNS. Lo strumento inizialmente non supporta l'enumerazione ricorsiva di file e directory, il che, ovviamente, fa risparmiare tempo, ma d'altra parte la forza bruta di ogni nuovo endpoint sul sito web deve essere avviata separatamente.

pro:

  • Elevata velocità operativa sia per la ricerca brute force dei sottodomini DNS che per la ricerca brute force di file e directory.

contro:

  • La versione corrente non supporta l'impostazione delle intestazioni HTTP;
  • Per impostazione predefinita, solo alcuni codici di stato HTTP (200,204,301,302,307) sono considerati validi.

Strumenti web o da dove iniziare come pentester?

Arjun

Arjun - uno strumento per la forza bruta dei parametri HTTP nascosti nei parametri GET/POST, nonché in JSON. Il dizionario integrato contiene 25 parole, che Ajrun controlla in quasi 980 secondi. Il trucco è che Ajrun non controlla ciascun parametro separatamente, ma controlla circa 30 parametri alla volta e vede se la risposta è cambiata. Se la risposta è cambiata, divide questi 1000 parametri in due parti e controlla quale di queste parti influenza la risposta. Pertanto, utilizzando una semplice ricerca binaria, si trovano uno o più parametri nascosti che hanno influenzato la risposta e, quindi, potrebbero esistere.

pro:

  • Alta velocità grazie alla ricerca binaria;
  • Supporto per parametri GET/POST, nonché parametri sotto forma di JSON;

Il plugin per Burp Suite funziona secondo un principio simile: param-miner, che è anche molto efficace nel trovare parametri HTTP nascosti. Te ne parleremo di più in un prossimo articolo su Burp e i suoi plugin.
Strumenti web o da dove iniziare come pentester?

Trova link

Trova link — uno script Python per la ricerca di collegamenti nei file JavaScript. Utile per trovare endpoint/URL nascosti o dimenticati in un'applicazione web.

pro:

  • Veloce;
  • Esiste un plugin speciale per Chrome basato su LinkFinder.

.

contro:

  • Conclusione finale scomoda;
  • Non analizza JavaScript nel tempo;
  • Una logica abbastanza semplice per la ricerca di collegamenti: se JavaScript è in qualche modo offuscato o i collegamenti inizialmente mancano e vengono generati dinamicamente, non sarà in grado di trovare nulla.

Strumenti web o da dove iniziare come pentester?

JSParser

JSParser è uno script Python che utilizza Tornado и JSbeautifier per analizzare gli URL relativi dai file JavaScript. Molto utile per rilevare richieste AJAX e compilare un elenco di metodi API con cui interagisce l'applicazione. Funziona efficacemente insieme a LinkFinder.

pro:

  • Analisi rapida dei file JavaScript.

Strumenti web o da dove iniziare come pentester?

sqlmap

sqlmap è probabilmente uno degli strumenti più famosi per analizzare le applicazioni web. Sqlmap automatizza la ricerca e il funzionamento delle iniezioni SQL, funziona con diversi dialetti SQL e ha un numero enorme di tecniche diverse nel suo arsenale, che vanno dalle virgolette semplici ai vettori complessi per le iniezioni SQL basate sul tempo. Inoltre, dispone di molte tecniche per l'ulteriore sfruttamento di vari DBMS, quindi è utile non solo come scanner per le iniezioni SQL, ma anche come potente strumento per sfruttare le iniezioni SQL già trovate.

pro:

  • Un gran numero di tecniche e vettori diversi;
  • Basso numero di falsi positivi;
  • Molte opzioni di regolazione fine, varie tecniche, database di destinazione, script di manomissione per bypassare WAF;
  • Possibilità di creare dump di output;
  • Molte diverse capacità operative, ad esempio per alcuni database: caricamento/scaricamento automatico di file, acquisizione della capacità di eseguire comandi (RCE) e altro;
  • Supporto per la connessione diretta al database utilizzando i dati ottenuti durante un attacco;
  • Puoi inviare un file di testo con i risultati di Burp come input: non è necessario comporre manualmente tutti gli attributi della riga di comando.

contro:

  • È difficile personalizzare, ad esempio, la scrittura di alcuni dei propri assegni a causa della scarsa documentazione a riguardo;
  • Senza le impostazioni appropriate, esegue una serie di controlli incompleta, che può essere fuorviante.

Strumenti web o da dove iniziare come pentester?

NoSQLMap

NoSQLMap — uno strumento Python per automatizzare la ricerca e lo sfruttamento delle iniezioni NoSQL. È conveniente utilizzarlo non solo nei database NoSQL, ma anche direttamente durante il controllo delle applicazioni Web che utilizzano NoSQL.

pro:

  • Come sqlmap, non solo rileva una potenziale vulnerabilità, ma verifica anche la possibilità del suo sfruttamento per MongoDB e CouchDB.

contro:

  • Non supporta NoSQL per Redis, Cassandra, lo sviluppo è in corso in questa direzione.

oxml_xxe

oxml_xxe — uno strumento per incorporare exploit XXE XML in vari tipi di file che utilizzano il formato XML in qualche forma.

pro:

  • Supporta molti formati comuni come DOCX, ODT, SVG, XML.

contro:

  • Il supporto per PDF, JPEG e GIF non è completamente implementato;
  • Crea un solo file. Per risolvere questo problema è possibile utilizzare lo strumento docem, che può creare un gran numero di file di payload in luoghi diversi.

Le utilità di cui sopra svolgono un ottimo lavoro nel testare XXE durante il caricamento di documenti contenenti XML. Ma ricorda anche che i gestori di formato XML possono essere trovati in molti altri casi, ad esempio, XML può essere utilizzato come formato dati invece di JSON.

Pertanto, ti consigliamo di prestare attenzione al seguente repository, che contiene un gran numero di payload diversi: PayloadsAllTheThings.

tplmap

tplmap - uno strumento Python per identificare e sfruttare automaticamente le vulnerabilità Server-Side Template Injection; ha impostazioni e flag simili a sqlmap. Utilizza diverse tecniche e vettori diversi, inclusa l'iniezione cieca, e dispone anche di tecniche per l'esecuzione di codice e il caricamento/caricamento di file arbitrari. Inoltre, ha nel suo arsenale tecniche per una dozzina di diversi motori di template e alcune tecniche per la ricerca di iniezioni di codice simili a eval() in Python, Ruby, PHP, JavaScript. In caso di successo, apre una console interattiva.

pro:

  • Un gran numero di tecniche e vettori diversi;
  • Supporta molti motori di rendering dei modelli;
  • Molte tecniche operative.

CeWL

CeWL - un generatore di dizionari in Ruby, creato per estrarre parole univoche da un sito Web specifico, segue i collegamenti sul sito fino a una profondità specifica. Il dizionario compilato di parole univoche può essere successivamente utilizzato per forzare password su servizi o file e directory su uno stesso sito Web o per attaccare gli hash risultanti utilizzando hashcat o John the Ripper. Utile quando si compila un elenco "obiettivo" di potenziali password.

pro:

  • Facile da usare.

contro:

  • Devi stare attento alla profondità di ricerca per non acquisire un dominio in più.

Passaggio debole

Passaggio debole - un servizio contenente molti dizionari con password univoche. Estremamente utile per varie attività relative al cracking delle password, che vanno dalla semplice forza bruta online degli account sui servizi di destinazione, alla forza bruta offline degli hash ricevuti utilizzando hashcat o John The Ripper. Contiene circa 8 miliardi di password di lunghezza compresa tra 4 e 25 caratteri.

pro:

  • Contiene sia dizionari specifici che dizionari con le password più comuni: puoi scegliere un dizionario specifico per le tue esigenze;
  • I dizionari vengono aggiornati e riempiti con nuove password;
  • I dizionari sono ordinati per efficienza. Puoi scegliere l'opzione sia per la forza bruta online rapida che per la selezione dettagliata delle password da un voluminoso dizionario con le ultime fughe di notizie;
  • C'è un calcolatore che mostra il tempo necessario per crittografare le password sulla tua attrezzatura.

Strumenti web o da dove iniziare come pentester?

Vorremmo includere gli strumenti per i controlli CMS in un gruppo separato: WPScan, JoomScan e AEM hacker.

AEM_hacker

Hacker dell'AEM è uno strumento per identificare le vulnerabilità nelle applicazioni Adobe Experience Manager (AEM).

pro:

  • Può identificare le applicazioni AEM dall'elenco di URL inviati al suo input;
  • Contiene script per ottenere RCE caricando una shell JSP o sfruttando SSRF.

JoomScan

JoomScan — uno strumento Perl per automatizzare il rilevamento delle vulnerabilità durante l'implementazione del CMS Joomla.

pro:

  • In grado di trovare difetti di configurazione e problemi con le impostazioni amministrative;
  • Elenca le versioni di Joomla e le vulnerabilità associate, in modo simile per i singoli componenti;
  • Contiene più di 1000 exploit per i componenti Joomla;
  • Produzione di report finali in formato testo e HTML.

Strumenti web o da dove iniziare come pentester?

WPScan

WPScan - uno strumento per la scansione dei siti WordPress, presenta vulnerabilità nel suo arsenale sia per il motore WordPress stesso che per alcuni plugin.

pro:

  • In grado di elencare non solo plugin e temi WordPress non sicuri, ma anche di ottenere un elenco di utenti e file TimThumb;
  • Può condurre attacchi di forza bruta sui siti WordPress.

contro:

  • Senza le impostazioni appropriate, esegue una serie di controlli incompleta, che può essere fuorviante.

Strumenti web o da dove iniziare come pentester?

In generale, persone diverse preferiscono strumenti di lavoro diversi: sono tutti buoni a modo loro e ciò che è piaciuto a una persona potrebbe non essere adatto a un'altra. Se ritieni che abbiamo ingiustamente ignorato qualche buona utilità, scrivilo nei commenti!

Fonte: habr.com

Aggiungi un commento