Cluster Bomb-Angriff in Burp Intruder verwenden

Beginner
Jetzt üben

Einleitung

Burp Intruder ist ein leistungsstarkes Werkzeug innerhalb der Burp Suite zur Automatisierung angepasster Angriffe auf Webanwendungen. Es ist hochgradig konfigurierbar und kann für eine Vielzahl von Aufgaben eingesetzt werden, von einfachen Brute-Force-Vermutungen bis hin zu komplexen Schwachstellenscans.

Eines der Hauptmerkmale von Intruder sind seine verschiedenen Angriffstypen. Der Angriffstyp "Cluster Bomb" ist besonders nützlich, wenn ein Angriff das Testen mehrerer, unterschiedlicher Eingaben in Kombination erfordert. Er verwendet mehrere Payload-Sets, eines für jede definierte Position, und durchläuft jede mögliche Kombination von Payloads. Dies ist ideal für Szenarien wie das Brute-Forcing eines Login-Formulars, bei dem Sie eine Liste potenzieller Benutzernamen und eine separate Liste potenzieller Passwörter haben.

In diesem Lab lernen Sie, wie Sie einen Cluster Bomb-Angriff mit Burp Intruder konfigurieren und ausführen, um eine gültige Benutzername-Passwort-Kombination auf einer Beispiel-Login-Seite zu entdecken.

Senden einer Login-Anfrage an Intruder

In diesem Schritt starten Sie Burp Suite und einen Webbrowser, erfassen dann eine Login-Anfrage und senden diese zur weiteren Analyse an Burp Intruder.

Zuerst müssen Sie Burp Suite starten.

  1. Klicken Sie im Menü Anwendungen (Application) in der oberen linken Ecke des Desktops.
  2. Navigieren Sie zu Andere (Other) -> Burp Suite Community Edition.

Burp Suite wird gestartet. Wählen Sie "Temporäres Projekt" (Temporary project) und klicken Sie auf "Weiter" (Next), dann auf "Burp starten" (Start Burp).

Öffnen Sie als Nächstes den Firefox-Webbrowser und konfigurieren Sie ihn so, dass er Burp Suite als Proxy verwendet.

  1. Klicken Sie im Menü Anwendungen (Application) -> Internet -> Firefox Web Browser.
  2. Gehen Sie in Firefox zu Einstellungen (Settings) -> Allgemein (General) -> Netzwerkeinstellungen (Network Settings) und klicken Sie auf Einstellungen... (Settings...).
  3. Wählen Sie Manuelle Proxy-Konfiguration (Manual proxy configuration).
  4. Stellen Sie HTTP-Proxy (HTTP Proxy) auf 127.0.0.1 und Port auf 8080.
  5. Aktivieren Sie das Kontrollkästchen Auch diesen Proxy für HTTPS verwenden (Also use this proxy for HTTPS).
  6. Klicken Sie auf OK.

Navigieren Sie nun zur Ziel-Login-Seite. Geben Sie in die Adressleiste von Firefox ein:

http://127.0.0.1:5000/login

Sie sollten ein einfaches Login-Formular sehen. Gehen Sie in Burp Suite zum Tab Proxy, dann zum Unter-Tab Intercept und stellen Sie sicher, dass das Intercepting aktiviert ist (der Button sollte "Intercept is on" anzeigen).

Geben Sie in Firefox test für den Benutzernamen und test für das Passwort ein und klicken Sie auf den Login-Button. Die Anfrage wird im Tab Proxy -> Intercept von Burp abgefangen.

Senden Sie diese abgefangene Anfrage nun an Intruder.

  1. Klicken Sie mit der rechten Maustaste irgendwo im Anfragebereich.
  2. Wählen Sie im Kontextmenü An Intruder senden (Send to Intruder).
  3. Sie werden sehen, wie der Tab Intruder hervorgehoben wird, was anzeigt, dass die Anfrage gesendet wurde.

Sie können das Intercepting nun deaktivieren, indem Sie auf den Button "Intercept is on" im Tab Proxy -> Intercept klicken.

Hinzufügen von Payload-Markierungen zu den Feldern Benutzername und Passwort

In diesem Schritt konfigurieren Sie die Payload-Positionen in Burp Intruder. Payload-Positionen teilen Intruder mit, wo die Payloads während des Angriffs platziert werden sollen. Für einen Cluster Bomb-Angriff auf ein Login-Formular benötigen wir zwei Positionen: eine für den Benutzernamen und eine für das Passwort.

Navigieren Sie zum Tab Intruder in Burp Suite. Sie sehen vier Unter-Tabs: Target, Positions, Payloads und Options. Klicken Sie auf den Tab Positions.

Die von Ihnen über den Proxy gesendete Anfrage wird hier angezeigt. Burp Intruder versucht automatisch zu erraten, wo Payloads platziert werden sollen, und fügt Payload-Markierungen (§...§) hinzu. Wir werden diese entfernen und unsere eigenen für eine bessere Kontrolle festlegen.

  1. Klicken Sie auf die Schaltfläche Clear § auf der rechten Seite des Fensters. Dadurch werden alle automatisch hinzugefügten Payload-Markierungen entfernt.
  2. Finden Sie im Anfrageeditor die Zeile mit dem Parameter username: username=test.
  3. Markieren Sie sorgfältig nur den Wert test.
  4. Klicken Sie auf die Schaltfläche Add §. Die Zeile sollte nun wie folgt aussehen: username=§test§.
  5. Finden Sie als Nächstes die Zeile mit dem Parameter password: password=test.
  6. Markieren Sie nur den Wert test.
  7. Klicken Sie erneut auf die Schaltfläche Add §. Die Zeile sollte nun wie folgt aussehen: password=§test§.

Sie haben nun zwei Payload-Positionen definiert. Burp Intruder wird während des Angriffs Daten an diesen markierten Stellen einfügen.

Festlegen des Angriffstyps auf 'Cluster Bomb'

In diesem Schritt wählen Sie den geeigneten Angriffstyp für unser Ziel aus. Burp Intruder bietet vier Angriffstypen, die jeweils einem anderen Zweck dienen:

  • Sniper: Verwendet einen einzelnen Payload-Satz und zielt jeweils auf eine Position.
  • Battering Ram: Verwendet einen einzelnen Payload-Satz und platziert denselben Payload gleichzeitig in allen Positionen.
  • Pitchfork: Verwendet mehrere Payload-Sätze und platziert jeweils einen Payload aus jedem Satz in die entsprechende Position.
  • Cluster Bomb: Verwendet mehrere Payload-Sätze und versucht jede Kombination von Payloads.

Für unser Szenario möchten wir jedes mögliche Passwort aus einer Liste gegen jeden möglichen Benutzernamen aus einer anderen Liste testen. Der Angriffstyp Cluster Bomb ist dafür perfekt geeignet.

Navigieren Sie im Tab Intruder -> Positions zum Dropdown-Menü Attack type (Angriffstyp) am oberen Bildschirmrand.

  1. Klicken Sie auf das Dropdown-Menü.
  2. Wählen Sie Cluster Bomb aus der Liste aus.

Beachten Sie, dass nach der Auswahl von Cluster Bomb der Tab Payloads nun die Konfiguration mehrerer Payload-Sätze ermöglicht, die der Anzahl der im vorherigen Schritt definierten Payload-Markierungen entsprechen. In unserem Fall werden wir zwei Payload-Sätze konfigurieren.

Konfigurieren von zwei Payload-Listen (Benutzernamen und Passwörter)

In diesem Schritt stellen Sie die Listen potenzieller Benutzernamen und Passwörter bereit, die Intruder für den Angriff verwenden wird.

Navigieren Sie zum Tab Intruder -> Payloads.

Da Sie den Angriffstyp Cluster Bomb ausgewählt und zwei Payload-Positionen definiert haben, können Sie nun zwei separate Payload-Listen konfigurieren.

Konfigurieren Sie zuerst die Benutzernamenliste (Payload-Satz 1):

  1. Stellen Sie sicher, dass das Dropdown-Menü Payload set (Payload-Satz) auf 1 eingestellt ist. Dies entspricht der ersten §-Markierung, die Sie hinzugefügt haben (dem Benutzernamen).
  2. Klicken Sie unter Payload Options (Payload-Optionen) auf die Schaltfläche Add (Hinzufügen).
  3. Geben Sie die folgenden potenziellen Benutzernamen ein, einen pro Zeile:
    • user
    • guest
    • admin
    • root

Konfigurieren Sie als Nächstes die Passwortliste (Payload-Satz 2):

  1. Ändern Sie das Dropdown-Menü Payload set von 1 auf 2. Dies entspricht der zweiten §-Markierung (dem Passwort).
  2. Klicken Sie unter Payload Options auf die Schaltfläche Add.
  3. Geben Sie die folgenden potenziellen Passwörter ein, einen pro Zeile:
    • password
    • 123456
    • qwerty
    • password123

Sie haben Intruder nun so konfiguriert, dass jede Kombination dieser beiden Listen getestet wird. Es werden insgesamt 4 (Benutzernamen) x 4 (Passwörter) = 16 Anfragen durchgeführt.

Ausführen des Angriffs zum Testen jeder Payload-Kombination

In diesem Schritt starten Sie den Angriff und analysieren die Ergebnisse, um die korrekten Anmeldedaten zu finden.

  1. Klicken Sie in der oberen rechten Ecke des Tabs Intruder auf die Schaltfläche Start attack (Angriff starten).
  2. Ein neues Fenster mit dem Titel "Intruder attack" (Intruder-Angriff) wird geöffnet, und der Angriff beginnt sofort.

Dieses neue Fenster zeigt eine Ergebnistabelle an. Sie sehen, wie Anfragen gesendet werden, und die Tabelle wird mit den Ergebnissen gefüllt. Die wichtigsten Spalten, auf die Sie achten sollten, sind:

  • Payload 1: Der für diese Anfrage verwendete Benutzername.
  • Payload 2: Das für diese Anfrage verwendete Passwort.
  • Status: Der HTTP-Statuscode der Antwort (z. B. 200 für OK, 401 für Unauthorized).
  • Length: Die Größe des Antwortkörpers in Bytes.

Eine erfolgreiche Anmeldung führt wahrscheinlich zu einer anderen Antwort als eine erfolglose. Dieser Unterschied ist im Status-Code oder in der Length ersichtlich.

Durchsuchen Sie die Ergebnisse. Sie sollten feststellen, dass eine Anfrage eine andere Length und einen anderen Status aufweist als die anderen. Die meisten Versuche führen zu einem 401 Unauthorized-Status, aber der richtige wird 200 OK sein. Die Antwortlänge (Length) für die erfolgreiche Anmeldung wird ebenfalls unterschiedlich sein.

Um die eindeutige Antwort leicht zu finden, können Sie auf die Spaltenüberschriften Status oder Length klicken, um die Ergebnisse zu sortieren.

Die erfolgreiche Anfrage hat die Payload-Kombination:

  • Payload 1: admin
  • Payload 2: password123

Sie können auf diese erfolgreiche Anfrage in der Tabelle klicken, um die vollständige Request (Anfrage) und Response (Antwort) in den darunter liegenden Bereichen anzuzeigen. Die Antwort für die erfolgreiche Anmeldung enthält den Text "Login Successful!" (Anmeldung erfolgreich!).

Herzlichen Glückwunsch, Sie haben erfolgreich einen Cluster Bomb-Angriff verwendet, um gültige Anmeldedaten zu finden!

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie einen Cluster Bomb-Angriff mit Burp Intruder durchführen.

Sie haben damit begonnen, eine Login-Anfrage mit dem Proxy von Burp abzufangen und an Intruder zu senden. Anschließend haben Sie manuell zwei separate Payload-Positionen für die Felder Benutzername und Passwort konfiguriert. Nach der Auswahl des Cluster Bomb-Angriffstyps haben Sie zwei separate Payload-Listen konfiguriert – eine für Benutzernamen und eine für Passwörter.

Schließlich haben Sie den Angriff gestartet und die Ergebnistabelle analysiert, wobei Sie die erfolgreiche Login-Kombination identifiziert haben, indem Sie nach einem anomalen Antwortstatuscode und einer ungewöhnlichen Länge gesucht haben. Diese praktische Übung demonstriert die Leistungsfähigkeit und Nützlichkeit des Cluster Bomb-Angriffstyps zum Testen von Authentifizierungsmechanismen mit mehreren Eingaben.