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

Что такое Peirates?
Peirates — инструмент для пентеста Kubernetes, который позволяет атакующему повышать привилегии и перемещаться по кластеру Kubernetes. Он автоматизирует известные техники для кражи и сбора токенов сервисных аккаунтов, секретов, получения дальнейшего выполнения кода и захвата контроля над кластером.
Где запускать Peirates?
Вы запускаете Peirates из контейнера, работающего в Kubernetes, или с узла Kubernetes, вне контейнера.
Атакует ли Peirates кластер Kubernetes?
Да, абсолютно точно атакует. Проконсультируйтесь со своим юристом и владельцами кластера перед использованием этого инструмента в кластере Kubernetes.
Кто создаёт Peirates?
Технический директор InGuardians Джей Бил (Jay Beale) первым задумал Peirates и собрал группу разработчиков InGuardians для его создания вместе с ним, включая Фейт Олдерсон (Faith Alderson), Адама Кромптона (Adam Crompton) и Дэйва Майера (Dave Mayer). Фейт убедила нас всех выучить Golang, чтобы она могла реализовать использование библиотеки kubectl из проекта Kubernetes. Адам убедил группу использовать высокоинтерактивный пользовательский интерфейс. Дэйв привнёс заразительный энтузиазм. Вместе эти четыре разработчика реализовали атаки и начали выпускать этот инструмент, который мы используем в наших пентестах.
Другие участники также помогали — смотрите GitHub, чтобы узнать больше, но также ознакомьтесь с credits.md.
Приветствуете ли вы вклад?
Да, абсолютно. Присылайте pull request и/или обращайтесь на [email protected].
Под какой лицензией выпускается этот проект?
Peirates выпускается под лицензией GPLv2.
Запуск Peirates
Если вам нужен только бинарный файл peirates для начала атак, возьмите последний релиз со страницы релизов.
Описание поведения команд, предварительные требования, побочные эффекты, очистку и устранение неполадок смотрите в справочнике команд главного меню.
Peirates как образ контейнера
Вы можете найти полезный образ контейнера alpine-peirates на Docker Hub с тегом номера версии, который соответствует версии Peirates.
Например, для alpine-peirates:v1.1.27d, который содержит версию peirates v1.1.27d, выполните:
docker pull bustakube/alpine-peirates:v1.1.27d
Сборка Peirates
Однако, если вы хотите собрать из исходников, читайте дальше!
Получите 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
make
Цель build по умолчанию создаёт статически слинкованный исполняемый файл Linux AMD64
с именем peirates в корне репозитория. Вы также можете вызвать её явно с помощью
make build.
Соберите сжатые дистрибутивы Linux для AMD64, ARM, ARM64 и 386:
make dist
Архивы дистрибутивов содержат статически слинкованные бинарные файлы и записываются в
scripts/. Установите DIST_COMPRESS=no, чтобы сохранить несжатые бинарные файлы, или
DIST_ARCHES=amd64, чтобы собрать подмножество архитектур. Также доступны отдельные цели, такие как
make dist-arm64.