
Peirates - инструмент для пентеста Kubernetes

Peirates — это инструмент для пентеста Kubernetes, который позволяет атакующему повышать привилегии и перемещаться по кластеру Kubernetes. Он автоматизирует известные техники для кражи и сбора токенов сервисных аккаунтов, секретов, получения дальнейшего выполнения кода и установления контроля над кластером.
Вы запускаете Peirates из контейнера, работающего в Kubernetes, или с узла Kubernetes, вне контейнера.
Да, безусловно. Проконсультируйтесь с юристом и владельцами кластера перед использованием этого инструмента в кластере Kubernetes.
Технический директор InGuardians Джей Бил (Jay Beale) первым задумал Peirates и собрал группу разработчиков InGuardians для его создания, включая Фейт Олдерсон (Faith Alderson), Адама Кромптона (Adam Crompton) и Дэйва Майера (Dave Mayer). Фейт убедила нас всех выучить Golang, чтобы она могла реализовать использование библиотеки kubectl из проекта Kubernetes. Адам убедил группу использовать высокоинтерактивный пользовательский интерфейс. Дэйв привнёс заразительный энтузиазм. Вместе эти четыре разработчика реализовали атаки и начали выпускать этот инструмент, который мы используем в наших тестах на проникновение.
Помогали и другие участники — смотрите GitHub, чтобы узнать больше, но также ознакомьтесь с credits.md.
Да, безусловно. Отправляйте pull request и/или пишите на [email protected].
Peirates выпущен под лицензией GPLv2.
Если вы просто хотите получить бинарник peirates для начала атак, загрузите последний релиз со страницы релизов.
Вы можете найти полезный образ контейнера alpine-peirates на Docker Hub, с тегом номера версии, соответствующим версии Peirates.
Например, для alpine-peirates:1.1.16, который содержит версию peirates 1.1.16, выполните:
docker pull bustakube/alpine-peirates:1.1.16
Однако, если вы хотите собрать из исходников, читайте дальше!
Получить peirates
go get -v "github.com/inguardians/peirates"
Получить исходники библиотек, если вы ещё этого не сделали (Предупреждение: это займёт почти гигабайт места, так как требуется весь репозиторий Kubernetes)
go get -v "k8s.io/kubectl/pkg/cmd" "github.com/aws/aws-sdk-go"
Собрать исполняемый файл
cd $GOPATH/github.com/inguardians/peirates/scripts
./build.sh
Это создаст исполняемый файл с именем peirates в той же директории.