Panoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2

Tempo fa ho già scritto di questo, ma in modo piuttosto scarno e confuso. In seguito, ho deciso di ampliare la lista degli strumenti nella recensione, aggiungere una struttura all'articolo, tenendo conto della critica (grazie mille Lefty per i consigli) e l'ho inviata a un concorso su SecLab (e l'ho pubblicata il link, ma per motivi comprensibili nessuno l'ha vista). Il concorso è terminato, i risultati sono stati annunciati e ora posso pubblicarla (l'articolo) su Habr con la coscienza pulita.

Strumenti gratuiti per il penetration testing delle applicazioni web

In questo articolo parlerò degli strumenti più popolari per il pentesting (test di penetrazione) delle applicazioni web seguendo la strategia del «black box».
Per questo esamineremo le utility che possono aiutare in questo tipo di test. Considereremo le seguenti categorie di prodotti:

  1. Scanner di rete
  2. Scanner di vulnerabilità nei web script
  3. Exploiting
  4. Automazione delle iniezioni
  5. Debugger (sniffer, proxy locali, ecc.)


Alcuni prodotti hanno un carattere universale, quindi li inserisco nella categoria in cui producono ilunmiglior risultato (opinione soggettiva).

Scanner di rete.

L'obiettivo principale è rivelare i servizi di rete disponibili, stabilire le loro versioni, determinare il sistema operativo, ecc.

NmapPanoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
Nmap («Network Mapper») è un'utilità gratuita e open source per l'analisi delle reti e l'audit della sicurezza dei sistemi. Coloro che sono contrari alla console possono utilizzare Zenmap, l'interfaccia grafica per Nmap.
Non è solo un "scanner intelligente", è uno strumento potente e estendibile (tra le «caratteristiche particolari» c'è uno script per controllare se un nodo è affetto dal worm "Stuxnet" (menzionato qui). Un esempio tipico di utilizzo:

nmap -A -T4 localhost

-A per determinare la versione del sistema operativo, effettuare scansioni con script e traceroute
-T4 impostazione per il controllo del tempo (più alto è, più veloce è, da 0 a 5)
localhost — host target
Qualcosa di più robusto?

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

Questo è un insieme di opzioni dal profilo «scan lento e completo» in Zenmap. Ci mette un po', ma fornisce informazioni più dettagliate sulla sistema target. Una guida di riferimento in italiano, se volete approfondire, e consiglio anche la traduzione dell'articolo Guida per principianti a Nmap.
Nmap ha ricevuto il titolo di "Prodotto di Sicurezza dell'Anno" da riviste e comunità come Linux Journal, Info World, LinuxQuestions.Org e Codetalker Digest.
Note interessante, Nmap può essere visto nei film "Matrix: Reloaded", "Die Hard 4", "The Bourne Ultimatum", "Captain Fantastic" e altri.

IP-ToolsPanoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
IP-Tools è un insieme di diverse utilità di rete, fornito con un'interfaccia grafica, ‘dedicata’ agli utenti di Windows.
Scanner di porte, risorse condivise (stampanti/cartelle condivise), WhoIs/Finger/Lookup, client telnet e molto altro. Uno strumento semplice, veloce e funzionale.

Non ha molto senso considerare gli altri prodotti, dato che ci sono molte utilità in questo campo e tutte hanno principi e funzionalità simili. Tuttavia, il più utilizzato rimane nmap.

Scanner di vulnerabilità nei web script

Cercano di trovare vulnerabilità popolari (SQL inj, XSS, LFI/RFI, ecc.) o errori (file temporanei non rimossi, indicizzazione di directory, ecc.)

Acunetix Web Vulnerability ScannerPanoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
Acunetix Web Vulnerability Scanner — è evidente dal link che si tratta di un scanner XSS, ma non è del tutto così. La versione gratuita, disponibile tramite il link, offre un'ampia gamma di funzionalità. Di solito, chi avvia questo scanner per la prima volta e riceve il report sul proprio sito prova un certo shock, e capirete perché, facendolo. Si tratta di un prodotto molto potente per l'analisi di diverse vulnerabilità presenti nel sito e funziona non solo con i siti PHP a noi familiari, ma anche con altri linguaggi (anche se la differenza nel linguaggio non è un indicatore). Non ha senso descrivere le istruzioni, poiché lo scanner semplicemente «cattura» le azioni dell'utente. È qualcosa di simile a «avanti, avanti, avanti, pronto» in un tipico processo di installazione di un software.

NiktoPanoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
Nikto è uno scanner web Open Source (GPL). Elimina il lavoro manuale di routine. Cerca nel sito target script non rimossi (come test.php, index_.php, ecc.), strumenti di amministrazione del database (/phpmyadmin/, /pma e simili), ecc., cioè verifica le risorse per gli errori più comuni, solitamente causati dal fattore umano.
Inoltre, se trova uno script popolare, lo controlla per eventuali exploit emersi (che sono presenti nel database).
Segnala i metodi 'indesiderati' disponibili, come PUT e TRACE
E così via. Molto comodo se lavori come auditor e analizzi quotidianamente i siti web.
Tra i lati negativi, vorrei sottolineare l'alto tasso di falsi positivi. Ad esempio, se il tuo sito restituisce sempre la homepage invece di un errore 404 (quando dovrebbe emergere), lo scanner dirà che ci sono script vulnerabili come quelli nel suo database. Nella pratica, ciò non accade molto spesso, ma come fatto, molto dipende dalla struttura del tuo sito.
Utilizzo classico:

./nikto.pl -host localhost

Se devi essere autorizzato sul sito, puoi impostare i cookie nel file nikto.conf, variabile STATIC-COOKIE.

WiktoPanoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
Wikto — Nikto per Windows, ma con alcune aggiunte, come la logica 'approssimativa' nel controllo del codice per errori, utilizzo di GHDB, ottenimento di link e directory delle risorse, monitoraggio in tempo reale delle richieste/risposte HTTP. Wikto è scritto in C# e richiede il framework .NET.

skipfishPanoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
skipfish — scanner di vulnerabilità web da Michal Zalewski (noto anche come lcamtuf). Scritto in C, è multipiattaforma (per Windows è necessario Cygwin). Scansiona l'intero sito in modo ricorsivo (e molto lungo, circa 20-40 ore, anche se l'ultima volta ha lavorato per 96 ore) e trova varie vulnerabilità di sicurezza. Inoltre, genera un notevole traffico (alcuni GB in entrata/uscita). Ma tutti i mezzi sono buoni, specialmente se si hanno tempo e risorse.
Utilizzo tipico:

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

Nella cartella «reports» ci sarà un rapporto in html, esempio.

w3af Panoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
w3af — Web Application Attack and Audit Framework, scanner open-source per vulnerabilità web. Ha un'interfaccia grafica, ma si può lavorare anche da console. Più precisamente, è un framework con una miriade di plugin..
Parlare dei suoi vantaggi può richiedere tempo, è meglio provarlo :]
Il lavoro tipico con esso consiste nella scelta del profilo, nella definizione dell'obiettivo e, di fatto, nell'avvio.

Mantra Security FrameworkPanoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
Mantra è un sogno che si è avverato.Collezione di strumenti gratuiti e open-source per la sicurezza informatica, integrati nel browser web.
Molto utili per testare applicazioni web in tutte le fasi.
L'uso consiste nell'installazione e nell'avvio del browser.

In realtà, ci sono molte utility in questa categoria ed è piuttosto difficile estrarre un elenco specifico. Spesso, ogni pentester decide autonomamente quali strumenti siano necessari.

Exploiting

Per un utilizzo automatizzato e più comodo delle vulnerabilità nel software e negli script, si scrivono exploit che richiedono solo di passare parametri per sfruttare la falla di sicurezza. Ci sono anche prodotti che eliminano la necessità di cercare manualmente gli exploit e li applicano 'al volo'. Di questa categoria parleremo ora.

Metasploit Framework Panoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
The Metasploit® Framework è una vera e propria bestia nel nostro campo. È così potente che la guida si estenderà su diversi articoli. Tratteremo l'exploit automatico (nmap + metasploit). In sostanza, Nmap analizzerà la porta di nostro interesse, installerà il servizio e Metasploit tenterà di applicare exploit basandosi sulla classe del servizio (ftp, ssh, ecc.). Invece di una guida testuale, inserisco un video, piuttosto popolare sul tema autopwn.

Riproduci video

In alternativa, si può semplicemente automatizzare l'uso dell'exploit di cui abbiamo bisogno. Ad esempio:

msf > usa ausiliario/admin/cisco/vpn_3000_ftp_bypass
msf ausiliario(vpn_3000_ftp_bypass) > imposta RHOST [TARGET IP]
msf ausiliario(vpn_3000_ftp_bypass) > esegui

In realtà, le possibilità di questo framework sono molto ampie, quindi, se avete deciso di approfondire, procediamo con link

ArmitagePanoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
Armitage — un'interfaccia GUI di genere cyberpunk per Metasploit. Visualizza gli obiettivi, raccomanda exploit e fornisce funzionalità avanzate di questo framework. In generale, per coloro che amano che tutto appaia bello ed efficace.
Screencast:

Riproduci video

Tenable Nessus®Panoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
Tenable Nessus® vulnerability scanner — ha molte funzionalità, ma noi abbiamo bisogno di una in particolare: la determinazione dei servizi per cui esistono exploit. La versione gratuita è "home only"

Uso:

  • Scaricato (per il proprio sistema), installato, registrato (la chiave arriva via email).
  • Avviato il server, abbiamo aggiunto un utente nel Nessus Server Manager (pulsante Gestisci utenti)
  • Accediamo all'indirizzo
    https://localhost:8834/

    e otteniamo il client flash nel browser

  • Scans -> Aggiungi -> compiliamo i campi (scegliendo il profilo di scansione adatto) e premiamo Scansione

Dopo un po', il report della scansione apparirà nella scheda Rapporti
Per verificare la vulnerabilità pratica dei servizi rispetto agli exploit, è possibile utilizzare il Metasploit Framework descritto sopra o provare a trovare un exploit (per esempio su Explot-db, packet storm, explot search e altri) e utilizzarlo manualmente contro del sistema
IMHO: troppo ingombrante. L'ho citato come uno dei leader in questo settore dell'industria software.

Automazione delle iniezioni

Molti scanner di sicurezza delle applicazioni web effettuano ricerche delle iniezioni, ma sono comunque scanner generali. Esistono strumenti specifici che si occupano della ricerca e dell'esploitazione delle iniezioni. Su questi parleremo ora.

sqlmapPanoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
sqlmap — utility open-source per la ricerca e l'esploitazione delle iniezioni SQL. Supporta server di database come: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
L'uso tipico si riassume nella seguente riga:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Ci sono abbastanza manuali, anche in lingua russa. Questo software facilita notevolmente il lavoro del pentester in questo settore.
Aggiungo una dimostrazione video ufficiale:

Riproduci video

bsqlbf-v2
bsqlbf-v2 — script in Perl, brute forcer per iniezioni SQL 'cieche'. Funziona sia con valori interi nell'URL, sia con stringhe.
Supporta i database:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracle

Esempio di utilizzo:

./bsqlbf-v2-3.pl -url www.somehost.com/blah.php?u=5 -blind u -sql "select table_name from information_schema.tables limit 1 offset 0" -database 1 -type 1

-url www.somehost.com/blah.php?u=5 — link con parametri
-blind u — parametro per l'iniezione (prelevato per default l'ultimo dalla stringa URL)
-sql "select table_name from information_schema.tables limit 1 offset 0" — la nostra richiesta arbitraria al database
-database 1 — server DB: MSSQL
-tipo 1 — tipo di attacco, iniezione "cieca" basata su risposte True ed Error (ad esempio, errori di sintassi)

Debugger

Questi strumenti sono principalmente utilizzati dagli sviluppatori quando ci sono problemi con i risultati dell'esecuzione del proprio codice. Ma questa direzione è utile anche nei test di penetrazione, in quanto è possibile sostituire i dati necessari "al volo", analizzando cosa arriva in risposta ai nostri parametri in ingresso (ad esempio durante il fuzzing), e così via.

Burp Suite
Burp Suite — una serie di utilità che aiutano nei test di penetrazione. Online è disponibile una buona panoramica in lingua russa di Raz0r (anche se del 2008).
Nella versione gratuita sono inclusi:

  • Burp Proxy — proxy locale, consente di modificare le richieste già formate dal browser
  • Burp Spider — spider, cerca file e directory esistenti
  • Burp Repeater — invio manuale di richieste HTTP
  • Burp Sequencer — analisi di valori casuali nei moduli
  • Burp Decoder — codificatore-decodificatore standard (html, base64, hex, ecc.), ce ne sono migliaia che possono essere scritti rapidamente in qualche linguaggio
  • Burp Comparer — componente di confronto delle stringhe

In sostanza, questo pacchetto risolve praticamente tutte le problematiche legate a questo settore.

FiddlerPanoramica degli strumenti gratuiti per il pentesting di risorse web e non solo v2
Fiddler — Fiddler è un proxy di debug che registra tutto il traffico HTTP(S). Permette di esplorare questo traffico, impostare breakpoint e "giocare" con i dati in entrata o in uscita.

C'è anche Firesheep, un mostro Wireshark e altri, la scelta spetta all'utente.

Conclusione

Naturalmente, ogni esperto di pentesting ha il proprio arsenale e il proprio set di strumenti, poiché ce ne sono davvero tanti. Ho cercato di presentare alcuni dei più comodi e popolari. Ma affinché chiunque possa conoscere anche altri strumenti in questo campo, fornirò dei link qui sotto.

Diverse classifiche/liste di scanner e strumenti

Distribuzioni Linux che già includono un sacco di diversi strumenti per il pentesting

aggiornamenti: Documentazione di BurpSuite in russo dal team "Hack4Sec" (aggiunto AntonKuzmin)

P.S. Non possiamo omettere XSpider. Non partecipa alla recensione, anche se è condizionatamente gratuito (l'ho scoperto quando ho inviato l'articolo a SecLab, proprio per questo motivo (non perché non lo conoscessi, ma perché non avevo l'ultima versione 7.8) e non l'ho incluso nell'articolo). E in teoria era prevista una sua recensione (ho preparato per lui test complessi), ma non so se il mondo lo vedrà.

P.P.S. Alcuni materiali dell'articolo saranno utilizzati secondo l'intento diretto nel prossimo report su CodeFest 2012 nella sezione QA, dove verranno presentati strumenti non menzionati qui (gratuiti, ovviamente), e sarà discusso l'algoritmo su quale ordine utilizzare, quale risultato aspettarsi, quali configurazioni impiegare e varie indicazioni e trucchi durante il lavoro (penso alla presentazione quasi ogni giorno, cercherò di condividere il meglio da parte mia su questo argomento).
A proposito, riguardo a questo articolo si è tenuto un evento su Open InfoSec Days (tag su Habré, sito), si può sfruttare le corone dare un'occhiata a i materiali.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster