Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
revsuit — RevSuit ist eine flexible und leistungsstarke Reverse-Connection-Plattform, die entwickelt wurde, um Verbindungen von Zielhosts bei Penetrationstests zu empfangen. | Kitploit
Tools/GitHubGitHub/li4n0/revsuit
Penetrationstest-FrameworksAufklärungSchwachstellenanalyseExploitationInformationsbeschaffungWebsicherheitPenetrationstestsDNS-Analyse
GitHubli4n0/revsuit

revsuit

RevSuit ist eine flexible und leistungsstarke Reverse-Connection-Plattform, die entwickelt wurde, um Verbindungen von Zielhosts bei Penetrationstests zu empfangen.

Repository anzeigen
56469vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

RevSuit - Eine flexible und leistungsstarke Reverse-Connection-Plattform

Englisch |简体中文

Übersicht

RevSuit ist eine flexible und leistungsstarke Reverse-Connection-Plattform, die dafür entwickelt wurde, Verbindungen von Zielhosts bei Penetrationstests zu empfangen. Sie unterstützt derzeit die Protokolle HTTP, DNS, RMI, LDAP, MySQL und FTP.

Flexibel:

  1. RevSuit kann flexible Regeln setzen, um verschiedene Verbindungen zu erfassen.
  2. Bereitstellung und Ausführung über Binärdateien, ohne sich um lästige Abhängigkeitsfehler kümmern zu müssen.

Leistungsstark:

  1. Ermöglicht die Anpassung der Antwort für verschiedene Verbindungen durch Regeln und unterstützt die dynamische Antwortgenerierung mittels Template-Variablen.
  2. Unterstützt eine Vielzahl von Protokollen und die tiefgehende Nutzung einiger Protokolle, wie z. B. DNS-Rebinding, MySQL Load Local Data, JDBC Deserialize Exploit, FTP Passive Mode SSRF usw.
  3. Native Unterstützung für die Verwendung mit Scannern.
  4. Unterstützt Push-Benachrichtigungen an gängige Bürosoftware.
  5. Weitere durchdachte und detaillierte Funktionen.

Grundlegende Nutzung

Installation und Konfiguration

Laden Sie die neueste Version direkt herunter oder erstellen Sie sie durch die folgenden Schritte:

root@kitploit:~
git clone https://github.com/Li4n0/revsuit.git
cd revsuit/frontend && yarn install && yarn build
cd ../ && go build ./cmd/revsuit/revsuit.go

RevSuit erstellt beim ersten Start eine standardmäßige Konfigurationsdatei. Passen Sie die Konfigurationsdatei nach Ihren Bedürfnissen an und führen Sie sie erneut aus. Eine detaillierte Beschreibung der Konfigurationsdatei finden Sie unter: Konfigurationshinweise

Ausführen

Um den IP-Standort zu bestätigen, muss die IP-Standortdatenbank verwendet werden. Standardmäßig wird QQwry als Datenquelle verwendet. Sie können die Konfiguration auch ändern, um GeoIP zu verwenden. Wenn die ausgewählte Datenbank nicht im aktuellen Verzeichnis vorhanden ist oder die Datenbank seit mehr als einer Woche nicht aktualisiert wurde, lädt RevSuit automatisch die neueste Datenbank herunter. Wenn der Download fehlschlägt, bleibt das IpArea-Feld immer null.

root@kitploit:~
$ ./revsuit   
2021/05/16 22:55:10 [ INFO] Downloading qqwry.dat...

    ____            _____       _ __ 
   / __ \___ _   __/ ___/__  __(_) /_
  / /_/ / _ \ | / /\__ \/ / / / / __/
 / _, _/  __/ |/ /___/ / /_/ / / /_  
/_/ |_|\___/|___//____/\__,_/_/\__/    
                                   vBeta0.1
     https://revsuit.pro
2021/05/16 22:55:22 [ INFO] Starting HTTP Server at :80, token:your_token
2021/05/16 22:55:22 [ INFO] Start to listen FTP PASV port at :2020, PasvIP is 10.9.8.7
2021/05/16 22:55:22 [ INFO] Starting FTP Server at :21
2021/05/16 22:55:22 [ INFO] Starting MySQL Server at :3306
2021/05/16 22:55:22 [ INFO] Starting RMI Server at :1099
2021/05/16 22:55:22 [ INFO] Starting DNS Server at :53

Nach dem Start können Sie den Pfad /revsuit/admin/ des HTTP-Servers aufrufen und das Token eingeben, um auf das Kontrollzentrum zuzugreifen.

Regeln erstellen und Verbindungen empfangen

Als Beispiel die Erstellung von HTTP-Regeln:

Einige Hinweise:

  1. Der name und flagFormat einer Regel sind eindeutig.
  2. FlagFormat verwendet reguläre Ausdrücke, und je nach Protokoll unterscheiden sich die Felder, die von flagFormat abgeglichen werden. Beim Erstellen von Regeln können Sie die entsprechenden Hinweise für Details prüfen.
  3. Regeln mit hoher Rangfolge werden zuerst wirksam.
  4. Für verschiedene Protokollregeln können Sie verschiedene benutzerdefinierte Antworten festlegen, und für einige Protokolle können Template-Variablen verwendet werden.
  5. Sie können benannte Gruppen in flagFormat festlegen, und das Ergebnis der übereinstimmenden Gruppe wird ebenfalls als Template-Variable verwendet.

Wie unten gezeigt, erstellen wir eine Regel, die die eingebauten Template-Variablen und benutzerdefinierten Template-Variablen des HTTP-Protokolls verwendet, und nennen sie test_create_rule:

img.png

Dann senden Sie eine Anfrage, die der Regel entspricht, und sehen Sie die Antwort.

img.png

Die Anfrage wird gleichzeitig auf der Plattform protokolliert.

img.png

Hinweis

Wenn Sie über Ihre Bürosoftware über neue Verbindungen benachrichtigt werden möchten, können Sie die Webhook-Adresse der entsprechenden Software in der Konfigurationsdatei konfigurieren und den Schalter Notice für die entsprechende Regel aktivieren. Derzeit werden nur vier Softwaretypen unterstützt: DingTalk, WeChat, Lark, Slack. (Unterstützung für Discord und Telegram ist geplant.)

Regeln importieren/exportieren

Wenn Sie Plattformen migrieren oder Daten bereinigen, kann das Neuerstellen von Regeln mühsam sein. Daher unterstützt die Plattform den Import und Export von Regeln.

Der Einstiegspunkt für diese Funktion befindet sich unter Settings>RULES.

Die Regeln werden im YAML-Format für Import und Export gespeichert, wie folgt:

root@kitploit:~
http:
  - name: test_create_rule
    flag_format: (?P<what>\w+)\?
    rank: 0
    push_to_client: false
    notice: false
    response_status_code: "302"
    response_headers:
      Location: ${query.url}
    response_body: ${header.say} ${what}
  - name: other_rule
    flag_format: other
    rank: 1
    push_to_client: false
    notice: true
    response_status_code: "200"
    response_headers: { }
    response_body: Hello Revsuit!
dns:
  ... ...

Erweiterte Nutzung

Verwendung mit Scannern

RevSuit wurde aus meinem Scanner-Projekt ausgegliedert, daher ist die native Unterstützung für die Arbeit mit Scannern gegeben.

Aus RevSuit-Perspektive nennen wir einen Scanner einen Client.

Verbindung herstellen

RevSuit verwendet HTTP Server-sent Events (SSE), um einen unidirektionalen Kommunikationskanal mit dem Client aufzubauen.

Die API für den Kanal ist: /revsuit/api/events?message. Der Client muss zunächst den Header Token: your token zum Header hinzufügen und dann auf die API zugreifen, um den Kanal einzurichten. Wenn die Plattform eine neue Verbindung empfängt, wird das von der Regel erfasste flag über diesen Kanal an den Client gesendet. img.png

Hier ist eine einfache Demo unter Verwendung der Golang-SSE-Bibliothek als Beispiel.

Mehrere Clients

Wie oben gezeigt, unterstützt RevSuit mehrere Clients, und jeder Client im verbundenen Zustand empfängt einen Push des flag, sodass verteiltes Scannen unterstützt werden kann.

Wenn Sie nicht möchten, dass jeder Client alle flag-Pushes erhält, können Sie beim Erstellen einer SSE-Verbindung den Request-Header Flag-Filter verwenden, um das Format (reguläre Ausdrücke) des flag festzulegen, das dieser Client empfangen soll:

img.png

Temporäre Speicherwarteschlange

RevSuit speichert flag vorübergehend in der Warteschlange, wenn keine Client-Verbindung besteht, und sendet es, wenn der Client eine Verbindung herstellt. So müssen Sie sich keine Sorgen machen, eine Schwachstelle zu verpassen, weil der Client getrennt ist. (Dies ist besonders hilfreich für die Erkennung von verzögert ausgelösten Schwachstellen.)

Verwendung von flagGroup

In einem realen Schwachstellenscan-Szenario können Sie für einen einzelnen Schwachstellenpunkt eine große Anzahl verschiedener Payloads senden, die alle gültig sein könnten. Dies führt dazu, dass die Rückverbindungsplattform viele Anfragen erhält, obwohl sie alle durch dieselbe Schwachstelle verursacht werden. Wenn Sie nicht möchten, dass der Client so viele flags für dieselbe Schwachstelle erhält, können Sie die flagGroup-Funktion des flagFormat einer Regel nutzen.

FlagGroup ist der Inhalt, der von der anonymen Gruppe im flagFormat-Feld der Regel abgeglichen wird. Die Plattform überprüft den in der Gruppe abgeglichenen Inhalt, und das Flag wird nur dann an den Client gesendet, wenn der Inhalt (flagGroup) zum ersten Mal erfasst wird.

Zum Beispiel SSRF-Scanning.

Erstellen Sie zunächst eine Regel wie folgt:

root@kitploit:~
http:
  - name: ssrf
    flag_format: (ssrf[a-z0-9]{6})[0-9]{1,3}
    rank: 0
    push_to_client: false
    notice: false
    response_status_code: "200"
    response_headers: { }
    response_body: "Here is a SSRF!"

Angenommen, unser Ziel ist https://www.testvuln.com?url=api.com&p=useless, und wir haben 5 Payloads für SSRF. Die endgültige vom Scanner gesendete Anfrage könnte sein: ['https://www.testvuln.com?url=http://revsuit.com/ssrfa98oni1&p=useless','https://www.testvuln.com?url=http://revsuit.com/ssrfa98oni2&p=useless', ... ,'https://www.testvuln.com?url=//revsuit.com/ssrfa98oni5&p=useless']. Sie könnten alle erfolgreich angreifen.

Da jedoch eine anonyme Gruppierung im flagFormat der Regel verwendet wird, fragt die Plattform die verbundenen flagGroup ab, in diesem Fall ssrfa98oni, und sendet flag nur beim ersten Auftreten an den Client. Der Client empfängt daher nur ein Flag: ssrfa98oni1. Es ist bereits bewiesen, dass der url-Parameter des Ziels angreifbar ist.

Mehrfachmodul-Kombination

In realen Penetrationstest-Szenarien können bestimmte Aufgaben einfach und schnell durch die Kombination und Abstimmung verschiedener Module von RevSuit erledigt werden. Das folgende Beispiel einer blinden XXE in Java Web zeigt, wie die HTTP- und FTP-Module von RevSuit in Verbindung mit Template-Variablen verwendet werden können, um schnell einen Portscan durchzuführen.

Erstellen Sie zunächst eine HTTP-Regel, um evil.dtd zurückzugeben, passen Sie die Antwort an den Inhalt der dtd an, sodass sie eine Verbindung zum FTP-Dienst von RevSuit herstellt, und verwenden Sie Template-Variablen, um den zu scannenden Host und Port über FTP-Benutzer und -Passwort zu übergeben.

evil.dtd-Regel erstellen

Erstellen Sie dann eine FTP-Regel, die den zu scannenden Host und Port aus den Template-Variablen für Benutzer und Passwort empfängt, und setzen Sie die Pasv Address.

FTP-Scan-Regel erstellen

Verwenden Sie dann BurpSuit, um den Scan zu starten, indem Sie die Host- und Port-Parameter in der evil.dtd-URL festlegen, um das Ziel des Portscans zu setzen.

xxe

Die Ausführung sieht wie folgt aus:

ftp-scan

Da die FTP-Verbindung abbricht, wenn die Passive Address nicht erreichbar ist, können wir anhand dessen, ob die Verbindung normal beendet wird, feststellen, ob der Port geöffnet ist. In diesem Beispiel haben wir erfolgreich erkannt, dass die Ports 8005 und 8080 geöffnet sind.

Weitere Nutzungsmöglichkeiten

Ein detaillierteres Wiki wird vorbereitet. Sie können es in der Zwischenzeit selbst erkunden.

Feedback, Vorschläge und Kommunikation

Reichen Sie ein Issue ein oder kontaktieren Sie mich über Weixin: TGk0bjA2Cg==

Danksagungen

Referenzen

Dieses Projekt greift auf den Code der folgenden herausragenden Projekte zurück:

  • https://github.com/rmb122/rogue_mysql_server
  • https://github.com/256dpi/newdns
  • https://github.com/EmYiQing/JNDIScan

Besonders

Danke an meinen Freund @E99p1ant für all die Hilfe und Ratschläge, die ich während der Entwicklung dieses Projekts erhalten habe.

Lizenz

@Apache License 2.0

Tool herunterladen