Guida Le migliori estensioni per Burpsuite Community

0xbro

Super Moderatore
24 Febbraio 2017
4,219
166
3,290
1,645
Ultima modifica:
Burpsuite è il principale strumento per analizzare siti e web application in cerca di vulnerabilità. Se già di per sè il tool è molto potente, è possibile installare dei componenti aggiuntivi in modo da migliorarlo ancora di più. In questo articolo approfondiremo quindi quali siano le migliori estensioni per Burpsuite e come funzionino.​
b939cf_9bb01c5770524378ac222f0e5a46d24f-mv2.png


Le migliori estensioni per Burpsuite Community​

Tempo di lettura stimato: 10 min​





1    Burpsuite

Per chi non lo conoscesse ancora, Burpsuite è un tool programmato e mantenuto da PortSwigger, specifico per l'analisi e il testing di applicazioni web. Tra le varie funzionalità fornite dal tool troviamo la possibilità di intercettare e modificare "al volo" richieste e risposte da e verso il server, la possibilità di navigare lo storico di richieste effettuate dal nostro client, una serie di strumenti per la codifica e decodifica di dati in vari formati, un intruder per poter inviare una stessa richiesta molteplici volte usando diversi payload e tanto altro.​

6863084_2.png

Esistono 3 versioni di Burpsuite, le cui differenze sono elencate in grandi linee qui sotto:​
  • Community: La versione community è la versione gratuita disponibile per chiunque. Rispetto alla versione Pro ha alcune funzionalità limitate (es. il fuzzing o l'enumeration tramite l'intruder sono limitati a 1 singolo thread la cui velocità viene ridotta ulteriormente durante l'attacco e non è possibile eseguire ricerche mirate all'interno della history) o del tutto mancanti (non è presente lo scanner automatico di vulnerabilità), ma per il resto è al 90% uguale alla controparte a pagamento.​
  • Pro: E' la versione completa del prodotto, specifica per i professionisti del settore. Ha un costo su licenza annuale di €349 e mette a disposizione del pentester una quantità enorme di strumenti utili per analizzare applicazioni web e siti. Il tool non ha alcun tipo di limitazione e le sue funzionalità possono essere estese ulteriormente tramite i plugin rilasciati dalla community o da PortSwigger (anche la Community edition permette di installare alcuni plugin, ma non tutti). Permette di eseguire scan automatiche, ricerche mirate e tanto altro.​
  • Enterprise: La versione enterprise del tool si focalizza maggiormente sull'automatizzazione di scan automatiche e sulla gestione delle vulnerabilità identificate. Ideale da implementare all'interno di processi di DevSecOps.​
Di seguito trovate i riferimenti per approfondire maggiormente le differenze tra le versioni Pro ed Enterprise (Burp Suite Enterprise Edition vs. Burp Suite Professional) e tra Community e Pro (Burp Suite Community Edition vs. Burp Suite Professional)

Tutte quante le versioni sono scaricabili su Windows, su Linux e su macOS.​

1.1    Extender


L'Extender di Burp è il pannello dal quale è possibile estendere le funzionalità del tool installando diversi plugin (chiamati BApp) dal rispettivo Store (BApp Store). Queste estensioni possono essere scritte da chiunque e i linguaggi supportati al momento sono Java, Python e Ruby.​

Extender.png

2    Migliori estensioni

2.1    Community Edition

2.1.1    Turbo Intruder

Considerato il grosso limite all'intruder che affligge la versione gratuita di Burpsuite, questa estensione è l'ideale per sormontare il problema. Turbo Intruder permette infatti l'invio massivo di una grande quantità di richieste HTTP e la successiva analisi delle rispettive risposte. Questo plugin è molto utile anche per testare le vulnerabilità dovute a race-condition o a timing-attacks. Il tool utilizza script in python per configurare gli attacchi e uno stack HTTP programmato da zero per essere più veloce di ogni competitor.​

TurboIntruder.png

2.1.2    Param Miner

Param Miner è un utilissimo plugin che permette di identificare parametri, cookie o header nascosti e che può tornare in particolar modo molto utile durante la ricerca di vulnerabilità relative al web cache poisoning. E' possibile attaccare sia richieste specifiche, sia analizzare tutto il traffico a run-time tramite la funzionalità di auto-mining.
ParamMiner1.png

ParamMiner2.png

2.1.3    HTTP Request Smuggler

HTTP Request Smuggler è un'estensione per ideata per identificare più facilmente vulnerabilità relative ad attacchi di Request Smuggling. Il tool è in grado di gestire complesse modifiche agli offset e diverse modalità di smuggling, facilitando di molto la ricerca di questo genere di falle. Siccome questo genere di vulnerabilità è in continua ascesa e identificarle talvolta non risulta per nulla facile, questa estensione è un must in ogni installazione di Burpsuite.​

HTTPReqSmugl1.png

HTTPReqSmugl2.png

2.1.4    JSON Web Tokens + JSON Web Token Attacker

Ho posizionato assieme questi due plugin poichè sono, sostanzilamente, complementari l'uno con l'altro.

JSON Web Tokens è un'estensione che permette di decodificare, analizzare, manipolare e firmare facilmente i JWT senza dover passare da script esterni. Permette inoltre di testare il token per alcune classiche falle tipiche del formato, come "Alg None" & "CVE-2018-0114".​

JWT.png

JWT2.png

JSON Web Token Attacker, anche conosciuto col nome di JOSEPH (JavaScript Object Signing and Encryption Pentesting Helper), permette di testare più nel dettaglio i token JWT in cerca di ulteriori falle non scovabili tramite l'estensione precedentemente menzionata.
JOSEPH.png

2.1.5    Logger++

Logger++, come lascia intendere il nome, è un'estensione che permette di loggare TUTTO il traffico prodotto da BurpSuite, comprese le richieste "invisibili" generate da altre estensioni, le richieste inviate dal Repeater e più in generale tutto il restante traffico elaborato dal tool. Oltre alle funzionalità di logging l'estensione permette di impostare filtri di ricerca avanzati, permettendo di rimediare alle limitazioni imposte alla history di Burp nella sia versione Community. I log possono inoltre venir esportati in modo da integrarli con altri strumenti di analisi.​

Logger++.png

Logger++2.png

2.1.6    Autorize

Autorize è un utilissimo tool che permette di testare, per ogni richiesta che passi da burpsuite, se sono applicati i giusti controlli sulle autorizzazioni associate a quella richiesta. Per farlo è sufficiente impostare diversi cookie, associati a diversi account con privilegi diversi, e il tool farà tutto il lavoro per noi, segnalandoci quali richieste sono bypassabili e quali invece implementate correttamente. Il tool è scritto in Jython, sarà quindi necessario installare tale componente all'interno di burp.
Autorizev1.3.png

2.1.7    Hackvector

Hackvertor è uno strumento di conversione del testo basato su tags che supporta varie codifiche ed escapes, tra cui HTML5 entities, il formato esadecimale, ottale, unicode, url encoded e tantissimi altri. I tag sono costruiti come segue: <@base64_0><@/base64_0>. Il simbolo @ è usato come identificatore per istruire il tool che il tag che lo contiene è un tag di Hackvertor seguito dal nome del tag e non un tag qualunque. Grazie alla grandissima flessibilità del tool è possibile codificare, decodificare, encodare e fare il decode anche di stringhe incapsulate dentro altri encoding, concatenare diverse conversioni ed utilizzarle dentro il repeater/intruder. E' possibile poi vedere il risultato della richiesta utilizzano un qualsiasi altro logger, come quello built-in in burpsuite o logger++.​

Hackvector1.png

Hackvector2.png

2.1.8    JSON Decoder + JSON Query


Come per i JWT, anche in questo caso ho deciso di accorpare due tool, secondo me complementari, per l'analisi di oggetti JSON. I due tools sono rispettivamente:

JSON Decoder: Il tool aggiunge una nuova scheda all'editor di messaggi HTTP di Burp e visualizza i messaggi JSON in forma decodificata facilitando notevolmente la lettura e l'analisi di questi oggetti.
JSONDecoder.png

JSON Query: Un tool che consente di analizzare e abbellire le risposte JSON, permettendo inoltre di interrogare l'oggetto tramite dei JSONPath specifici, per estrarre campi ed elementi desiderati nel dettaglio. Permette infine di copiare ed esportare i risultati per utilizzarli successivamente in altri strumenti.​

JSON Query.png

3    Conclusioni

Burpsuite è indubbiamente una Suite potentissima e molto utile, ma che presenta delle limitazioni, a volte anche molto impattanti, che ne prevengono lo sfruttamento al 100% delle sue potenzialità. Fortunatamente sono stati sviluppati diversi plugin ed estensioni che permettono di superare tali limitazioni e, anzi, ne estendono ancora di più le possibilità, aggiungendo utilissime feature o migliorando vari aspetti secondari del tool.

Consiglio vivamente a tutti voi di provare queste estensioni e, nel caso ne conosceste altre, farlo sapere a tutta la community! Vi interessa conoscere quali sono le rispettive controparti per la versione Pro del tool? Fatemi sapere!​



Made with ❤ for Inforge

 

MyBB Engine

Utente Jade
24 Giugno 2011
1,040
118
372
720
purtroppo ho trovato tantissime vulnerabilita' con HTTP Request Smuggling, su Logitech e anche su Google ma non sono mai riuscito ad exploitarle in modo decente... saro' io ma ci ho perso centinaia di ore e mai niente di buono :(
 
  • Incredibile
Reazioni: 0xbro

0xbro

Super Moderatore
24 Febbraio 2017
4,219
166
3,290
1,645
purtroppo ho trovato tantissime vulnerabilita' con HTTP Request Smuggling
Wow, buono! Ho visto in un report di Port Swigger che effettivamente nell'ultimo anno c'è stato un grosso incremento di questo tipo di vulnerabilità, anche in parte dovuto alla diffuzione di HTTP/2.

Per curiosità, hai una tecnica particolare su cui fai affidamento o uno script/tool che ti dà supporto, oppure è tutto lavoro manuale con burp? :)

Non l'avevo mai sentita questa vulnerabilità...di cosa si tratta?


Vedi: https://www.youtube.com/watch?v=dnyL7EKbRRk

Penso che siano la due spiegazioni più chiare
 
  • Mi piace
Reazioni: CrazyMonk

MyBB Engine

Utente Jade
24 Giugno 2011
1,040
118
372
720
Ultima modifica:
Wow, buono! Ho visto in un report di Port Swigger che effettivamente nell'ultimo anno c'è stato un grosso incremento di questo tipo di vulnerabilità, anche in parte dovuto alla diffuzione di HTTP/2.

Per curiosità, hai una tecnica particolare su cui fai affidamento o uno script/tool che ti dà supporto, oppure è tutto lavoro manuale con burp? :)




Vedi: https://www.youtube.com/watch?v=dnyL7EKbRRk

Penso che siano la due spiegazioni più chiare

Sinceramente ho utilizzato l'estensione rilasciata da colui che ha "scoperto" la vulnerabilita' o qunatomeno l'ha resa famosa visto che la vulnerabilita' era stata scoperta tipo nel 90 o roba del genere ma lui ha trovato un'applicazione in tempi recenti, quinti HTTP Request Smuggler (come estensione per burpsuite)
La cosa assurda e' che era presente sul login di Logitech e su qualche servizio di Google da quanto mi ricordo,
mi sono guardato ore di presentazioni sue ma al tempo c'erano davvero poche informazioni e anche capendo il contetto sembra che solo in casi limitati possa essere exploitato, direi un 20% exploitato e un 30% del rimanente si possa avere qualcosa di utile. va comunque concatenato con altre informazioni come path di cose interessanti accessibili solo con credenziali e giu di li
Messaggio unito automaticamente:

ah, e sapete chi sarebbe molto probabilmente vulnerabile a questo tipo di attacco? i forum e i market sulla darknet che hanno bisogno di tantissimi sistemi di load balancing visto che e' molto facile mandarli offline, basta proxare TOR con burp e voila', potrete rubare bitcoinne in modo non legale ma senza che nessuno vi possa perseguitare..
Messaggio unito automaticamente:

Non l'avevo mai sentita questa vulnerabilità...di cosa si tratta?
tl;dr i server che hanno bisogno di load balancer per funzionare sono praticamente come una ferrovia che ha piu' tratti, solo che ogni tratto puo' essere fatto con tecnologia diversa e quindi mandando alcuni parametri puoi diciamo far usare al treno un tratto mentre il pezzo di binario diverso da quello prima non riconosce quel header quindi puo' diventare o una vuln Client > Server oppure una vuln Server > Client, dipendentemente da quale server se quello iniziale a cui mandi la richiesta o quello finale riconosce l'header in un determinato modo, mandando una richiesta potresti fare Hijacking di una sessione in modo che la tua richiesta venga servita a qualcun'altro

Ex: Io mando la richiesta a server/endpoint/login, metto l'header, il primo server interpreta l'header in un modo, il server finale in un'altro e quando un'altro utente a caso manda la propria richiesta a server/endpoint/login gli viene servita in realta' la richiesta che ho fatto io perche' e' rimasta come "prefisso" nella stesso tunnel, quindi il server mandera' la richiesta mia iniziale, con suffisso la risposta che vorrebbe dare (in cui posso mettere js malevolo o altra roba)

oppure posso mandare una richiesta al server, il server ricettore della richiesta interpreta l'header, e mi permette di utilizzarlo per fare una query come se fossi io il server (mandando una richiesta HTTP per lui) quindi mi potrebbe permettere di accedere a risorse permesse solo in localhost

una cosa peculiare mi e' successa quando facendo dei test, ad un faro di Burpsite mi e' arrivata una richiesta con IP appartenente a Youtube (wtf) e non sono mai piu' riuscito a ricrearlo nemmeno a capirne il motivo a dire la verita'.... un pingback da un ip di youtube lol.
Messaggio unito automaticamente:

ah btw stavo seguendo un bug bounty di hackerone in ogni test giusto per context.
 
  • Mi piace
  • Love
Reazioni: 0xbro e CrazyMonk