Utiliser l'attaque Cluster Bomb dans Burp Intruder

Beginner
Pratiquer maintenant

Introduction

Burp Intruder est un outil puissant de Burp Suite pour automatiser des attaques personnalisées contre des applications web. Il est hautement configurable et peut être utilisé pour effectuer une large gamme de tâches, allant de la simple attaque par force brute à la recherche complexe de vulnérabilités.

L'une des caractéristiques clés d'Intruder est ses différents types d'attaques. Le type d'attaque "Cluster Bomb" est particulièrement utile lorsqu'une attaque nécessite de tester plusieurs entrées distinctes en combinaison. Il utilise plusieurs ensembles de charges utiles (payloads), un pour chaque position définie, et itère à travers toutes les combinaisons possibles de charges utiles. Ceci est idéal pour des scénarios tels que le brute-force d'un formulaire de connexion où vous avez une liste de noms d'utilisateur potentiels et une liste séparée de mots de passe potentiels.

Dans ce laboratoire, vous apprendrez à configurer et à exécuter une attaque Cluster Bomb à l'aide de Burp Intruder pour découvrir une combinaison valide de nom d'utilisateur et de mot de passe sur une page de connexion d'exemple.

Envoyer une requête de connexion à Intruder

Dans cette étape, vous allez lancer Burp Suite et un navigateur web, puis capturer une requête de connexion et l'envoyer à Burp Intruder pour une analyse plus approfondie.

Tout d'abord, vous devez démarrer Burp Suite.

  1. Cliquez sur le menu Application dans le coin supérieur gauche du bureau.
  2. Naviguez vers Other -> Burp Suite Community Edition.

Burp Suite va démarrer. Sélectionnez "Temporary project" et cliquez sur "Next", puis cliquez sur "Start Burp".

Ensuite, ouvrez le navigateur web Firefox et configurez-le pour utiliser Burp Suite comme proxy.

  1. Cliquez sur le menu Application -> Internet -> Firefox Web Browser.
  2. Dans Firefox, allez dans Settings -> General -> Network Settings et cliquez sur Settings....
  3. Sélectionnez Manual proxy configuration.
  4. Définissez HTTP Proxy sur 127.0.0.1 et Port sur 8080.
  5. Cochez la case Also use this proxy for HTTPS.
  6. Cliquez sur OK.

Maintenant, naviguez vers la page de connexion cible. Dans la barre d'adresse de Firefox, entrez :

http://127.0.0.1:5000/login

Vous devriez voir un formulaire de connexion simple. Dans Burp Suite, allez dans l'onglet Proxy, puis le sous-onglet Intercept, et assurez-vous que l'interception est activée (le bouton doit indiquer "Intercept is on").

De retour dans Firefox, entrez test pour le nom d'utilisateur et test pour le mot de passe, puis cliquez sur le bouton Login. La requête sera interceptée dans l'onglet Proxy -> Intercept de Burp.

Maintenant, envoyez cette requête capturée à Intruder.

  1. Faites un clic droit n'importe où dans le panneau de la requête.
  2. Sélectionnez Send to Intruder dans le menu contextuel.
  3. Vous verrez l'onglet Intruder s'illuminer, indiquant que la requête a été envoyée.

Vous pouvez maintenant désactiver l'interception en cliquant sur le bouton "Intercept is on" dans l'onglet Proxy -> Intercept.

Ajouter des marqueurs de charge utile aux champs Nom d'utilisateur et Mot de passe

Dans cette étape, vous allez configurer les positions des charges utiles dans Burp Intruder. Les positions des charges utiles indiquent à Intruder où placer les charges utiles pendant l'attaque. Pour une attaque Cluster Bomb sur un formulaire de connexion, nous avons besoin de deux positions : une pour le nom d'utilisateur et une pour le mot de passe.

Naviguez vers l'onglet Intruder dans Burp Suite. Vous verrez quatre sous-onglets : Target, Positions, Payloads et Options. Cliquez sur l'onglet Positions.

La requête que vous avez envoyée depuis le Proxy est affichée ici. Burp Intruder essaie automatiquement de deviner où les charges utiles devraient aller et ajoute des marqueurs de charge utile (§...§). Nous allons les effacer et définir les nôtres pour un meilleur contrôle.

  1. Cliquez sur le bouton Clear § sur le côté droit de la fenêtre. Cela supprime tous les marqueurs de charge utile ajoutés automatiquement.
  2. Dans l'éditeur de requête, trouvez la ligne avec le paramètre username : username=test.
  3. Sélectionnez soigneusement uniquement la valeur test.
  4. Cliquez sur le bouton Add §. La ligne devrait maintenant ressembler à username=§test§.
  5. Ensuite, trouvez la ligne avec le paramètre password : password=test.
  6. Sélectionnez uniquement la valeur test.
  7. Cliquez à nouveau sur le bouton Add §. La ligne devrait maintenant ressembler à password=§test§.

Vous avez maintenant défini deux positions de charge utile. Burp Intruder substituera des données dans ces emplacements marqués pendant l'attaque.

Définir le type d'attaque sur 'Cluster Bomb'

Dans cette étape, vous allez sélectionner le type d'attaque approprié pour notre objectif. Burp Intruder propose quatre types d'attaques, chacun ayant un objectif différent :

  • Sniper : Utilise un seul ensemble de charges utiles et cible une position à la fois.
  • Battering Ram : Utilise un seul ensemble de charges utiles et place la même charge utile dans toutes les positions simultanément.
  • Pitchfork : Utilise plusieurs ensembles de charges utiles, plaçant une charge utile de chaque ensemble dans la position correspondante.
  • Cluster Bomb : Utilise plusieurs ensembles de charges utiles et essaie toutes les combinaisons de charges utiles.

Pour notre scénario, nous voulons tester chaque mot de passe possible d'une liste contre chaque nom d'utilisateur possible d'une autre liste. Le type d'attaque Cluster Bomb est parfait pour cela.

Dans l'onglet Intruder -> Positions, localisez le menu déroulant Attack type en haut de l'écran.

  1. Cliquez sur le menu déroulant.
  2. Sélectionnez Cluster Bomb dans la liste.

Notez qu'après avoir sélectionné Cluster Bomb, l'onglet Payloads vous permet maintenant de configurer plusieurs ensembles de charges utiles, correspondant au nombre de marqueurs de charge utile que vous avez définis à l'étape précédente. Dans notre cas, nous aurons deux ensembles de charges utiles à configurer.

Configurer deux listes de charges utiles (Noms d'utilisateur et Mots de passe)

Dans cette étape, vous allez fournir les listes de noms d'utilisateur et de mots de passe potentiels qu'Intruder utilisera pour l'attaque.

Naviguez vers l'onglet Intruder -> Payloads.

Étant donné que vous avez sélectionné le type d'attaque Cluster Bomb et défini deux positions de charge utile, vous pouvez maintenant configurer deux listes de charges utiles distinctes.

Tout d'abord, configurez la liste des noms d'utilisateur (Ensemble de charges utiles 1) :

  1. Assurez-vous que le menu déroulant Payload set est réglé sur 1. Cela correspond au premier marqueur § que vous avez ajouté (le nom d'utilisateur).
  2. Sous Payload Options, cliquez sur le bouton Add.
  3. Entrez les noms d'utilisateur potentiels suivants, un par ligne :
    • user
    • guest
    • admin
    • root

Ensuite, configurez la liste des mots de passe (Ensemble de charges utiles 2) :

  1. Changez le menu déroulant Payload set de 1 à 2. Cela correspond au second marqueur § (le mot de passe).
  2. Sous Payload Options, cliquez sur le bouton Add.
  3. Entrez les mots de passe potentiels suivants, un par ligne :
    • password
    • 123456
    • qwerty
    • password123

Vous avez maintenant configuré Intruder pour tester toutes les combinaisons de ces deux listes. Il effectuera un total de 4 (noms d'utilisateur) x 4 (mots de passe) = 16 requêtes.

Lancer l'attaque pour tester toutes les combinaisons de charges utiles

Dans cette étape, vous allez lancer l'attaque et analyser les résultats pour trouver les identifiants de connexion corrects.

  1. Dans le coin supérieur droit de l'onglet Intruder, cliquez sur le bouton Start attack.
  2. Une nouvelle fenêtre intitulée "Intruder attack" s'ouvrira, et l'attaque commencera immédiatement.

Cette nouvelle fenêtre affiche un tableau de résultats. Vous verrez les requêtes être envoyées, et le tableau se remplira avec les résultats. Les colonnes clés à surveiller sont :

  • Payload 1 : Le nom d'utilisateur utilisé pour cette requête.
  • Payload 2 : Le mot de passe utilisé pour cette requête.
  • Status : Le code d'état HTTP de la réponse (par exemple, 200 pour OK, 401 pour Unauthorized).
  • Length : La taille du corps de la réponse en octets.

Une connexion réussie entraînera probablement une réponse différente d'une connexion échouée. Cette différence peut être observée dans le code Status ou la Length.

Parcourez les résultats. Vous devriez remarquer qu'une requête a une Length et un Status différents par rapport aux autres. La plupart des tentatives aboutiront à un statut 401 Unauthorized, mais la bonne sera 200 OK. La Length de la réponse pour la connexion réussie sera également différente.

Pour trouver facilement la réponse unique, vous pouvez cliquer sur les en-têtes de colonne Status ou Length pour trier les résultats.

La requête réussie aura la combinaison de charges utiles suivante :

  • Payload 1 : admin
  • Payload 2 : password123

Vous pouvez cliquer sur cette requête réussie dans le tableau pour afficher la Request et la Response complètes dans les panneaux ci-dessous. La réponse pour la connexion réussie contiendra le texte "Login Successful!".

Félicitations, vous avez utilisé avec succès une attaque Cluster Bomb pour trouver des identifiants valides !

Résumé

Dans ce laboratoire, vous avez appris à effectuer une attaque Cluster Bomb à l'aide de Burp Intruder.

Vous avez commencé par intercepter une requête de connexion à l'aide du proxy de Burp et l'envoyer à Intruder. Vous avez ensuite configuré manuellement deux positions de charge utile distinctes pour les champs nom d'utilisateur et mot de passe. Après avoir sélectionné le type d'attaque Cluster Bomb, vous avez configuré deux listes de charges utiles séparées, l'une pour les noms d'utilisateur et l'autre pour les mots de passe.

Enfin, vous avez lancé l'attaque et analysé le tableau des résultats, identifiant la combinaison de connexion réussie en recherchant un code d'état de réponse et une longueur anormaux. Cet exercice pratique démontre la puissance et l'utilité du type d'attaque Cluster Bomb pour tester les mécanismes d'authentification avec plusieurs entrées.