Wo Sie Hilfe erhalten : Rhino Security Labs Discord oder Stack Overflow
Wo Sie Probleme melden können : https://github.com/RhinoSecurityLabs/pacu/issues
Verwaltet von : Rhino Security Labs
Pacu ist ein Open-Source-AWS-Ausnutzungsframework, das für offensive Sicherheitstests in Cloud-Umgebungen entwickelt wurde. Pacu wurde von Rhino Security Labs entwickelt und verwaltet und ermöglicht es Penetrationstestern, Konfigurationsfehler innerhalb eines AWS-Kontos auszunutzen, indem es Module verwendet, um dessen Funktionalität einfach zu erweitern. Aktuelle Module ermöglichen eine Reihe von Angriffen, darunter die Eskalation von Benutzerrechten, Backdooring von IAM-Benutzern, Angriffe auf anfällige Lambda-Funktionen und vieles mehr.
Pacu ist ein recht leichtes Programm, da es nur Python3.7+ und pip3 benötigt, um eine Handvoll Python-Bibliotheken zu installieren.
> pip3 install -U pip > pip3 install -U pacu > pacu
Ausführlichere und benutzerfreundlichere Benutzeranweisungen finden Sie in der Installationsanleitung des Wikis.
$ docker run -it rhinosecuritylabs/pacu:latest
$ docker run -it --entrypoint /bin/sh rhinosecuritylabs/pacu:latest
Warnung: Wenn Sie diesen Befehl ausführen, werden Ihre lokalen AWS-Konfigurationsdateien beim Start im Docker-Container bereitgestellt. Dies bedeutet, dass jeder Benutzer mit Zugriff auf den Container Zugriff auf die AWS-Anmeldeinformationen Ihres Hostcomputers hat.
$ docker run -it -v ~/.aws:/root/.aws rhinosecuritylabs/pacu:latest
Beim ersten Start von Pacu werden Sie aufgefordert, eine neue Sitzung zu starten und zu benennen. Diese Sitzung wird zum Speichern von AWS-Schlüsselpaaren sowie aller Daten verwendet, die aus der Ausführung verschiedener Module stammen. Sie können in Pacu beliebig viele verschiedene Sitzungen haben, jede mit ihren eigenen Sätzen von AWS-Schlüsseln und -Daten, und eine Sitzung jederzeit fortsetzen (obwohl derzeit ein Neustart erforderlich ist, um zwischen Sitzungen zu wechseln).
Für Module ist ein AWS-Schlüssel erforderlich, der Ihnen minimalen Zugriff auf eine AWS-Umgebung gewährt und aus einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel besteht. Um die Schlüssel Ihrer Sitzung festzulegen, verwenden Sie den Befehl set_keys
und befolgen Sie dann die Anweisungen, um einen Schlüsselalias (Spitzname als Referenz), eine AWS-Zugriffsschlüssel-ID, einen geheimen AWS-Zugriffsschlüssel und ein AWS-Sitzungstoken (falls Sie eines verwenden) anzugeben ).
Wenn Sie jemals nicht weiterkommen, zeigt help
eine Liste der verfügbaren Befehle an.
list
listet die verfügbaren Module für die Regionen auf, die in der aktuellen Sitzung festgelegt wurden.
help module_name
gibt die entsprechenden Hilfeinformationen für das angegebene Modul zurück.
run module_name
führt das angegebene Modul mit seinen Standardparametern aus.
run module_name --regions eu-west-1,us-west-1
wird das angegebene Modul für die Regionen eu-west-1 und us-west-1 ausgeführt (für Module, die das Argument --regions unterstützen).
pacu --help
zeigt das Hilfemenü an
pacu --session
legt die Sitzung fest, die für Befehle verwendet werden soll, die eine solche erfordern
pacu --list-modules
listet alle verfügbaren Module auf (erfordert keine Sitzung)
pacu --pacu-help
listet das Pacu-Hilfefenster auf (erfordert keine Sitzung)
pacu --module-name
der Name eines Moduls, für das eine Aktion ausgeführt werden soll. Sie können Informationen zum Modul ausführen oder abrufen
pacu --exec
führt das in --module-name
bereitgestellte Modul aus
pacu --module-info
ruft Informationen über das in --module-name
bereitgestellte Modul ab
pacu --data
Fragen Sie die lokale SQLAlchemy-Datenbank ab, um Aufzählungsinformationen abzurufen
pacu --module-args="
liefert optionale Modulargumente für das ausgeführte Modul
pacu --set-regions
Legen Sie die Regionen fest, die in der Sitzung verwendet werden sollen, trennen Sie die Regionen durch ein Leerzeichen oder geben Sie all
für alle Regionen ein
pacu --whoami
Informationen über den aktuellen Benutzer abrufen
Pacu verwendet eine Reihe von Plug-in-Modulen, um einen Angreifer bei der Aufzählung, der Rechteausweitung, der Datenexfiltration, der Ausnutzung von Diensten und der Protokollmanipulation in AWS-Umgebungen zu unterstützen. Beiträge oder Ideen für neue Module sind willkommen.
Um mit den laufenden AWS-Produktentwicklungen Schritt zu halten, haben wir Pacu von Grund auf mit Blick auf Erweiterbarkeit entwickelt. Durch eine gemeinsame Syntax und Datenstruktur können Module einfach erstellt und erweitert werden – es ist nicht erforderlich, AWS-Regionen anzugeben oder redundante Berechtigungsprüfungen zwischen Modulen durchzuführen. Eine lokale SQLite-Datenbank wird verwendet, um abgerufene Daten zu verwalten und zu bearbeiten und so API-Aufrufe (und zugehörige Protokolle) zu minimieren. Reporting und Angriffsprüfung sind ebenfalls in das Framework integriert; Pacu unterstützt den Dokumentationsprozess durch Befehlsprotokollierung und -export und hilft so bei der Erstellung eines Zeitplans für den Testprozess.
Wir freuen uns immer über Fehlerberichte im Pacu-Framework selbst sowie über Tests und Feedback zu verschiedenen Modulen und im Allgemeinen über kritisches Feedback zur Verbesserung des Frameworks. Jede Unterstützung für Pacu durch Nutzung, Tests, Verbesserung oder einfach durch Weiterverbreitung wäre sehr dankbar.
Wenn Sie daran interessiert sind, direkt zum Pacu Framework selbst beizutragen, lesen Sie bitte unsere Beitragsrichtlinien für Codekonventionen und Git-Flow-Hinweise.
Wenn Sie daran interessiert sind, Ihre eigenen Module für Pacu zu schreiben, schauen Sie sich unsere Wiki-Seite zur Modulentwicklung an. Wenn Sie neue Funktionen entwickeln, wenden Sie sich bitte an uns – wir würden Ihre neuen Module gerne in die mit Pacu gelieferte Kernsammlung aufnehmen.
Verbessern Sie die Formatierung der Benutzeroberfläche
Datenbank-Vorwärtsmigrationen und Versionsverfolgung
„Angriffs-Playbooks“, um eine einfachere Nutzung komplexer Modulausführungsketten zu ermöglichen
Farbige Konsolenausgabe
Modul-Trockenlauffunktion
Erlauben Sie die Verwendung eigenständiger Konfigurationsdateien
Verbesserungen der Plugin-Architektur
Pacu wird offiziell unter OSX und Linux unterstützt.
Pacu ist Open-Source-Software und wird mit einer BSD-3-Klausel-Lizenz vertrieben.
Melden Sie uns Schwachstellen in Pacu direkt per E-Mail: [email protected].
Pacu erstellt Fehlerprotokolle im Ordner jeder Sitzung sowie ein globales Fehlerprotokoll für Fehler außerhalb der Sitzung, das im Hauptverzeichnis erstellt wird. Wenn Sie können, fügen Sie diese Protokolle bitte Ihren Fehlerberichten bei, da dies den Debugging-Prozess erheblich vereinfacht.
Wenn Sie eine Funktionsanfrage, eine Idee oder einen Fehler melden möchten, senden Sie diese bitte hier.
Bitte fügen Sie eine Beschreibung bei, die ausreicht, um den gefundenen Fehler zu reproduzieren, einschließlich Rückverfolgungen und Reproduktionsschritten, und prüfen Sie, ob andere Berichte zu Ihrem Fehler vorliegen, bevor Sie einen neuen Fehlerbericht einreichen. Reichen Sie keine Duplikate ein.
Komplettlösungen und eine vollständige Dokumentation finden Sie im Pacu-Wiki.
Wir würden uns freuen, von Ihnen zu hören, egal aus welchem Grund. Kontaktieren Sie den Rhino Security Labs Discord.
Nach unserem besten Wissen entsprechen die Funktionen von Pacu der AWS Acceptable Use Policy, aber als flexibles und modulares Tool können wir nicht garantieren, dass dies in jeder Situation zutrifft. Es liegt ausschließlich in Ihrer Verantwortung sicherzustellen, dass die Art und Weise, wie Sie Pacu nutzen, der AWS-Richtlinie zur akzeptablen Nutzung entspricht.
Abhängig davon, welche AWS-Dienste Sie nutzen und was Ihre geplanten Tests beinhalten, müssen Sie möglicherweise die AWS-Kundensupportrichtlinie für Penetrationstests lesen, bevor Sie Pacu tatsächlich in Ihrer Infrastruktur ausführen.
Wie bei jedem Penetrationstest-Tool liegt es in Ihrer Verantwortung, die entsprechende Autorisierung einzuholen, bevor Sie Pacu außerhalb Ihrer Umgebung verwenden.
Pacu ist eine Software, für die keinerlei Garantien gelten. Durch die Nutzung von Pacu übernehmen Sie die volle Verantwortung für alle daraus resultierenden Ergebnisse.