
Plugin Burp pour déchiffrer le trafic chiffré AES à la volée
Plugin Burpsuite pour déchiffrer le trafic chiffré AES à la volée
NOTE : Prend actuellement en charge le chiffrement/déchiffrement AES/CBC/PKCS5Padding et AES/ECB/PKCS5Padding.
$ git clone https://github.com/Ebryx/AES-Killer/
$ cd AES-Killer
$ ./gradlew clean build
AES_Killer-Parameters.java : Supposons que l'application impose le chiffrement sur certains paramètres de la requête et que ces paramètres changent à chaque fois selon le point de terminaison/requête, tout ce que vous avez à faire est le suivant :
- Ajoutez des points de terminaison en ajoutant this.endpoints.add("abc"); dans la fonction registerExtenderCallbacks
- Ajoutez les paramètres qui seront chiffrés dans `String[][] parameters`
- Ajoutez le reste des paramètres dans grant_type ou faites une entrée vide
et laissez le code faire la magie pour vous.
AES_Killer_v3.0.java : Cette variante est générique et peut traiter tout type de format de requête, c'est-à-dire GET, POST (Form, JSON) avec des paramètres alternés sur différents points de terminaison
- Clonez le projet et remplacez le fichier BurpExtender.java par le code AES_Killer_v3.0.java - Modifiez les points de terminaison et paramètres de chaque type de requête dans l'ordre indiqué ci-dessous - Mettez à jour les paramètres SecretKey et IV ainsi que les autres méthodes requises - Compilez le projet et vous êtes prêt
AES_Killer_v4.0.java : Cette variante est conçue pour le chiffrement multi-niveaux où l'application chiffre d'abord certains paramètres de requête avec une clé, puis chiffre l'ensemble du corps de la requête avec une autre clé
- Clonez le projet et remplacez le fichier BurpExtender.java par le code AES_Killer_v4.0.java - Modifiez les points de terminaison et paramètres comme indiqué ci-dessous - Mettez à jour les clés secrètes et les autres méthodes requises - Compilez le projet et ajoutez le fichier jar à votre extendeur
NOTE : Ces variantes ne fonctionneront pas directement pour vous en raison de la nature de votre requête, donc un petit ajustement peut être nécessaire.
Téléchargez le fichier jar depuis Release et ajoutez-le dans Burpsuite
Secret KeyInitialize VectorStart AES Killer
Une fois que nous démarrons AES Killer, il prend le contrôle de IHttpListener.processHttpMessage de Burp, qui est responsable du traitement de tout le trafic sortant et entrant, et AES Killer effectue les opérations suivantes :
ProcessHttpMessage chiffre la requêteProcessHttpMessage déchiffre d'abord la réponse avant de nous la montrerAinsi, nous n'obtiendrons que la réponse en texte clair et pourrons manipuler la requête en texte clair.
Nous pouvons également chiffrer et déchiffrer manuellement des chaînes avec AES Killer. Prenons une chaîne chiffrée de la requête TYROd49FWJjYBfv02oiUzwRQgxWMWiw4W3oCqvNf8h3bnb7X0bobypFzMt797CYU et déchiffrons-la avec AES Killer. De même, nous pouvons aussi effectuer le chiffrement.
Téléchargez l'application de démonstration depuis ici