Rutto

Utilizzo di Burp per attacchi automatici

Utilizzo di Burp per attacchi automatici

Burp Suite

Burp Suite è uno strumento di attacco per applicazioni web ricco di funzionalità progettato da Portswigger. È dotato di tutto il necessario per eseguire con successo un pentest contro un'applicazione web. Burp è il tester e scanner di applicazioni web più utilizzato al mondo, con oltre 40.000 utenti attivi, grazie alla sua interfaccia e profondità di facile utilizzo. È già una fantastica applicazione web in pentest con funzionalità che possono essere ulteriormente aumentate aggiungendo estensioni o componenti aggiuntivi chiamati BApps.

di Burp le caratteristiche principali sono le seguenti:

Installazione

Rutto Suite può essere scaricato dal sito Web ufficiale di PortSwigger:

https://portswigger.net/burp/communitydownload.

Burp è disponibile per il download per quasi tutti i sistemi operativi inclusi Windows, Linux e MacOS. Facendo clic sull'opzione Scarica l'ultima versione, verrai reindirizzato a una pagina di download con diverse edizioni e sistemi operativi, ad esempio.e., Edizione comunitaria o Edizione professionale. L'edizione professionale si paga con i prezzi scritti sul suo sito ufficiale. Scarica l'edizione Community e sei pronto per utilizzare le sue fantastiche funzionalità di base.

Utilizzo

Per utilizzare Rutto, deve essere configurato per intercettare le richieste HTTP. Per configurare i browser, i.e., Chrome, Firefox, ecc., dobbiamo seguire i passaggi indicati di seguito:

Per configurare Chrome in modo che funzioni con Burp

Per configurare Chrome in modo che funzioni con un Burp, innanzitutto fai clic su personalizzare opzione nell'angolo in alto a destra della finestra, quindi vai a impostazioni opzione. Nella finestra delle impostazioni, scegli Impostazioni avanzate, e poi clicca su Modifica impostazioni proxy dalle opzioni date.

Per configurare Firefox affinché funzioni con Burp

Per configurare Firefox in modo che funzioni con un Burp, vai su Menu di Firefox nell'angolo in alto a destra della finestra, fare clic su Preferenze opzione, quindi vai a Opzioni pulsante. Ecco, cerca Proxy di rete nel Generale tab. Clicca il Configurazione manuale del proxy. Inserisci l'indirizzo dell'ascoltatore, i.e., 127.0.0.1, e Burp port, io.e., 8080. Elimina tutto nel "Nessuna delega per” campo, e sei a posto.

Attacco Brute Force usando Burp

L'autenticazione è il processo per assicurarsi che la persona giusta stia accedendo al servizio o che la persona giusta stia effettuando l'accesso, utilizzando diverse tecniche come token di accesso, password, chiavi, ecc. L'uso delle password è molto comune nella vita di tutti i giorni. Ecco l'importanza dell'autenticazione di base, i.e., la scelta di una password complessa forte, perché l'area di accesso protetta con autenticazione debole è accessibile facilmente utilizzando attacchi automatici come la forzatura bruta, attacchi a dizionario.

Dictionary Attack è un attacco di forza bruta su un campo di accesso con l'aiuto di a dizionario. In questo attacco vengono provate centinaia di migliaia di possibili combinazioni di password indovinate memorizzate in un dizionario nel campo di login, con l'intenzione che una di esse possa funzionare. Queste password vengono provate successivamente nel campo di accesso per aggirare l'autenticazione.

Consideriamo uno scenario in cui dobbiamo eseguire la forza bruta di una pagina di accesso utilizzando un dizionario o un elenco di parole contenente centinaia di migliaia o milioni di password comunemente trapelate.

Apri Burp Suite e inizia a intercettare il traffico svoltando Intercetta attiva. Passa al browser e inserisci qualsiasi nome utente o password nei campi indicati, quindi fai clic su Accedi. Ora passa a Rutto, vedrai che il traffico è stato intercettato a metà strada andando al server e va invece a Burp. Fare clic con il tasto destro e scegliere, Invia a intruso dalle opzioni date.

Ora, passa a Intruso scheda, e vedremo più schede, i.e., Posizioni, Payload, Opzioni. Dobbiamo configurare correttamente tutte le opzioni in queste schede per consentire al Burp di fare il suo lavoro e ottenere il risultato desiderato.

posizioni

Diamo prima un'occhiata alla scheda Posizioni. Qui, diciamo al burp i parametri che vogliamo attaccare nella richiesta, i.e., campo password, campo nome utente, ecc.

Per impostazione predefinita, Burp evidenzia alcuni campi per consigliare all'utente quali campi può attaccare. Ma nel nostro caso, abbiamo solo bisogno di cambiare il valore di nome utente e parola d'ordine campi, in modo che vengano cambiati con la parola successiva del dizionario, attraverso la quale stiamo attaccando in ogni richiesta. Per questo, dobbiamo prima cancellare tutte le aree evidenziate facendo clic sul Chiaro pulsante sul lato destro della finestra. Questo chiarirà le aree evidenziate consigliate da Burp. Ora, evidenzia i campi nome utente e password, che sono "NON ESISTE" nel nostro caso, quindi fare clic su Inserisci. Dobbiamo anche specificare il tipo di attacco, che è Cecchino, per impostazione predefinita e cambiarlo in Bomba a grappolo.

Payload

Ora, dobbiamo impostare il nostro payload attraverso il quale attaccheremo questi campi selezionati. I loro valori verranno modificati ad ogni richiesta in base al carico utile. Impostiamo un carico utile per il parametro 1, i.e., Campo nome utente. Aggiungiamo un piccolo elenco di parole di nomi utente che abbiamo in un file. Fai clic su Payload 1 e scegli Payload type as Elenco semplice. Nel Opzione carico utile, clic Caricare e vai al file dell'elenco di parole desiderato, quindi selezionalo. I valori dell'elenco di parole selezionati verranno mostrati come indicato di seguito.

Ora, nell'impostare un carico utile per il parametro 2, i.e., il campo Password, aggiungiamo un elenco di parole comunemente usate di password trapelate, i.e., “rockyou.TXT" poiché nel nostro caso, abbiamo questo in un file. Fai clic su Payload 2 e scegli Payload type as Elenco semplice. Nel Opzione carico utile, clic Caricare e vai al file dell'elenco di parole desiderato, quindi selezionalo. I valori dell'elenco di parole selezionati verranno mostrati come indicato di seguito.

Opzioni

Dopo aver impostato i parametri di attacco e l'elenco del carico utile, è il momento di impostare un'opzione molto importante chiamata "Opzioni". Nella scheda Opzioni, alcune regole che sono impostate per dirci quale richiesta è andata a buon fine; nel nostro caso, dirà quale password ha funzionato. Dobbiamo configurare una cosa qui, che è la stringa o il messaggio che verrà visualizzato quando si ottiene la password corretta, i.e., Benvenuto, benvenuto nel nostro portale, bello essere tornato, ecc. Dipende dallo sviluppatore dell'applicazione web. Possiamo verificarlo inserendo eventuali credenziali corrette nell'area di accesso login.

Abbiamo "Benvenuto nell'area protetta da password admin" qui. Ora, passa a Burp nel Scheda Opzioni, trova Partita Grep, e scrivi qui la seguente stringa. Controlla il Stringa semplice opzione, e siamo a posto.

Tutto è impostato bene. Ora non ci resta che iniziare l'attacco. Vai alla scheda Intruso, quindi fai clic su Inizia l'attacco. Un intruso ora proverà tutte le combinazioni possibili dai payload forniti.

Possiamo vedere Intruder provare tutte le combinazioni come l'immagine data sopra. Possiamo vedere se la richiesta è andata a buon fine o meno guardando la lunghezza delle richieste. La richiesta andata a buon fine sarebbe di lunghezza diversa da quella non andata a buon fine. Un altro modo per sapere se la richiesta è andata a buon fine o meno è guardare la "Benvenuti nell'area protetta da password" (i.e., la stringa che abbiamo fornito al Opzioni scheda precedente) scheda. Se la piccola casella è spuntata, significa che la richiesta è andata a buon fine e viceversa. Nel nostro caso la richiesta andata a buon fine ha lunghezza 4963, mentre è 4902 nel caso non andata a buon fine.

L'attacco di forza bruta che utilizza Burp, con l'aiuto di un potente dizionario, è un metodo molto efficace e sottovalutato per aggirare le pagine di accesso, che non sono fatte per entità dannose. In caso di password debole, usata, facile o piccola, questa è una tecnica molto efficace.

Fuzz

Il fuzzing è un approccio che viene utilizzato per automatizzare il processo di scoperta di bug, punti deboli o vulnerabilità inviando una tonnellata di richieste a un'applicazione con vari payload, con l'aspettativa che l'applicazione web possa attivare un'attività. Non è esplicito per le applicazioni Web, ma può essere utilizzato anche in altri numerosi attacchi come buffer, overflow, ecc. La stragrande maggioranza delle vulnerabilità web comuni può essere trovata tramite fuzzing come XSS cross-site scripting, SQL Injection, LFI, RFI, ecc. Burp è davvero potente ed è anche il miglior strumento disponibile per portare a termine il lavoro senza intoppi.

Fuzz con Burp

Prendiamo un'applicazione web vulnerabile a SQL Injection e mettiamola in confusione con burp per trovare campi potenzialmente vulnerabili.

Avvia Burp e inizia a intercettare la richiesta di accesso. Vedremo una serie di dati, fare clic con il tasto destro e fare clic su Invia a intruso opzioni dal menu indicato. Vai al posizioni scheda e configurare i parametri giusti. Per impostazione predefinita, Burp evidenzia alcuni campi per consigliare all'utente quali campi l'utente può attaccare. Ma nel nostro caso, dobbiamo solo cambiare il valore di value nome utente e parola d'ordine campi. Per prima cosa, cancella tutte le aree evidenziate facendo clic su Chiaro pulsante sul lato destro della finestra. Questo cancellerà le aree evidenziate consigliate da Burp. Ora, evidenzia i campi nome utente e password, quindi fai clic su Inserisci. Dobbiamo anche specificare il tipo di attacco e cambiarlo in Cecchino.

Ora andiamo nella scheda Payloads e, qui, dobbiamo impostare il nostro payload attraverso il quale attaccheremo questi campi selezionati. I loro valori verranno modificati ad ogni richiesta in base al carico utile. Impostiamo un carico utile per il parametro 1 e il parametro 2, i.e., Rispettivamente i campi Nome utente e Password. Rutto ha anche una vasta gamma di payload per diversi tipi di vulnerabilità. Possiamo usarli o creare o caricare uno dei nostri nell'interfaccia facile da usare di Burp. In questo caso, stiamo per caricare di Burp payload che attiverà un avviso in caso di rilevamento di una vulnerabilità SQL.

Selezionare Elenco semplice nel Tipo di carico utile opzione. Ora, fai clic sull'opzione Carica dal “Opzioni di carico utile” finestra. Qui, seleziona Iniezione Fuzzing-SQL carico utile dalle opzioni disponibili. I set di payload vengono utilizzati per capire l'elenco che stai per utilizzare per un parametro specificato. Nel caso in cui scegli due vettori di attacco (parametri), puoi impostare un elenco di parole alternativo per tutti. Allo stesso modo, puoi impostare il tipo di payload come alterazione del caso, numeri, date e così via. Per questa situazione, l'elenco di base è vitale poiché stiamo usando il payload predefinito di Burp.

Ora vai su Opzioni scheda, e puoi vedere alcune opzioni molto interessanti. Ad esempio, il “Grep” opzione che può essere selezionata per abbinare la risposta alle parole chiave fornite come "SQL". Un'altra opzione interessante è il "Tempo scaduto" opzione molto utile in caso di potenziali firewall per applicazioni web. Nel nostro caso, abbiamo selezionato l'opzione "Segui reindirizzamento" poiché abbiamo un parametro di reindirizzamento nella richiesta. Tuttavia, di tanto in tanto, l'errore può attivarsi ulteriormente prima del reindirizzamento, quindi entrambi possono essere testati separatamente.

Ora, tutto è pronto e l'intruso Burp è pronto per iniziare l'attacco. Fai clic sull'opzione Avvia attacco nell'angolo sinistro e attendi solo l'attacco, che richiederebbe letteralmente ore per essere completato manualmente, in appena un minuto o due. Una volta completato l'attacco, tutto ciò che dobbiamo fare è analizzare da vicino i risultati forniti. Dovremmo cercare un valore diverso o dispari nel lunghezza colonna. Si dovrebbero cercare eventuali anomalie anche nel codice di stato, in quanto indica anche quale richiesta ha causato un errore e viceversa.

Quando si ottiene un codice di stato dispari o un valore di lunghezza, si deve controllare il risposta finestra. Nel nostro caso, possiamo vedere che la 4a richiesta ha un codice di stato diverso e un valore di lunghezza maggiore del solito, e guardando l'area di risposta, possiamo vedere che Burp può bypassare l'area di login usando un valore dal payload. L'attacco può essere considerato riuscito.

Questa è una tecnica molto efficace nelle procedure di bug bounty e di test della penna in quanto indaga su ogni parametro presente nel sito e tenta di comprendere cosa fa, se è collegato al database o si riflette nella pagina di risposta, tra gli altri. Questa tecnica, tuttavia, causa molto rumore sul lato server e può persino portare a Denial of Service, che è frustrante per gli aggressori, nonché per gli utenti e gli sviluppatori di applicazioni web.

Estensioni Burp

Con l'aiuto di Burp Extender, è possibile aggiungere numerose utili estensioni Burp per migliorare le capacità di Burp. Si può scrivere il proprio codice di terze parti o caricare estensioni. Per caricare e installare estensioni su Burp, BApp Il negozio è il posto dove andare. Esistono vari usi per le estensioni Burp, come la modifica delle richieste e delle risposte HTTP, la personalizzazione dell'interfaccia utente, l'aggiunta di scanner e controlli di runtime, ecc.

BApp Store

Il BApp Store è costituito da estensioni Burp che sono state composte dai clienti di Burp Suite per migliorare le capacità e le funzionalità di Burp. Puoi vedere il riepilogo delle BApp accessibili introdotte con le BApp esplicite e le valutazioni dei clienti inviate per quelle che hai introdotto.

Le estensioni Burp possono anche essere scaricate dal from BApp sito web del negozio e può essere aggiunto a Burp in seguito. Diverse BApp o estensioni BApp sono scritte in linguaggi diversi come Python o Ruby e si aspettano che l'utente scarichi Jython o JRuby affinché funzionino correttamente. Quindi configura Burp con la directory degli interpreti di lingue importanti. In alcuni casi, una BApp potrebbe richiedere una forma successiva di Burp o una versione alternativa di Burp. Diamo un'occhiata ad alcune dell'enorme quantità di estensioni utili di Burp:

Autorizzare:

Autorize è un'estensione molto efficace quando è necessario rilevare automaticamente le vulnerabilità di autorizzazione in un'applicazione Web. Rilevare le vulnerabilità di autorizzazione è un compito che richiede molto tempo per qualsiasi cacciatore di taglie o pentester. Nel metodo manuale, è necessario rimuovere i cookie ogni volta da ogni richiesta per verificare se l'autorizzazione è stata implementata o meno. Autorizzare fa questo lavoro automaticamente semplicemente prendendo i cookie di un utente con pochi privilegi di un'applicazione web, quindi lasciando che l'utente con più privilegi lo navighi. Autorize esegue questa operazione ripetendo ogni richiesta con una sessione utente con privilegi bassi e inizia a rilevare vulnerabilità o difetti di autorizzazione.

Allo stesso modo è ipotizzabile ripetere ogni richiesta senza cookie forniti, per riconoscere difetti di autenticazione e vulnerabilità di autorizzazione. Questa estensione funziona senza alcuna configurazione preventiva, ma allo stesso tempo è profondamente adattabile, consentendo di disporre la granularità delle condizioni di autorizzazione all'approvazione e richiedendo l'estensione a must test e quant'altro.

Al termine della procedura, ci sarà Rosso verde, e Giallo colori sullo schermo, mostrando “Bypassed", "Enforced" e " Is Enforced ?? " stati rispettivamente.

Turbo Intruso

Turbo Intruder è una versione modificata di Burp Intruso e viene utilizzato quando è necessaria un'estrema complessità e velocità per la gestione delle richieste HTTP. Turbo Intruder è veloce in quanto utilizza un codice stack HTTP dalla base, dando priorità e tenendo a mente la velocità. Questo lo rende estremamente veloce e, a volte, anche un'opzione migliore rispetto agli script GO ben scritti. La sua natura scalabile è un altro punto forte, dovuto alla sua capacità di ottenere un utilizzo della memoria piatto. Turbo Intruder può anche essere eseguito in un ambiente a riga di comando. Un algoritmo di diffing avanzato è costruito in questa fantastica estensione, che filtra automaticamente l'output noioso e inutile.

Uno dei principali attacchi in cui Turbo Intruder può essere utilizzato è Attacchi alle condizioni di gara. Quando un sistema che è stato progettato per eseguire attività in una sequenza specifica è costretto a eseguire più di un'attività alla volta, si parla di race condition. In quel tipo di scenario, Turbo Intruso viene utilizzato, in quanto può eseguire più attività con enorme velocità. Questo tipo di attacco può essere utilizzato in presenza di vulnerabilità race condition e può causare attacchi come il riscatto di più carte regalo, l'abuso di funzionalità simili/diverse, ecc.

Per inviare la richiesta HTTP a Turbo intruder, intercettare la richiesta e quindi fare clic con il tasto destro sulla finestra, quindi selezionare il Invia a Turbo Intruder opzione dall'elenco di opzioni fornito. Turbo Intruder è un po' più difficile da usare rispetto all'Intruder predefinito di Burp.

Conclusione:

Burp è uno strumento estremamente potente e ricco di funzionalità la cui una delle sue fantastiche funzioni e caratteristiche è automatizzare gli attacchi e trovare vulnerabilità, il che rende la vita molto più facile per un pentester o un cacciatore di taglie. Le attività che possono richiedere giorni manualmente possono essere eseguite nel minor tempo possibile utilizzando Burp e fornisce anche una semplice interfaccia utente grafica per lanciare attacchi di forza bruta con o senza un dizionario, semplicemente creando la propria lista di parole al momento. D'altra parte, il BApp store fornisce estensioni estremamente potenti che migliorano ulteriormente le capacità di Burp Suite.

Come invertire la direzione di scorrimento del mouse e dei touchpad in Windows 10
Topo e Touchpads non solo rende l'elaborazione semplice, ma anche più efficiente e richiede meno tempo. Non possiamo immaginare una vita senza questi ...
Come modificare il puntatore del mouse e le dimensioni, il colore e lo schema del cursore su Windows 10
Il puntatore del mouse e il cursore in Windows 10 sono aspetti molto importanti del sistema operativo. Questo si può dire anche per altri sistemi oper...
Motori di gioco gratuiti e open source per lo sviluppo di giochi Linux
Questo articolo tratterà un elenco di motori di gioco gratuiti e open source che possono essere utilizzati per lo sviluppo di giochi 2D e 3D su Linux....