
Python-эксплойт (proof-of-concept) для аутентифицированной инъекции команд в беспроводных точках доступа Hikvision, позволяющий тестировать удалённое выполнение кода с настраиваемыми конечными точками и командами.
Этот инструмент представляет собой proof‑of‑concept на Python для проверки беспроводных точек доступа Hikvision на наличие CVE‑2026‑0709 — аутентифицированной уязвимости внедрения команд, которая может привести к удалённому выполнению кода на затронутых устройствах.
Только для тестирования безопасности и исследований на системах, которыми вы владеете или на проверку которых у вас есть явное разрешение.
CVE‑2026‑0709 — это аутентифицированная уязвимость: злоумышленник должен войти в систему с действительными учётными данными, а затем отправить специально сформированный запрос к уязвимой конечной точке на беспроводной точке доступа Hikvision. Если устройство уязвимо, непроверенные входные данные передаются в операционную систему, что позволяет выполнять произвольные команды от имени сервисной учётной записи устройства.
Этот скрипт:
Скрипт написан как шаблон: вы должны заполнить реальный путь конечной точки, имя параметра и логику входа в соответствии с официальным бюллетенем вендора или публичным proof‑of‑concept.
requestsУстановка зависимостей:
pip install requests
Предположим, что скрипт сохранён как hikvision_cve_2026_0709.py.
python hikvision_cve_2026_0709.py \
--host 192.168.1.50 \
--port 80 \
--user admin \
--password MyStrongPassword \
--cmd "id"
python hikvision_cve_2026_0709.py \
--host ap.example.local \
--port 443 \
--https \
--user admin \
--password MyStrongPassword \
--cmd "uname -a"
--host (обязательный): IP‑адрес или имя хоста целевой точки доступа.
--port (необязательный): Целевой порт (по умолчанию: 80).
--https (флаг): Использовать HTTPS вместо HTTP.
-u, --user (обязательный): Имя пользователя для входа.
-p, --password (обязательный): Пароль для входа.
--cmd (необязательный): Команда для выполнения на устройстве (по умолчанию: id).
Скрипт выполнит следующие действия:
Сформирует базовый URL из хоста, порта и схемы (HTTP/HTTPS).
Выполнит аутентификацию с предоставленными учётными данными.
Отправит полезную нагрузку, где один параметр содержит внедрённую последовательность команд (например, 127.0.0.1; id;).
Выведет HTTP‑код состояния и тело ответа.
Этот репозиторий не содержит жёстко заданных конечных точек или параметров, специфичных для Hikvision. Вы должны обновить скрипт в соответствии с реальными деталями CVE‑2026‑0709:
Функция аутентификации
В authenticate(...) замените логику входа‑заглушки на реальную:
Если устройство использует вход на основе формы, скорректируйте URL и поля формы (например, /login, user, pwd).
Если используется базовая HTTP‑аутентификация, отдельный запрос входа может не понадобиться; вместо этого настройте сессию на использование базовой аутентификации.
Уязвимая конечная точка
В exploit_command_injection(...) задайте:
vuln_path — фактический путь (например, API или диагностическая конечная точка).
Ключ параметра (например, host, address, command) — тот, который уязвим.
Точный HTTP‑метод (GET или POST) и тело/заголовки, как описано в бюллетене.
Вывод команды
В зависимости от поведения устройства:
Ответ может содержать вывод команды напрямую.
Или может отображаться только общий статус, и об успехе придётся судить по побочным эффектам (например, новый файл, сетевой обратный вызов).
При необходимости скорректируйте логику анализа, если хотите автоматически определять успех.
Прочитайте официальный бюллетень вендора / техническое описание CVE‑2026‑0709.
Определите:
URL конечной точки (путь).
Уязвимый параметр.
Требуемый метод аутентификации.
Отредактируйте скрипт:
Обновите authenticate() с правильным путём входа и полями.
Обновите exploit_command_injection() с правильным путём и именем параметра.
Запустите скрипт в лаборатории на тестовом устройстве.
Проверьте ответ на наличие признаков выполнения команды (например, вывод id или uname -a).
Этот PoC предоставлен в образовательных, исследовательских целях и для защиты информации. Он не является эксплойтом или сканером производственного уровня. Вы должны тщательно изучить и протестировать код, а также всегда соблюдать политику безопасности вашей организации и требования законодательства.