Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
kube-reaper — Сканирует кластеры Kubernetes из-под любой учётной записи, выявляет опасные разрешения и выстраивает их в многошаговые пути эскалации вплоть до компрометации кластера. | Kitploit
Инструменты/GitHubGitHub/stillbigjosh/kube-reaper
Оборонительные ИнструментыПовышение привилегийРазведкаБезопасность контейнеровАнализ уязвимостейЛатеральное перемещениеАудит конфигурацииСбор информацииПост-эксплуатацияТестирование на ПроникновениеБезопасность облачных сред
3713 дней назадЕщё не проверено
Red Teaming
GitHubstillbigjosh/kube-reaper

kube-reaper

Сканирует кластеры Kubernetes из-под любой учётной записи, выявляет опасные разрешения и выстраивает их в многошаговые пути эскалации вплоть до компрометации кластера.

РепозиторийСайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

kube-reaper

Инструмент для картирования путей атак через RBAC в Kubernetes. Он определяет, что может делать ваша учётная запись, отмечает опасные разрешения и выстраивает их в многошаговые цепочки для компрометации кластера.

Создан для red team и пентестеров.

Что он делает

kube-reaper сканирует кластер Kubernetes от имени любой учётной записи (пользователя, сервисной учётной записи, группы) и выдаёт:

  • 55 шаблонов опасных разрешений с оценкой критичности и инструкциями по атаке
  • 18 типов цепочек атак, связывающих разрешения в многошаговые пути эскалации
  • Рекурсивное переключение учётных записей, которое читает секреты с токенами SA и создаёт токены для картирования транзитивного доступа между учётными записями
  • Картирование перехода через поды, связывающее доступ exec, запущенные поды и разрешения сервисных учётных записей
  • Обнаружение опасных подов, отмечающее привилегированные контейнеры, монтирования хоста, сокеты среды выполнения и открытые секреты
  • Перечисление графа RBAC, которое сопоставляет все учётные записи с их эффективными разрешениями и отмечает перепривилегированные цели для перехода
  • 31 шаблон угроз CRD для ArgoCD, Flux, Istio, cert-manager, Kyverno, Gatekeeper, Tekton, Crossplane, Calico и других
  • Сортировка секретов, классифицирующая доступные секреты по типу (токены SA, учётные данные реестра, TLS-сертификаты, SSH-ключи, opaque)
  • Анализ контекста пода для векторов выхода из контейнера, возможностей Linux, облачного IMDS и сетевых интерфейсов
  • Режим без kubectl для локальных проверок, когда API-сервер недоступен из пода

Установка

Требуется инструментарий Rust (rustup + stable).

git clone https://github.com/youruser/kube-reaper.git
cd kube-reaper
cargo build --release

Бинарный файл находится в target/release/kube-reaper.

Статический бинарный файл (рекомендуется для развёртывания)

Сборка под musl создаёт полностью статический бинарный файл без зависимостей. Он работает в любой системе Linux x86_64.

rustup target add x86_64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl

Бинарный файл находится в target/x86_64-unknown-linux-musl/release/kube-reaper (~5.4 MB).

# Copy to a Kubernetes node
scp target/x86_64-unknown-linux-musl/release/kube-reaper user@node:/tmp/

# Copy into a running pod
kubectl cp target/x86_64-unknown-linux-musl/release/kube-reaper mynamespace/mypod:/tmp/kube-reaper

Быстрый старт

# Scan with current kubeconfig
kube-reaper

# Scan a specific namespace
kube-reaper -n production

# Scan with a stolen SA token
kube-reaper --token <JWT> --server https://10.0.0.1:6443

# Scan as a different user (requires impersonate permissions)
kube-reaper --as-user system:serviceaccount:development:code-server

# Recursive identity pivot (read SA tokens, mint new tokens, map transitive access)
kube-reaper --pivot

# Pivot with custom depth (default: 3)
kube-reaper --pivot --pivot-depth 5

# Show only critical and high findings
kube-reaper -s high

# Output JSON
kube-reaper -o json

# Save JSON report to file
kube-reaper -w results.json

Справочник по CLI

Usage: kube-reaper [OPTIONS]

Options:
  -n, --namespace <NAMESPACE>     Target namespace (default: all accessible)
  -k, --kubeconfig <KUBECONFIG>   Path to kubeconfig file
      --token <TOKEN>             Bearer token (requires --server)
      --server <SERVER>           API server URL (required with --token)
      --as-user <USER>            Impersonate a user
      --as-group <GROUP>          Impersonate a group
      --pivot                     Recursive identity pivot via SA secrets and TokenRequest
      --pivot-depth <N>           Maximum pivot depth [default: 3]
  -o, --output <OUTPUT>           Output format [default: terminal] [values: terminal, json]
  -w, --write <WRITE>             Write JSON results to file
  -s, --severity <SEVERITY>       Minimum severity [default: low] [values: critical, high, medium, low, info]
      --unconventional-only       Show only unconventional RBAC abuses
      --chains-only               Show only attack chains
  -h, --help                      Print help
  -V, --version                   Print version

Аутентификация

kube-reaper пробует следующие методы аутентификации по порядку:

  1. --token + --server — Прямой bearer-токен. Используйте с украденным токеном SA или JWT. Автоматически принимает самоподписанные сертификаты.
  2. --kubeconfig / -k — Явный файл kubeconfig. Также читает переменную окружения KUBECONFIG.
  3. По умолчанию — Конфигурация внутри кластера (внутри пода), затем ~/.kube/config.

--as-user и --as-group добавляют заголовки имперсонации к любому методу аутентификации. Ваша учётная запись должна иметь глагол impersonate, чтобы это работало.

Переключение учётных записей

Флаг --pivot включает рекурсивное переключение учётных записей. Эта функция обнаруживает транзитивные пути атак, переключаясь через учётные данные сервисных учётных записей.

Как это работает

  1. kube-reaper анализирует разрешения текущей учётной записи по пространствам имён.
  2. Для каждого пространства имён, где учётная запись может читать секреты, он читает секреты с токенами SA (тип kubernetes.io/service-account-token) и извлекает токен.
  3. Для каждого пространства имён, где учётная запись может создавать serviceaccounts/token без ограничений по имени ресурса, он создаёт кратковременные токены через API TokenRequest.
  4. Для каждого обнаруженного токена он аутентифицируется как эта сервисная учётная запись и перечисляет её разрешения во всех известных пространствах имён.
  5. Если переключённая учётная запись также может читать секреты или создавать токены, процесс повторяется до --pivot-depth (по умолчанию: 3).

Сканирование использует обход в ширину (BFS) для поиска кратчайших путей переключения в первую очередь. Оно останавливается на 50 учётных записях, чтобы предотвратить бесконтрольное сканирование.

Что отображается в выводе

Каждая переключённая учётная запись показывает:

  • Критичность на основе её опасных разрешений
  • Метод переключения (SecretToken или TokenRequest) и источник
  • Опасные разрешения, найденные у этой учётной записи
  • Возможность дальнейшего переключения (в каких пространствах имён она может читать секреты или создавать токены)

Проверки разрешений

Сканер переключения применяет следующие ограничения для предотвращения ложных срабатываний:

  • Ограничение по группе API: Только правила в основной группе API (или apiGroups: ["*"]) учитываются для проверок чтения секретов и создания токенов. Правила в неосновных группах (например, custom.metrics.k8s.io) не подходят.
  • Ограничения по имени ресурса: Правила с установленным resourceNames не учитываются для создания токенов. Правило, разрешающее создание токена для одной именованной сервисной учётной записи, не то же самое, что неограниченное создание токенов.
  • Сопоставление подстановочных знаков глаголов: Шаблон "Wildcard on All Resources" требует verbs: ["*"], а не просто любого глагола для resources: ["*"].

Разделы вывода

Вывод в терминал показывает следующие разделы (каждый появляется только при наличии находок):

Скачать инструмент