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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/betep0k/cve-2021-25741
Анализ уязвимостейЭксплуатацияТестирование на ПроникновениеБезопасность облачных средПобег из Контейнера
GitHubbetep0k/cve-2021-25741

CVE-2021-25741

Эксплойт для уязвимости CVE-2021-25741 в Kubernetes, позволяющей монтировать файловую систему хоста в поды через состояние гонки, со скриптами развертывания и техническими деталями.

Репозиторий
301474 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

О проекте

Это эксплойт для уязвимости CVE-2021-25741. Данная уязвимость позволяет смонтировать файловую систему Node внутри нового POD с правами чтения и записи.

Подробнее об уязвимости можно прочитать здесь:

https://security.googleblog.com/2021/12/exploring-container-security-storage.html

Я не являюсь автором этой уязвимости и просто создал эксплойт.

Спасибо @russtone и @maximusfox за помощь в разработке эксплойта.

Условия

  1. У вас есть привилегии на создание новых POD
  2. На узлах установлена уязвимая версия kubelet

Уязвимые версии kubelet:

  • v1.22.0 - v1.22.1
  • v1.21.0 - v1.21.4
  • v1.20.0 - v1.20.10
  • <= v1.19.14

Как использовать

Просто запустите run.sh и ждите :) Эксплуатация займёт некоторое время (у меня это заняло 10-20 минут), так как она основана на состоянии гонки.

root@kitploit:~
chmod +x run.sh; ./run.sh

Когда вы получите сообщение "Success", вы можете подключиться к POD и найти файловую систему Node в каталоге . Для подключения можно использовать следующую команду:

/mnt/data
root@kitploit:~
kubectl exec -i -t cve202125741 -c mount-container -- /bin/sh

Технические детали

Эксплойт состоит из 2 частей:

  • pod.yaml

    YAML-файл с конфигурацией POD, который эксплуатирует уязвимость. Из-за состояния гонки он срабатывает не каждый раз, поэтому его нужно запускать в цикле.

  • run.sh

    Скрипт, который разворачивает pod.yaml, проверяет результат и повторно разворачивает его при необходимости.

В качестве бинарника renameat2 с опцией RENAME_EXCHANGE я использовал этот код: https://gist.github.com/eatnumber1/f97ac7dad7b1f5a9721f

Вы можете скомпилировать его самостоятельно и заменить в pod.yaml, если хотите:

root@kitploit:~
gcc renameat2.c -o renameat2
base64 renameat2

Устранение неполадок

У меня нет kubectl в системе

Решения:

  1. Просто скачайте его с официального сайта и установите в свою систему
  2. Если это невозможно, то вам нужно переписать run.sh и отправлять HTTP-запросы напрямую в Kubernetes API без использования kubectl

У меня нет привилегий на запуск /bin/sh в POD

Решения:

  1. Вы можете попробовать привязать /bin/sh к TCP-порту и подключиться к этому порту.
  2. Вы можете отредактировать pod.yaml и добавить необходимые команды. Они будут выполнены в процессе развёртывания.
Скачать инструмент