
Peirates - Ferramenta de Teste de Penetração em Kubernetes

Peirates, uma ferramenta de penetração em Kubernetes, permite que um atacante eleve privilégios e realize pivoting através de um cluster Kubernetes. Ela automatiza técnicas conhecidas para roubar e coletar tokens de contas de serviço, segredos, obter execução adicional de código e obter controle do cluster.
Você executa o Peirates a partir de um contêiner em execução no Kubernetes ou de um nó Kubernetes, fora do contêiner.
Sim, absolutamente. Fale com seu advogado e com os proprietários do cluster antes de usar esta ferramenta em um cluster Kubernetes.
O CTO da InGuardians, Jay Beale, concebeu o Peirates e reuniu um grupo de desenvolvedores da InGuardians para criá-lo com ele, incluindo Faith Alderson, Adam Crompton e Dave Mayer. Faith nos convenceu a todos aprender Golang, para que ela pudesse implementar o uso da biblioteca kubectl do projeto Kubernetes. Adam convenceu o grupo a usar uma interface de usuário altamente interativa. Dave trouxe entusiasmo contagiante. Juntos, esses quatro desenvolvedores implementaram ataques e começaram a lançar esta ferramenta que usamos em nossos testes de penetração.
Outros contribuidores também ajudaram - veja o GitHub para mais, mas por favor também revise credits.md.
Sim, absolutamente. Envie um pull request e/ou entre em contato com [email protected].
Peirates é lançado sob a licença GPLv2.
Se você só quer o binário do peirates para começar a atacar coisas, pegue a versão mais recente na página de releases.
Você pode encontrar uma imagem de contêiner alpine-peirates útil no Docker Hub, com uma tag de número de versão que acompanha a versão do Peirates.
Por exemplo, para alpine-peirates:1.1.16, que contém a versão 1.1.16 do peirates, execute:
docker pull bustakube/alpine-peirates:1.1.16
No entanto, se você quiser compilar a partir do código fonte, continue lendo!
Obter o peirates
go get -v "github.com/inguardians/peirates"
Obtenha as fontes da biblioteca se ainda não o fez (Aviso: isso consumirá quase um gigabyte de espaço porque precisa de todo o repositório kubernetes)
go get -v "k8s.io/kubectl/pkg/cmd" "github.com/aws/aws-sdk-go"
Compile o executável
cd $GOPATH/github.com/inguardians/peirates/scripts
./build.sh
Isso gerará um arquivo executável chamado peirates no mesmo diretório.