Plugin Burp de génération de modèles Nuclei
Un plugin Burp Suite destiné à faciliter la génération de modèles nuclei.
Fonctionnalités
Génération de modèles de correspondance (matchers)
- Création de matchers
Word et Binary en utilisant des extraits de réponse sélectionnés depuis l'historique Proxy ou les contextes Repeater
- Les sélections multi-lignes sont divisées en mots distincts pour une meilleure lisibilité
- Les matchers binaires sont créés pour les sélections contenant des caractères non
ASCII
- Le champ
part est automatiquement défini en fonction de l'emplacement de la sélection (en-tête ou corps de la requête)
- Chaque modèle généré inclut automatiquement un matcher
Status, utilisant le code d'état HTTP de la réponse
Modification des modèles générés
- De nouveaux matchers et requêtes peuvent être ajoutés à des modèles précédemment générés, en surlignant une partie d'une réponse
- En cas de CVE, les champs d'information du modèle peuvent être renseignés automatiquement (clic droit sur un modèle, Add → Classification → CVE)
Génération de modèles de requête
- Dans l'onglet
Intruder, les positions de payload sélectionnées peuvent être utilisées pour générer des modèles de requête, avec l'un des types d'attaque suivants : Battering ram, Pitchfork ou Cluster bomb
- L'extrait de texte sélectionné dans une requête
HTTP sous les onglets Proxy ou Repeater peut être utilisé pour générer un modèle de requête avec le type d'attaque par défaut Battering ram
- Des modèles contenant plusieurs requêtes peuvent être générés en sélectionnant plusieurs éléments du proxy et en cliquant sur générer
Exécution de modèles
- Les modèles générés peuvent être exécutés instantanément, et la sortie est affichée dans la même fenêtre pour plus de commodité
- Le plugin génère automatiquement la commande CLI, en utilisant le chemin absolu de nuclei, le chemin absolu du modèle et les informations de la cible extraites de la requête souhaitée
- L'historique des commandes uniques exécutées est conservé, peut être recherché rapidement et réexécuté dans la session en cours
- Le filtrage des flags CLI et l'aide à la complétion sont accessibles via le raccourci clavier
CTRL + R
Fonctionnalités expérimentales
- Auto-complétion (non contextuelle) des propriétés et valeurs
YAML, en utilisant les mots réservés du schéma JSON de nuclei
- Coloration syntaxique des propriétés
YAML, basée sur les mots réservés
Productivité
- Presque toutes les actions peuvent être déclenchées via des raccourcis clavier :
- F1 : ouvrir la documentation des modèles nuclei
- Ctrl + Entrée : exécuter le modèle actuel
- Ctrl + Maj + E : accéder à l'éditeur de modèles
- Ctrl + L : accéder au champ de saisie CLI
- Ctrl + R : afficher l'aide sur les arguments CLI
- Ctrl + S : enregistrer le modèle actuel
- Ctrl + Plus/Moins : augmenter/diminuer la taille de la police
- Ctrl + Q : quitter
- Support des onglets :
- Ctrl + Tab ou Ctrl + PageDown : ouvrir l'onglet suivant
- Ctrl + Maj + Tab ou Ctrl + PageUp : ouvrir l'onglet précédent
- Ctrl + [1-9] : aller au n-ième onglet
- Molette de la souris vers le haut/bas sur les onglets : naviguer vers l'onglet suivant ou précédent
- Ctrl + W ou Clic sur le bouton central de la souris : fermer l'onglet actuel
- Le chemin du modèle est automatiquement mis à jour si le modèle est enregistré dans un nouvel emplacement
- Le
template-id est recommandé comme nom de fichier lors de l'enregistrement
Paramètres
- Le plugin tente de détecter et de remplir automatiquement les valeurs de configuration
- Le code recherche le chemin du binaire nuclei, en utilisant les valeurs de la variable d'environnement
PATH du processus
Remarque : le binaire Burp Suite, contrairement au jar BurpSuite autonome, peut ne pas avoir accès à
la variable PATH de l'utilisateur actuel.
- Le chemin cible du modèle est calculé à partir du répertoire de modèles nuclei par défaut, configuré sous
<USER_HOME>/.config/nuclei/.templates-config.json
- Le nom de l'utilisateur du système d'exploitation actuellement connecté est utilisé comme valeur par défaut pour la configuration de l'auteur du modèle
- L'utilisateur peut décider d'afficher le modèle généré dans une fenêtre dédiée ou intégré sous "Generator", dans l'onglet Nuclei
Aspect et convivialité
- La fenêtre du générateur de modèles prend en charge les thèmes sombre et clair. Le thème présenté est choisi en fonction du thème Burp Suite sélectionné, sous
User Options
- Prise en charge de la sortie colorée de nuclei
- Taille de police modifiable dans l'éditeur de modèles et la sortie des commandes
Construction du code
Utilisez mvn clean package -DskipTests pour construire le projet vous-même. Nécessite Maven 3.x et Java 11+.
Sous macOS, les dépendances du plugin peuvent être satisfaites avec Homebrew : brew install mvn openjdk@11
Sinon, différentes versions peuvent être téléchargées depuis la section Actions. L'artefact construit se trouve sous la section Artifacts de la dernière build. Ces artefacts sont générés après chaque commit, mais ne sont conservés que pour une durée limitée.
Installation
En construisant le code :
- Construisez le code vous-même ou téléchargez une version pré-construite/version publiée
- Allez dans
Extender dans Burp Suite
- Cliquez sur le bouton
Add dans l'onglet Extensions
- Laissez le
Extension Type sur Java
- Sélectionnez le chemin vers le plugin (
.jar)
Via BApp Store :
- Allez dans
Extender dans Burp Suite
- Sélectionnez l'onglet
BApp Store
- Recherchez Nuclei Template Generator Plugin
- Cliquez sur Install
Remarque : ce plugin NE nécessite PAS Burp Suite Professional.
Captures d'écran