penetration-test

Burp Suite: Penetration test di mobile app e web

Indice dei contenuti

burp suite

Burp Suite è un software progettato per analizzare il traffico di rete generato da applicazioni web-based

Utilizzato per esaminare e manipolare il flusso di dati dal browser web verso il server di riferimento, come ad esempio un sito Internet, è strutturato in una serie di strumenti che consentono all’utente di eseguire diversi Penetration Test e attacchi di vario genere.

E’ composto principalmente da questi componenti:

  • Proxy: permette di ispezionare e manipolare il traffico di rete tra il brower web e l’applicazione da analizzare.
  • Spider: indicizza il contenuto del sito, generando una lista di URL da verificare per individuare eventuali falle di sicurezza.
  • Scanner:  questo tool, disponibile solamente con la versione “Professional”, esegue uno scan automatizzato in cerca di vulnerabilità note pubblicamente.
  • Intruder: utile per generare attacchi personalizzati, quindi exploit non presenti del database di Burp Suite.
  • Repeater: registra ogni richiesta eseguita tra client e server e permette di riprodurla successivamente simulando l’identità dell’emittente.
  • Sequencer: permette di verificare la “casualità” dei dati, ad esempio gli ID di sessione, i token utilizzati per il reset delle password, ecc.

Sono disponibili due versioni di questo software: Free Edition e Professional Edition.

La Professional, offrendo alcuni strumenti aggiuntivi (come il “vulnerability scanner”) ha un costo di licenza.

Essendo un’applicazione in Java, l’installazione è pressochè immediata, dovendo solamente scaricare l’archivio JAR distribuito dal sito ufficiale (https://portswigger.net/).

Di seguito alcuni esempi di utilizzo:

Il componente più indicato per analizzare (ed eventualmente alterare) il contenuto di una richiesta è il “Proxy Intercept”.

Per abilitarlo basterà selezionare i TAB “Proxy” e quindi “options” per configurarlo:

burp suite

La sezione “Proxy Listeners” serve per impostare l’indirizzo IP su cui mettere in ascolto il proxy.

Potete fare il binding su tutte le interfacce cliccando sul pulsante “Add”, nell’area di testo “Bind to port” del tab “Binding” inserire un numero di porta (ad esempio 8080) e spuntare la voce “All interfaces” del radio button con etichetta “bind to address”.

burp_suite2

Il server gestirà tutti i protocolli (anche le connessioni SSL), ragion per cui, nel tab “Certificates” è necessario importare un certificato SSL oppure generarne uno auto-firmato abilitando la voce “generate ca-signed per-host certificate“:

burp_suite_3

Nelle sezioni “Intercept Client Requests” e “Intercept Server Responses” potete creare dei filtri per analizzare solamente determinate richieste (da parte del client o del server), ad esempio quelle eseguite con il metodo POST oppure le risposte che contengono un “codice di stato” ben definito.

In questo esempio, abilitando le voci “Intercept request based on the following rules” e “Automatically update Content-Lenght header when request is edited“, processeremo tutto il traffico in transito dal browser web verso il sito Internet:

burp_suite_4

La configurazione è terminata e non resta altro da fare che abilitare il proxy nel browser web che state utilizzando.

Con “Mozilla Firefox”, sarà sufficiente cliccare sul menù Edit->Preferences->Advanced e quindi sul pulsante “Settings”.

Selezionare la voce “Manual proxy configuration” e inserire nei campi di testo “HTTP Proxy” e “Port” l’indirizzo 127.0.0.1 e il valore 8080.lu

Terminare abilitando la checkbox “Use this proxy server for all protocols”.

burp suite

Da questo momento, Burp Suite riceverà i dati di qualsiasi sito andrete a visitare prima che giungono a destinazione.

La funzionalità “proxy” ha due diverse modalità di utilizzo, selezionabili operando con il pulsante “Intercept on|off”.

Attivandolo, quando il client eseguirà una richiesta, il proxy non farà il forward del traffico al server, ma vi permetterà di analizzarlo ed editarlo per poi reinviarlo (FORWARD) oppure scartarlo (DROP):

burp suite

Disattivando l’intercept, l’applicazione farà il forward automatico di tutte le richieste, ma ne terrà traccia mostrandole nel TAB “HTTP History”:

burp Suite

Tutte le query presenti nella lista, possono essere selezionate e passate agli altri strumenti per eseguire successivi test (“Repeater” per attacchi di invalidazione di input come una RFI, “Intruder” per fare un bruteforce di una password, ecc.)

Ad esempio, per alterare una richiesta ed inviarla al server, basterà selezionarla con il tasto destro e cliccare su “Send to Repeater” oppure digitare CRTL+R

Selezionare il TAB “Repeater” e dopo avere eseguito una qualunque modifica cliccare su “Go”:

burp suite

Nel caso in cui volessimo provare ad indovinare una password con un attacco di tipo brute-force invece, si dovrà selezionare la richiesta che contiene la password ed inviarla allo strumento “Intruder”.

Cliccare sul TAB “Intruder” e quindi “positions”, per poi utilizzare il pulsante “Clear”. Dopo avere selezionato con il mouse il campo che contraddistingue la password, selezionare il pulsante “Add”:

burp suite

In Payload, selezionare il tipo “Brute forcer”:

burp suite

quindi Intruder->Start Attack

Ecco di seguito un altro esempio, in cui eseguiremo un penetration test per una vulnerabilità di tipo Blind SQL-Injection.

Dopo avere selezionato (tramite il TAB “positions” dello strumento “Intruder”) la variabile in cui inserire l’exploit, nella sezione “Positions” impostare il valore “Simple list” nel menù a tendina “Payload type”.

Non rimane altro da fare che fornire a Burp Suite una serie di exploit da utilizzare, che possono essere caricati tramite un file di testo cliccando sul pulsante “Load”:

Burp Suite

Avviare il test con “Intruder->Start Attack”.

Poichè nel payload viene utilizzata la funzione “benchmark”, per capire se l’applicazione che stiamo analizzando è vulnerabile ad un attacco di tipo “Blind SQL-Injection”, basterà verificare il valore della colonna “Response completed” di ogni richiesta:

Burp Suite

CONDIVIDI SUI SOCIAL

Una risposta

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

87 + = 95