
वेबकैम भेद्यता स्कैनिंग उपकरण | Webcam vulnerability scanning tool
सरलीकृत चीनी | English
यह मुख्य रूप से नेटवर्क कैमरों के लिए एक कमजोरी स्कैनिंग फ्रेमवर्क है, जिसमें वर्तमान में Hikvision, Dahua, Uniview, D-Link और अन्य सामान्य उपकरण शामिल हैं।
कृपया Linux या Mac सिस्टम पर उपयोग करें, सुनिश्चित करें कि Python 3.8 या उससे ऊपर का संस्करण स्थापित है। 3.11 का उपयोग करने से बचें, क्योंकि यह कई पैकेजों के साथ अच्छी संगतता नहीं रखता है।
git clone https://github.com/jorhelp/Ingram.git
cd Ingram
pip3 install virtualenv
python3 -m virtualenv venv
source venv/bin/activate
pip3 install -r requirements.txt
इस प्रकार स्थापना पूर्ण होती है!
चूंकि यह वर्चुअल वातावरण में कॉन्फ़िगर किया गया है, इसलिए प्रत्येक बार चलाने से पहले वर्चुअल वातावरण को सक्रिय करें: source venv/bin/activate
आपको एक लक्ष्य फ़ाइल तैयार करनी होगी, जैसे targets.txt, जिसमें स्कैन करने के लिए IP पते होंगे, प्रति पंक्ति एक लक्ष्य, विशिष्ट प्रारूप इस प्रकार है:
# 你可以使用井号(#)来进行注释
# 单个的 IP 地址
192.168.0.1
# IP 地址以及要扫描的端口
192.168.0.2:80
# 带 '/' 的IP段
192.168.0.0/16
# 带 '-' 的IP段
192.168.0.0-192.168.255.255
python3 run_ingram.py -i 你要扫描的文件 -o 输出文件夹
अन्यथा, डिफ़ॉल्ट रूप से केवल सामान्य पोर्ट स्कैन किए जाते हैं (जो Ingram/config.py में परिभाषित हैं)। यदि अन्य पोर्ट को बैच में स्कैन करना है, तो स्वयं निर्दिष्ट करें, उदाहरण:
python3 run_ingram.py -i 你要扫描的文件 -o 输出文件夹 -p 80 81 8000
-t पैरामीटर से समायोजित किया जा सकता है:python3 run_ingram.py -i 你要扫描的文件 -o 输出文件夹 -t 500
यह中断恢复 का समर्थन करता है, हालांकि यह वर्तमान रन स्थिति को रीयल-टाइम में रिकॉर्ड नहीं करता, बल्कि एक निश्चित अंतराल के बाद करता है, इसलिए यह पिछली रन स्थिति को सटीक रूप से पुनर्स्थापित नहीं कर सकता। यदि स्कैन नेटवर्क या विसंगति के कारण बाधित होता है, तो पिछले स्कैन कमांड को दोहराकर स्कैनिंग जारी रखी जा सकती है।
सभी पैरामीटर:
optional arguments:
-h, --help show this help message and exit
-i IN_FILE, --in_file IN_FILE
the targets will be scan
-o OUT_DIR, --out_dir OUT_DIR
the dir where results will be saved
-p PORTS [PORTS ...], --ports PORTS [PORTS ...]
the port(s) to detect
-t TH_NUM, --th_num TH_NUM
the processes num
-T TIMEOUT, --timeout TIMEOUT
requests timeout
-D, --disable_snapshot
disable snapshot
--debug
हम शक्तिशाली पोर्ट स्कैनर का उपयोग करके सक्रिय होस्ट प्राप्त कर सकते हैं, जिससे Ingram के स्कैन दायरे को कम किया जा सकता है और गति बढ़ाई जा सकती है। विशिष्ट तरीका पोर्ट स्कैनर के परिणाम फ़ाइल को ip:port प्रारूप में व्यवस्थित करना और उसे Ingram के इनपुट के रूप में उपयोग करना है।
यहाँ masscan का उदाहरण देकर सरलता से प्रदर्शित किया गया है (masscan के विस्तृत उपयोग के बारे में यहाँ चर्चा नहीं की गई), पहले masscan से 80 या 8000-8008 पोर्ट पर सक्रिय होस्ट स्कैन करें: masscan -p80,8000-8008 -iL 目标文件 -oL 结果文件 --rate 8000
masscan चलाने के बाद, परिणाम फ़ाइल को व्यवस्थित करें: grep 'open' 结果文件 | awk '{printf"%s:%s\n", $4, $3}' > targets.txt
फिर इन होस्टों को स्कैन करें: python run_ingram.py -i targets.txt -o out
run_ingram.py में लिखना होगा:# wechat
config.set_val('WXUID', '这里写uid')
config.set_val('WXTOKEN', '这里写token')
.
├── not_vulnerable.csv
├── results.csv
├── snapshots
└── log.txt
results.csv में पूर्ण परिणाम सहेजे जाते हैं, प्रारूप: ip, पोर्ट, उपकरण प्रकार, उपयोगकर्ता नाम, पासवर्ड, कमजोरी प्रविष्टि:
not_vulnerable.csv में वे उपकरण सहेजे जाते हैं जो उजागर नहीं हुए हैं।
snapshots में कुछ उपकरणों के स्नैपशॉट सहेजे जाते हैं:
सीधे ब्राउज़र के माध्यम से लॉगिन करके पूर्वावलोकन किया जा सकता है
यदि बैच में देखना चाहते हैं, तो हमने एक स्क्रिप्ट show/show_rtsp/show_all.py प्रदान की है, लेकिन इसमें कुछ समस्याएं हैं:
यह उपकरण केवल सुरक्षा परीक्षण के लिए है, अवैध उपयोग सख्त वर्जित है, और इसके परिणामों के लिए हमारी टीम जिम्मेदार नहीं है।
Thanks to Aiminsun for CVE-2021-36260
Thanks to chrisjd20 for hidvision config file decryptor
Thanks to mcw0 for DahuaConsole