
Prueba de concepto en Python para inyección de comandos autenticada en puntos de acceso inalámbricos de Hikvision, que permite probar la ejecución remota de código con endpoints y comandos personalizables.
Esta herramienta es una prueba de concepto en Python para probar puntos de acceso inalámbricos de Hikvision para CVE-2026-0709, una vulnerabilidad de inyección de comandos autenticada que puede conducir a la ejecución remota de código en dispositivos afectados.
Solo para pruebas de seguridad e investigación en sistemas que poseas o para los que tengas autorización explícita de evaluar.
CVE-2026-0709 es una vulnerabilidad autenticada: el atacante debe iniciar sesión con credenciales válidas y luego enviar una solicitud especialmente diseñada a un endpoint vulnerable en el AP inalámbrico de Hikvision. Si el dispositivo es vulnerable, la entrada no saneada se pasa al sistema operativo subyacente, lo que permite la ejecución arbitraria de comandos bajo la cuenta de servicio del dispositivo.
Este script:
El script está escrito como una plantilla: debes completar la ruta real del endpoint, el nombre del parámetro y la lógica de inicio de sesión de acuerdo con el aviso oficial del proveedor o una prueba de concepto pública.
requestsInstala las dependencias:
pip install requests
Supón que el script está guardado como 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 (obligatorio): IP o nombre de host del AP objetivo.
--port (opcional): Puerto objetivo (por defecto: 80).
--https (bandera): Usar HTTPS en lugar de HTTP.
-u, --user (obligatorio): Nombre de usuario para el inicio de sesión.
-p, --password (obligatorio): Contraseña para el inicio de sesión.
--cmd (opcional): Comando a ejecutar en el dispositivo (por defecto: id).
El script hará lo siguiente:
Construir la URL base a partir del host, puerto y esquema (HTTP/HTTPS).
Autenticarse con las credenciales proporcionadas.
Enviar un payload donde un parámetro contiene una secuencia de shell inyectada (por ejemplo 127.0.0.1; id;).
Imprimir el código de estado HTTP y el cuerpo de la respuesta.
Este repositorio no codifica de forma fija ningún endpoint o parámetro específico de Hikvision. Debes actualizar el script para que coincida con los detalles reales de CVE-2026-0709:
Función de autenticación
En authenticate(...), reemplaza la lógica de inicio de sesión de marcador de posición con la real:
Si el dispositivo utiliza un inicio de sesión basado en formularios, ajusta la URL y los campos del formulario (por ejemplo, /login, user, pwd).
Si utiliza autenticación básica HTTP, es posible que no necesites una solicitud de inicio de sesión separada; en su lugar, configura la sesión para usar autenticación básica.
Endpoint vulnerable
En exploit_command_injection(...), establece:
vuln_path a la ruta real (por ejemplo, un endpoint de API o diagnóstico).
La clave del parámetro (por ejemplo, host, address, command) a la que sea vulnerable.
El método HTTP exacto (GET o POST) y el cuerpo/encabezados según lo descrito en el aviso.
Salida del comando
Dependiendo de cómo se comporte el dispositivo:
La respuesta puede contener la salida del comando directamente.
O puede mostrar solo un estado genérico, y debes inferir el éxito mediante efectos secundarios (por ejemplo, nuevo archivo, callback de red).
Ajusta tu lógica de análisis en consecuencia si deseas detectar automáticamente el éxito.
Lee el aviso oficial del proveedor / informe técnico para CVE-2026-0709.
Identifica:
URL del endpoint (ruta).
Parámetro vulnerable.
Método de autenticación requerido.
Edita el script:
Actualiza authenticate() con la ruta y los campos de inicio de sesión correctos.
Actualiza exploit_command_injection() con la ruta y el nombre del parámetro correctos.
Ejecuta el script en un laboratorio contra un dispositivo de prueba.
Revisa la respuesta para buscar evidencia de ejecución de comandos (por ejemplo, salida de id o uname -a).
Esta PoC se proporciona con fines educativos, de investigación y de seguridad defensiva. No es un exploit o escáner de grado de producción. Debes revisar y probar el código a fondo, y siempre seguir las políticas de seguridad y los requisitos legales de tu organización.