
Peirates - Kubernetes Penetrationstest-Werkzeug

Peirates, ein Kubernetes-Penetrationstool, ermöglicht es einem Angreifer, Berechtigungen zu eskalieren und durch einen Kubernetes-Cluster zu pivotieren. Es automatisiert bekannte Techniken, um Service-Account-Tokens und Geheimnisse zu stehlen und zu sammeln, weitere Codeausführung zu erlangen und die Kontrolle über den Cluster zu gewinnen.
Sie führen Peirates von einem Container aus, der auf Kubernetes läuft, oder von einem Kubernetes-Knoten außerhalb des Containers.
Ja, das tut es definitiv. Sprechen Sie mit Ihrem Anwalt und den Cluster-Besitzern, bevor Sie dieses Tool in einem Kubernetes-Cluster einsetzen.
Der CTO von InGuardians, Jay Beale, hat Peirates erstmals konzipiert und eine Gruppe von InGuardians-Entwicklern zusammengestellt, um es mit ihm zu entwickeln, darunter Faith Alderson, Adam Crompton und Dave Mayer. Faith überzeugte uns alle, Golang zu lernen, damit sie die Nutzung der kubectl-Bibliothek aus dem Kubernetes-Projekt im Tool implementieren konnte. Adam überzeugte die Gruppe, eine hochinteraktive Benutzeroberfläche zu verwenden. Dave brachte ansteckende Begeisterung mit. Zusammen implementierten diese vier Entwickler Angriffe und begannen mit der Veröffentlichung dieses Tools, das wir bei unseren Penetrationstests einsetzen.
Andere Mitwirkende haben ebenfalls geholfen – siehe GitHub für weitere, aber bitte sehen Sie sich auch credits.md an.
Ja, absolut. Reichen Sie einen Pull-Request ein und/oder wenden Sie sich an [email protected].
Peirates wird unter der GPLv2-Lizenz veröffentlicht.
Wenn Sie nur die Peirates-Binärdatei haben möchten, um mit Angriffen zu beginnen, holen Sie sich die neueste Version von der Releases-Seite.
Sie finden ein nützliches alpine-peirates-Container-Image auf Docker Hub mit einem Versionsnummern-Tag, das der Peirates-Version folgt.
Zum Beispiel für alpine-peirates:1.1.16, das die Peirates-Version 1.1.16 enthält, führen Sie aus:
docker pull bustakube/alpine-peirates:1.1.16
Wenn Sie jedoch aus dem Quellcode erstellen möchten, lesen Sie weiter!
Peirates abrufen
go get -v "github.com/inguardians/peirates"
Quellen der Bibliothek abrufen, falls noch nicht geschehen (Warnung: Dies wird fast ein Gigabyte Speicherplatz beanspruchen, da das gesamte Kubernetes-Repository benötigt wird)
go get -v "k8s.io/kubectl/pkg/cmd" "github.com/aws/aws-sdk-go"
Erstellen Sie die ausführbare Datei
cd $GOPATH/github.com/inguardians/peirates/scripts
./build.sh
Dies erzeugt eine ausführbare Datei namens peirates im selben Verzeichnis.