Einen Sniper-Angriff in Burp Intruder durchführen

MySQLBeginner
Jetzt üben

Einleitung

In diesem Lab lernen Sie, wie Sie einen "Sniper"-Angriff durchführen, einen der grundlegendsten und am häufigsten verwendeten Angriffstypen im Intruder-Tool von Burp Suite. Burp Intruder ist ein leistungsstarkes Werkzeug zur Automatisierung angepasster Angriffe auf Webanwendungen, um Sicherheitslücken zu identifizieren und auszunutzen.

Der Sniper-Angriff ist darauf ausgelegt, eine Liste von Payloads zu durchlaufen und diese einzeln in eine einzige, spezifizierte Position innerhalb einer HTTP-Anfrage einzufügen. Dies macht ihn ideal für Aufgaben wie das Erraten von Benutzernamen, das Finden von Passwort-Reset-Tokens oder das Fuzzing eines einzelnen Parameters auf Schwachstellen.

Wir werden den Prozess des Sendens einer Anfrage an Intruder, der Konfiguration der Payload-Position, der Auswahl des Sniper-Angriffstyps, dem Laden einer einfachen Payload-Liste und schließlich dem Starten des Angriffs und der Analyse der Ergebnisse durchlaufen. Für dieses Lab ist Burp Suite bereits in der Umgebung installiert.

In Intruder > Positions, einen Parameterwert auswählen und auf 'Add §' klicken

In diesem Schritt definieren Sie das Ziel für Ihren Angriff. Nachdem Sie eine Anfrage an Intruder gesendet haben, müssen Sie genau festlegen, wo die Payloads eingefügt werden sollen.

Zuerst benötigen Sie eine Anfrage, mit der Sie arbeiten können. Für dieses Lab gehen wir davon aus, dass Sie bereits eine Login-Anfrage im Burp Proxy abgefangen und an Intruder gesendet haben (indem Sie mit der rechten Maustaste auf die Anfrage geklickt und "Send to Intruder" ausgewählt haben). Die Anfrage in Intruder könnte wie folgt aussehen:

POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

username=myuser&password=mypass

Standardmäßig fügt Burp Intruder automatisch Payload-Marker (§) um Teile der Anfrage ein, die es für interessant hält. Um eine präzise Kontrolle zu erhalten, ist es am besten, diese zu löschen und eigene zu setzen.

  1. Navigieren Sie zum Tab Intruder > Positions.
  2. Klicken Sie auf der rechten Seite auf die Schaltfläche Clear §, um alle automatisch hinzugefügten Payload-Marker zu entfernen.
  3. Markieren Sie im Anfrage-Editor mit der Maus nur den Wert des username-Parameters (in diesem Fall myuser).
  4. Klicken Sie bei markiertem Wert auf die Schaltfläche Add §.

Ihre Anfrage sollte nun wie folgt aussehen, wobei nur der Benutzername als Payload-Position markiert ist:

POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

username=§myuser§&password=mypass

Dies weist Intruder an, nur anstelle von myuser Payloads einzufügen und den Rest der Anfrage bei jedem Versuch unverändert zu lassen.

Den Angriffstyp auf 'Sniper' setzen

In diesem Schritt wählen Sie den geeigneten Angriffstyp für Ihr Ziel aus. Burp Intruder bietet vier verschiedene Angriffstypen, die jeweils einem anderen Zweck dienen. Für dieses Lab verwenden wir Sniper.

Hier ist eine kurze Übersicht über die Angriffstypen:

  • Sniper: Verwendet einen einzelnen Payload-Satz. Er zielt nacheinander auf jede Payload-Position (§...§). Für jede Position durchläuft er jede Payload in der Liste. Dies ist der gebräuchlichste Typ für das Fuzzing eines einzelnen Parameters.
  • Battering ram: Verwendet einen einzelnen Payload-Satz. Er fügt dieselbe Payload gleichzeitig in alle definierten Payload-Positionen ein.
  • Pitchfork: Verwendet mehrere Payload-Sätze. Für jede Anfrage nimmt er eine Payload aus jedem Satz und platziert sie in die entsprechenden Positionen.
  • Cluster bomb: Verwendet mehrere Payload-Sätze. Er testet jede mögliche Kombination von Payloads aus allen Sätzen.

Da unser Ziel darin besteht, eine Liste verschiedener Benutzernamen in einem einzelnen Parameter zu testen, ist Sniper die perfekte Wahl.

So setzen Sie den Angriffstyp:

  1. Bleiben Sie im Tab Intruder > Positions.
  2. Suchen Sie das Dropdown-Menü Attack type am oberen Bildschirmrand.
  3. Klicken Sie auf das Dropdown und wählen Sie Sniper aus der Liste aus.

Sie haben nun Intruder so konfiguriert, dass die Sniper-Angriffsmethode verwendet wird.

Zum Intruder > Payloads Tab navigieren

In diesem Schritt wechseln Sie zu dem Abschnitt, in dem Sie die tatsächlichen Daten definieren, die im Angriff verwendet werden. Nachdem Sie die Zielposition (username) und den Angriffstyp (Sniper) konfiguriert haben, ist der nächste logische Schritt die Bereitstellung der Payload-Liste.

Die Payloads sind die Werte, die Intruder an der in Schritt 1 definierten §...§-Position einfügen wird.

Um fortzufahren, navigieren Sie einfach zum Unter-Tab Payloads innerhalb des Intruder-Tools. Sie finden ihn direkt neben dem Tab Positions, an dem Sie gerade gearbeitet haben. Ein Klick auf diesen Tab bringt Sie zum Konfigurationsbildschirm für Payloads, wo Sie im nächsten Schritt Ihre Liste potenzieller Benutzernamen einrichten werden.

Eine einfache Liste von Payloads laden (z. B. admin, test, user)

In diesem Schritt konfigurieren Sie die Liste der Payloads für den Angriff. Da unser Angriffstyp Sniper ist und wir eine Payload-Position haben, müssen wir nur einen Payload-Satz konfigurieren.

Im Tab Intruder > Payloads sehen Sie die Abschnitte Payload Sets und Payload Options.

  1. Stellen Sie im Abschnitt Payload Sets sicher, dass Payload set auf 1 und Payload type auf Simple list gesetzt ist. Dies ist die Standardeinstellung und wird für die Bereitstellung einer einfachen Liste von Zeichenketten verwendet.
  2. Im Abschnitt Payload Options [Simple list] fügen Sie Ihre Payloads hinzu. Dies können Sie tun, indem Sie direkt in das Textfeld tippen oder die Schaltfläche Add verwenden.

Fügen wir einige gängige Benutzernamen zum Testen hinzu: Geben Sie im Textbereich die folgenden Werte ein, jeweils in einer neuen Zeile:

admin
test
user
root
guest

Ihr Abschnitt Payload Options sollte nun diese Liste enthalten. Intruder sendet eine Anfrage für jede Zeile dieser Liste und ersetzt den Wert im username-Parameter, den Sie zuvor markiert haben. Die Payload Count am unteren Rand sollte nun 5 anzeigen.

Den Angriff starten und die Ergebnistabelle beobachten

In diesem Schritt starten Sie den konfigurierten Angriff und analysieren das Ergebnis. Da Position, Angriffstyp und Payloads alle festgelegt sind, sind Sie bereit zu beginnen.

  1. Um den Angriff zu starten, klicken Sie auf die Schaltfläche Start attack in der oberen rechten Ecke des Intruder-Tabs.
  2. Ein neues "Attack"-Fenster wird geöffnet, das eine Ergebnistabelle anzeigt. Dieses Fenster wird in Echtzeit gefüllt, während Intruder jede Anfrage sendet.

Die Ergebnistabelle ist der wichtigste Teil des Prozesses. Achten Sie genau auf die Spalten, insbesondere auf:

  • Payload: Die spezifische Payload, die für diese Anfrage verwendet wurde (z. B. admin, test).
  • Status: Der HTTP-Statuscode der Antwort (z. B. 200, 302, 401).
  • Length: Die Größe des Antwortkörpers in Bytes.

Um potenzielle Schwachstellen oder gültige Benutzernamen zu finden, suchen Sie nach Anomalien. Beispielsweise kann eine erfolgreiche Anmeldung zu einem 302 Found-Status (Weiterleitung zu einem Dashboard) führen, während alle fehlgeschlagenen Versuche zu einem 200 OK (erneute Anzeige der Anmeldeseite) führen. Ebenso kann eine Antwort für einen gültigen Benutzernamen eine andere Length haben als die anderen, da sich die Fehlermeldung ändert (z. B. "Incorrect password" vs. "User not found").

Durch Sortieren der Tabelle nach den Spalten Status oder Length können Sie leicht Antworten erkennen, die sich von der Basislinie unterscheiden und auf einen potenziellen Fund hinweisen.

Zusammenfassung

In diesem Lab haben Sie erfolgreich einen grundlegenden Sniper-Angriff mit Burp Intruder durchgeführt. Dies ist eine grundlegende Fähigkeit für jeden Tester der Webanwendungssicherheit.

Sie haben gelernt, wie Sie:

  • Einen spezifischen Anfrageparameter für Tests im Tab Positions isolieren, indem Sie Standardmarker löschen und eigene hinzufügen.
  • Den Angriffstyp auf Sniper setzen, der sich ideal zum Testen eines einzelnen Parameters mit einer Liste von Payloads eignet.
  • Zum Tab Payloads navigieren und eine einfache, benutzerdefinierte Liste potenzieller Eingaben laden.
  • Den Angriff starten und die Ergebnistabelle analysieren, indem Sie nach Anomalien bei den HTTP-Statuscodes und Antwortlängen suchen, um interessantes Verhalten zu identifizieren.

Die Beherrschung des Sniper-Angriffs in Burp Intruder bietet eine leistungsstarke Methode zur Automatisierung wiederkehrender Testaufgaben wie Benutzernamen-Enumeration, Passwort-Raten und Fuzzing auf gängige Schwachstellen.