
Plugin Burp per decrittografare il traffico crittografato con AES al volo
Plugin Burpsuite per decifrare il traffico AES crittografato al volo
NOTA: Supporta attualmente la crittografia/decifratura AES/CBC/PKCS5Padding e AES/ECB/PKCS5Padding.
$ git clone https://github.com/Ebryx/AES-Killer/
$ cd AES-Killer
$ ./gradlew clean build
AES_Killer-Parameters.java: Supponiamo che l'applicazione applichi la crittografia su alcuni parametri nella richiesta e questi parametri cambieranno ogni volta in base all'endpoint/richiesta, tutto ciò che devi fare è il seguente:
- Aggiungi gli endpoint aggiungendo this.endpoints.add("abc"); nella funzione registerExtenderCallbacks
- Aggiungi i parametri che verranno crittografati in `String[][] parameters`
- Aggiungi il resto dei parametri in grant_type o crea una voce vuota
e lascia che il codice faccia la magia per te.
AES_Killer_v3.0.java: Questa variante è generica e può gestire qualsiasi tipo di formato di richiesta, ad esempio GET, POST (Form, JSON) con parametri alternati su diversi endpoint
- Clona il progetto e sostituisci BurpExtender.java con il codice AES_Killer_v3.0.java - Modifica gli endpoint e i parametri di ogni tipo di richiesta nell'ordine mostrato qui sotto - Aggiorna i parametri SecretKey e IV e gli altri metodi richiesti - Compila il progetto e sei pronto per partire
AES_Killer_v4.0.java: Questa variante è per la crittografia multilivello in cui l'applicazione crittografa alcuni parametri della richiesta con una chiave e successivamente crittografa l'intero corpo della richiesta con un'altra chiave
- Clona il progetto e sostituisci BurpExtender.java con il codice AES_Killer_v4.0.java - Modifica gli endpoint e i parametri come mostrato qui sotto - Aggiorna le Secret Keys e gli altri metodi richiesti - Compila il progetto e aggiungi il file jar al tuo extender
NOTA: Queste varianti non funzioneranno direttamente per te a causa della natura della tua richiesta, quindi potrebbero richiedere piccole modifiche.
Scarica il file jar dalla Release e aggiungilo in Burpsuite
Secret KeyInitialize VectorStart AES Killer
Una volta avviato AES Killer, prende il controllo di IHttpListener.processHttpMessage di Burp, responsabile della gestione di tutto il traffico in uscita e in entrata, e AES Killer fa quanto segue:
ProcessHttpMessage crittografa la richiestaProcessHttpMessage decifra la risposta prima di mostrarcelaQuindi riceveremo solo la risposta in testo puro e possiamo giocare con la richiesta in testo puro.
Possiamo anche crittografare e decifrare manualmente le stringhe usando AES Killer. Prendiamo una stringa crittografata dalla richiesta TYROd49FWJjYBfv02oiUzwRQgxWMWiw4W3oCqvNf8h3bnb7X0bobypFzMt797CYU e decifriamola usando AES Killer. Allo stesso modo, possiamo eseguire anche la crittografia.
Scarica l'app demo da qui