Utilizzo di Burp per attacchi automatizzati

Utilizzo di Burp per attacchi automatizzati

Burp Suite

Burp Suite è uno strumento di attacco di applicazione Web ricco di persone progettato da Portswigger. È dotato di tutto il necessario per eseguire un Pentest di successo contro un'applicazione Web. Burp è il tester e lo scanner per applicazioni Web più utilizzati al mondo, con oltre 40.000 utenti attivi, grazie alla sua interfaccia e profondità facili da usare. È già una fantastica applicazione Web Pentesting con funzionalità che possono ancora aumentare aggiungendo estensioni o componenti aggiuntivi chiamati Bapps.

Burp's Le caratteristiche principali sono le seguenti:

  • La possibilità di intercettare le richieste HTTP che normalmente vanno dal browser al server, quindi il server restituisce la risposta. Questo è fatto dalla sua caratteristica principale chiamata "Intercettazione del proxy ". Qui la richiesta viene interrotta a metà strada e passa dal browser dell'utente a Burp, quindi dal server.
  • La capacità di mappare il bersaglio, io.e., Applicazione Web utilizzando il file "Ragno" attrezzo. Questo viene fatto per ottenere l'elenco degli endpoint e strisciare attraverso di loro per trovare alcune vulnerabilità in essi.
  • Uno strumento di applicazione Web di scansione avanzata per l'automazione delle attività di rilevamento delle vulnerabilità nell'obiettivo (disponibile solo nella versione Pro).
  • UN "Intruso" Lo strumento viene utilizzato per attacchi automatizzati come la pagina di accesso di un'applicazione Web, attacchi di dizionario, sfocatura dell'applicazione Web per trovare vulnerabilità, ecc.
  • UN "Ripetitore" Strumento utilizzato per manipolare i valori o le richieste forniti dall'utente e osservando il proprio comportamento al fine di trovare vettori potenzialmente vulnerabili.
  • UN "Sequencer" Strumento per i token di sessione di test.
  • UN "Decodificatore" strumento per decodificare e codificare numerosi schemi di codifica come Base64, esagonale, ecc.
  • La possibilità di salvare il lavoro e riprendere in seguito (disponibile solo nella versione pro).

Installazione

Rutto Suite Può essere scaricato dal sito Web ufficiale di Portswigger:

https: // porswigger.Net/Burp/CommunityDownload.

Burp è disponibile per il download per quasi tutti i sistemi operativi tra cui Windows, Linux e MacOS. Facendo clic sull'opzione Ultima versione di download, verrai reindirizzato a una pagina di download con diverse edizioni e sistemi operativi, i.e., Edizione comunitaria O Edizione professionale. L'edizione professionale è pagata con i prezzi scritti sul suo sito ufficiale. Scarica la Community Edition e sei pronto per usare le sue fantastiche funzionalità di base.

Utilizzo

Per usare 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 da lavorare con Burp

Per configurare Chrome per funzionare con un burp, prima, fai clic su personalizzare opzione nell'angolo in alto a destra della finestra, quindi vai al Impostazioni opzione. Nella finestra Impostazioni, scegli Impostazioni avanzate, e poi fare clic su Modificare le impostazioni proxy Dalle opzioni indicate.

Per configurare Firefox per lavorare con Burp

Per configurare Firefox per lavorare con un burp, vai al Menu Firefox Nell'angolo in alto a destra della finestra, fare clic su Preferenze opzione, quindi vai al Opzioni pulsante. Qui, cerca Proxy di rete nel Generale scheda. Clicca il Configurazione proxy manuale. Inserisci l'indirizzo dell'ascoltatore, io.e., 127.0.0.1, e Porta Burp, i.e., 8080. Elimina tutto nel "Nessun proxy per " campo, e sei a posto.

Attacco della forza bruta 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 tecniche diverse come token di accesso, password, chiavi, ecc. L'uso di password è altamente comune nella vita di tutti i giorni. Ecco che arriva l'importanza dell'autenticazione di base, io.e., La scelta di una forte password complessa, perché l'area di accesso protetta con un'autenticazione debole è possibile accedere facilmente utilizzando attacchi automatizzati come attacchi di dizionario per forconi bruti.

L'attacco del dizionario è un attacco di forza bruta su un campo di accesso con l'aiuto di a dizionario. In questo attacco, centinaia di migliaia di possibili combinazioni di password indovinate memorizzate in un dizionario sono provate sul campo di accesso, con l'intenzione che uno di loro possa funzionare. Queste password vengono provate in modo successivo sul campo di accesso per bypassare l'autenticazione.

Consideriamo uno scenario in cui dobbiamo bruto forzare una pagina di accesso usando un dizionario o un elenco di parole contenenti centinaia di migliaia o milioni di password comunemente trapelate.

Apri Burp Suite e inizia a intercettare il traffico girando Intercettare. 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 che va al server e va invece a Burp. Fare clic con il tasto destro e scegliere, Invia a intrusi Dalle opzioni indicate.

Ora, passa a Intruso scheda, e vedremo più schede, i.e., Posizioni, payload, opzioni. Dobbiamo configurare tutte le opzioni in queste schede per lasciare che Burp faccia il suo lavoro e ottenga il nostro risultato desiderato.

Posizioni

Vediamo prima la scheda Posizioni. Qui, diciamo al burp i parametri che vogliamo attaccare nella richiesta, io.e., campo password, campo nome utente, ecc.

Per impostazione predefinita, Burp mette in evidenza alcuni campi per raccomandare all'utente quali campi possono attaccare. Ma nel nostro caso, dobbiamo solo cambiare il valore del nome utente E parola d'ordine campi, in modo che siano cambiati con la parola successiva nel dizionario, attraverso il quale stiamo attaccando in ogni richiesta. Per questo, dobbiamo prima cancellare tutte le aree evidenziate facendo clic su Chiaro pulsante sul lato destro della finestra. Ciò chiarirà le aree evidenziate di Burp da parte di Burp. Ora evidenzia i campi di nome utente e password, che sono "NON ESISTE" nel nostro caso, quindi fai clic Aggiungere. Dobbiamo anche specificare il tipo di attacco, che è un cecchino, per impostazione predefinita e cambiarlo in Bomba a grappolo.

Carichi utili

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

Ora, nell'impostazione di un carico utile per il parametro 2, i.e., Il campo della password, aggiungiamo un elenco di parole comunemente usato di password trapelate, i.e., "Rockyou.TXT" Dal nostro caso, abbiamo questo in un file. Fare clic su Payload 2 e scegliere il tipo di payload come Elenco semplice. In Opzione payload, clic Carico e vai al file dell'elenco delle parole desiderato, quindi selezionalo. I valori di elenco di parole selezionati verranno mostrati come indicato di seguito.

Opzioni

Dopo aver impostato i parametri di attacco e l'elenco dei payload, è tempo di impostare un'opzione molto importante chiamata "Opzioni". Nella scheda Opzioni, alcune regole che sono impostate per dirci quale richiesta ha esito positivo; Nel nostro caso, dirà quale password ha funzionato. Dobbiamo configurare una cosa qui, che è la stringa o il messaggio che verrà visualizzato per ottenere la password giusta, i.e., Benvenuto, benvenuto nel nostro portale, bene essere tornato, ecc. Dipende dallo sviluppatore di applicazioni Web. Possiamo verificarlo inserendo eventuali credenziali giuste nell'area di accesso.

Abbiamo "Benvenuto in amministrazione area protetta da password" qui. Ora, passa a Burp in Scheda Opzioni, Trovare Grep Match, e scrivi la seguente stringa qui. Controlla il Stringa semplice opzione e siamo a posto.

Tutto è impostato bene. Ora, tutto ciò che dobbiamo fare è 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 l'intruso provare tutte le combinazioni come l'immagine sopra indicata. Possiamo vedere se la richiesta ha esito positivo o meno osservando la lunghezza delle richieste. La richiesta di successo sarebbe di una lunghezza diversa rispetto a quella non conquistata. Un altro modo per sapere se la richiesta ha esito positivo o meno è guardando l'area "Benvenuta per proteggere le password" (i.e., la stringa che abbiamo fornito al Opzioni Scheda prima) Tab. Se la piccola scatola è spuntata, significa che la richiesta ha esito positivo e viceversa. Nel nostro caso, la richiesta di successo ha una lunghezza 4963, mentre è 4902 nel caso di uno senza successo.

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

Fuzzing

Fuzzing è un approccio utilizzato per automatizzare il processo di scoperta di bug, debolezze o vulnerabilità inviando una tonnellata di richieste a un'applicazione con vari carichi utili, con l'aspettativa che l'applicazione Web possa attivare un'attività. Non è esplicito per le applicazioni Web, ma può anche essere utilizzato in altri numerosi attacchi come buffer, overflow, ecc. La stragrande maggioranza delle vulnerabilità Web comuni possono essere trovate attraverso fuzzing come script incrociati XSS, iniezione SQL, LFI, RFI, ecc. Burp è davvero potente ed è anche il miglior strumento disponibile - nel fare il lavoro senza intoppi.

Fuzzing con Burp

Prendiamo un'applicazione Web vulnerabile all'iniezione SQL e lo sfuggirà con Burp per trovare campi potenzialmente vulnerabili.

Accendi Burp e inizia a intercettare la richiesta di accesso. Vedremo un sacco di dati, fai clic con il pulsante destro del mouse e fare clic su Invia a intrusi Opzioni dal menu dato. Vai al Posizioni scheda e configurare i parametri giusti. Per impostazione predefinita, Burp mette in evidenza alcuni campi per raccomandare all'utente quali campi può attaccare l'utente. Ma nel nostro caso, dobbiamo solo cambiare il valore di nome utente E parola d'ordine campi. Innanzitutto, cancella tutte le aree evidenziate facendo clic su Chiaro pulsante sul lato destro della finestra. Ciò chiarirà le aree evidenziate Burp raccomandate. Ora, basta evidenziare i campi di nome utente e password, quindi fare clic su Aggiungere. Dobbiamo anche specificare il tipo di attacco e cambiarlo Cecchino.

Ora, vai alla scheda Payloads e, qui, dobbiamo impostare il nostro carico utile attraverso il quale attaccaremo questi campi selezionati. I loro valori verranno modificati con ogni richiesta in base al payload. Impostiamo un payload per il parametro 1 e il parametro 2, i.e., Nome utente e campi di password, rispettivamente. Rutto Ha anche una vasta gamma dei suoi carichi utili per diversi tipi di vulnerabilità. Possiamo usarli o crearne o caricarne uno dei nostri nell'interfaccia facile da usare di Burp. In questo caso, caricheremo Burp's carico utile che attiverà un avviso in caso di ricerca di una vulnerabilità SQL.

Selezionare Elenco semplice In Tipo di payload opzione. Ora, fai clic sull'opzione di caricamento dal "Opzioni payload" finestra. Qui, seleziona Iniezione fuzzing-SQL Payload 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, è possibile 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 al 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 fantastica opzione è il "Tempo scaduto" Opzione che è molto utile in caso di potenziali firewall per applicazioni web. Nel nostro caso, abbiamo controllato l'opzione "Segui reindirizzamento" poiché abbiamo un parametro di reindirizzamento nella richiesta. Tuttavia, di tanto in tanto, l'errore può attivare inoltre prima del reindirizzamento, entrambi possono essere testati separatamente.

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

Ottenendo un codice di stato o un valore di lunghezza, si deve controllare il risposta finestra. Nel nostro caso, possiamo vedere che la quarta richiesta ha un codice di stato diverso e un valore di lunghezza più elevato del solito e, guardando l'area di risposta, possiamo vedere che Burp può bypassare l'area di accesso usando un valore dal payload. L'attacco può essere considerato un successo.

Questa è una tecnica molto efficace nelle procedure di taglio di bug e test di penna in quanto indaga ogni parametro presente nel sito e tenta di comprendere ciò che fa, se è connesso con il database o si riflette nella pagina di risposta, tra gli altri. Questa tecnica, tuttavia, provoca molto rumore dalla parte del server e può persino portare alla negazione del servizio, il che è frustrante per gli aggressori, nonché per gli utenti e gli sviluppatori di applicazioni Web.

Estensioni di burp

Con l'aiuto di Burp Extender, è possibile aggiungere numerose estensioni di Burp utili per migliorare le capacità di Burp. Si può scrivere il suo codice di terze parti o le estensioni di caricamento. Per il caricamento e l'installazione di estensioni su Burp, Bapp Il negozio è il posto dove andare. Esistono vari usi per le estensioni BURP, come la modifica delle richieste e della risposta HTTP, personalizzando l'interfaccia utente, aggiungendo controlli di scanner e runtime, ecc.

Negozio di bapp

Il negozio BAPP è costituito da estensioni di Burp che sono state composte da clienti di Burp Suite per migliorare le capacità e le caratteristiche di Burp. Puoi vedere la carrellata di BAPP accessibili introdotti espliciti e le valutazioni dei clienti inviate per coloro che hai introdotto.

Le estensioni di Burp possono anche essere scaricate da Bapp sito web del negozio e può essere aggiunto a Burp in seguito. Diverse estensioni di Bapps o Bapp sono scritti in diverse lingue come Python o Ruby e si aspettano che l'utente scarichi Jython o Jruby per funzionare correttamente. Quindi configurare Burp con la directory degli importanti interpreti del linguaggio. In alcuni casi, un BAPP può richiedere una forma successiva di Burp o una versione alternativa di Burp. Diamo un'occhiata ad alcune delle enormi estensioni utili di Burp:

Autorizzare:

Autorize è un'estensione molto efficace quando è necessario rilevare automaticamente le vulnerabilità di autorizzazione in un'applicazione Web. Il rilevamento delle vulnerabilità di autorizzazione è un compito che richiede molto tempo per qualsiasi cacciatore di bounti di bug o Pentester. Nel metodo manuale, è necessario rimuovere i cookie ogni volta da ciascuna richiesta per verificare se l'autorizzazione è stata implementata o meno. Autorizzare questo lavoro fa automaticamente solo prendendo cookie di un utente privilegiato a basso contenuto di un'applicazione Web, quindi consentendo all'utente più privilegiato di navigare. Autorize lo fa ripetendo ogni richiesta con una sessione utente privilegiata a basso e inizia a rilevare vulnerabilità o difetti di autorizzazione.

Allo stesso modo è concepibile ripetere ogni richiesta senza cookie forniti, riconoscere i difetti di autenticazione e le vulnerabilità di autorizzazione. Questa estensione funziona senza alcuna configurazione precedente, ma allo stesso tempo è profondamente adattabile, consentendo la disposizione della granularità delle condizioni di autorizzazione di approvazione e richiedendo l'estensione un must test e quant'altro.

Al completamento della procedura, ci sarà Rosso verde, E Giallo colori sullo schermo, mostrando "Bypassato "," applicato "e" viene applicato ?? " Stato rispettivamente.

Intruso turbo

Turbo Intruder è una versione modificata di Burp IntrUder e viene utilizzato quando sono necessari estremi complessità e velocità per la gestione delle richieste HTTP. Turbo Intruder è veloce in quanto utilizza uno stack HTTP a mano dalla base, dando la priorità e tenendo presente la velocità. Questo lo rende estremamente veloce, e talvolta, anche un'opzione migliore degli script ben scritti. La sua natura scalabile è un altro punto culminante, dovuto alla sua capacità di ottenere un utilizzo della memoria piatta. Turbo Intruder può anche eseguire in un ambiente di comando. Un algoritmo diffinuto avanzato è costruito in questa fantastica estensione, che filtra automaticamente l'output noioso e inutile.

Uno degli attacchi principali in cui è possibile utilizzare l'intruso turbo Attacchi di condizione di razza. Quando un sistema che è stato progettato per eseguire attività in una sequenza specifica è costretto a eseguire più di un'attività alla volta, si chiama condizione di gara. In quel tipo di scenario, Intruso turbo viene utilizzato, in quanto può eseguire più attività con una velocità enorme. Questo tipo di attacco può essere utilizzato nell'esistenza della vulnerabilità delle condizioni di razza e può causare attacchi come la riscatto di più carte regalo, l'abuso di caratteristiche simili.

Per l'invio della richiesta HTTP a Turbo Intruder, intercettare la richiesta e quindi fare clic con il pulsante destro del mouse sulla finestra, quindi selezionare il Invia a Turbo Intruso Opzione dall'elenco delle opzioni fornite. Turbo Intruder è un po 'più difficile da usare rispetto all'intruso predefinito di Burp.

Conclusione:

Burp è uno strumento estremamente potente e ricco di 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 di bug. Le attività che possono richiedere giorni possono essere svolte manualmente nel minimo tempo usando Burp e fornisce anche una semplice interfaccia utente grafica per avviare attacchi di forza bruta con o senza un dizionario, solo facendo la propria lista di parole al momento. D'altra parte, il Bapp Il negozio offre estensioni estremamente potenti che migliorano ulteriormente le capacità di Burp Suite.