
Peirates - Outil de test d'intrusion Kubernetes

Peirates, un outil de pénétration Kubernetes, permet à un attaquant d'élever ses privilèges et de pivoter à travers un cluster Kubernetes. Il automatise des techniques connues pour voler et collecter des jetons de compte de service, des secrets, obtenir une exécution de code supplémentaire et prendre le contrôle du cluster.
Vous exécutez Peirates depuis un conteneur tournant sur Kubernetes ou depuis un nœud Kubernetes, en dehors du conteneur.
Oui, absolument. Parlez à votre avocat et aux propriétaires du cluster avant d'utiliser cet outil dans un cluster Kubernetes.
Le CTO d'InGuardians, Jay Beale, a conçu Peirates et a rassemblé un groupe de développeurs d'InGuardians pour le créer avec lui, notamment Faith Alderson, Adam Crompton et Dave Mayer. Faith nous a convaincus d'apprendre Golang afin de pouvoir implémenter l'utilisation par l'outil de la bibliothèque kubectl du projet Kubernetes. Adam a convaincu le groupe d'utiliser une interface utilisateur hautement interactive. Dave a apporté un enthousiasme contagieux. Ensemble, ces quatre développeurs ont implémenté des attaques et ont commencé à publier cet outil que nous utilisons lors de nos tests de pénétration.
D'autres contributeurs ont également aidé - consultez GitHub pour en voir plus, mais veuillez aussi consulter credits.md.
Oui, absolument. Soumettez une pull request et/ou contactez [email protected].
Peirates est publié sous la licence GPLv2.
Si vous voulez simplement le binaire peirates pour commencer à attaquer, récupérez la dernière version sur la page des versions.
Vous pouvez trouver une image conteneur alpine-peirates utile sur Docker Hub, avec une étiquette de numéro de version qui suit la version de Peirates.
Par exemple, pour alpine-peirates:1.1.16, qui contient peirates version 1.1.16, exécutez :
docker pull bustakube/alpine-peirates:1.1.16
Cependant, si vous voulez construire depuis les sources, lisez la suite !
Obtenez peirates
go get -v "github.com/inguardians/peirates"
Obtenez les sources de la bibliothèque si ce n'est pas déjà fait (Attention : cela prendra presque un gigaoctet d'espace car cela nécessite l'ensemble du dépôt Kubernetes)
go get -v "k8s.io/kubectl/pkg/cmd" "github.com/aws/aws-sdk-go"
Construisez l'exécutable
cd $GOPATH/github.com/inguardians/peirates/scripts
./build.sh
Cela générera un fichier exécutable nommé peirates dans le même répertoire.