Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!
nhi-zero-trust-bypass — Демонстрирует реальный обход нулевого доверия путём эксплуатации BIND CVE-2025-40775 для нарушения DNS, срыва ротации секретов и раскрытия статичных учетных данных в облачной лаборатории. | Kitploit
Демонстрирует реальный обход нулевого доверия путём эксплуатации BIND CVE-2025-40775 для нарушения DNS, срыва ротации секретов и раскрытия статичных учетных данных в облачной лаборатории.
Продемонстрировать, как злоумышленник может использовать критическую уязвимость DNS (CVE-2025-40775) для сбоя DNS-серверов, нарушения процессов ротации секретов нечеловеческих идентификаторов (NHI) и перехвата машинных идентификаторов, тем самым обходя системы безопасности нулевого доверия. Проект сосредоточен на уязвимостях на уровне протокола и пробелах в жизненном цикле NHI, без использования зависимостей AI/ML.
Предпосылки и актуальность
Уязвимости DNS: Исследование критических уязвимостей DNS (например, DoS BIND через повреждённые TSIG-записи).
Управление NHI: Анализ распространённых слабостей в управлении и жизненном цикле нечеловеческих идентификаторов (ключи API, сервисные аккаунты, машинные идентификаторы) в облачных средах.
Фреймворки нулевого доверия: Понимание того, как принципы нулевого доверия опираются на непрерывную аутентификацию и ротацию секретов, и как сбои могут нарушить эти допущения.
Схема атаки
Фаза 1: Вызов сбоя DNS-сервера
Цель: Нарушить DNS-резолвинг для целевых облачных сервисов.
Метод: Создание повреждённых DNS-запросов с использованием известной уязвимости BIND, связанной с TSIG-записями (CVE-2025-40775).
Инструмент:Scapy для генерации пакетов.
Фаза 2: Эксплуатация сбоев ротации секретов NHI
Цель: Вынудить системы полагаться на статические/запасные NHI и захватить их.
Метод: Нарушить связь с менеджерами секретов (например, HashiCorp Vault) с помощью DNS DoS, вызывая повторные попытки ротации. Исследовать, передаются ли секреты в открытом виде во время этих попыток или использование устаревших секретов создаёт возможность.
Инструмент:tcpdump для захвата трафика, симуляция Python-клиента.
Фаза 3: Обход политик нулевого доверия
Цель: Использовать украденные/раскрытые NHI для маскировки под сервисы и эксфильтрации данных.
Метод: Подделка токенов аутентификации (например, JWT) или прямое использование ключей API для доступа к ограниченным ресурсам.
Инструмент: Python-скрипт для доступа к защищённому конечному API.
Краткое описание демонстрации
Эксплуатация BIND 9.20.8 с помощью повреждённого TSIG DNS-пакета (с использованием dns_exploit.py и Scapy) для сбоя DNS-сервера.
Наблюдение сбоев ротации секретов NHI в клиенте (client_nhi_rotation.py) из-за отключения DNS, что приводит к возврату к статическим учётным данным / учётным данным аварийного доступа.
Демонстрация обхода нулевого доверия с использованием статических учётных данных (STATIC_BREAK_GLASS_KEY_XYZABC) для доступа к защищённому API (bypass_demo.py), который предоставляет доступ и обходит политику.
Ключевые файлы
dns_exploit.py: Scapy-скрипт для запуска DoS BIND.
client_nhi_rotation.py: Имитирует ротацию секретов NHI и возврат.
bypass_demo.py: Демонстрирует обход с использованием статического NHI.
api-service-mock/app.py: Защищённая конечная точка API.
Цепочка эксплуатации от начала до конца: DNS DoS → сбой ротации NHI → раскрытие статических учётных данных → обход нулевого доверия.
Реалистичный облачный сценарий: Демонстрирует, как атаки на уровне протокола могут подорвать современные системы безопасности.
Рекомендации
По возможности исключите статические учётные данные / учётные данные аварийного доступа.
Укрепите инфраструктуру DNS и отслеживайте аномалии протокола.
Обеспечьте безопасное ухудшение работы менеджеров секретов и клиентов при сбоях инфраструктуры.
Раскрытие уязвимости
Этот проект демонстрирует воздействие CVE-2025-40775, уязвимости типа «отказ в обслуживании» в BIND 9.20.0–9.20.8. Лабораторная среда намеренно собирает и запускает BIND 9.20.8 для имитации этого сценария. Все тестирования проводились в контролируемой среде исключительно в исследовательских и образовательных целях.
Описание: Когда входящее сообщение DNS-протокола содержит транзакционную подпись (TSIG), BIND всегда проверяет её. Если TSIG содержит недопустимое значение в поле алгоритма, BIND немедленно завершает работу с ошибкой утверждения.
Затронутые версии: 9.20.0–9.20.8, 9.21.0–9.21.7
Воздействие: Удалённый DoS без аутентификации (CVSS 7.5 ВЫСОКИЙ)
Обходной путь: Нет. Исправление до версии 9.20.9 или новее.
Сервис vulnerable_bind собирается из исходников с использованием официального тарбола 9.20.8, как показано в Dockerfile. Это только для демонстрации — не используйте эту версию в производственной среде.
Отказ от ответственности
Этот репозиторий предназначен только для образовательных и исследовательских целей. Не используйте эти методы или код для несанкционированных или вредоносных действий. См. DISCLAIMER.md.