
أداة فحص ثغرات كاميرات الويب | 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 مجلد_المخرجات
target.txt منفذ الهدف، مثل: 192.168.6.6:8000، فسيتم مسح المنفذ 8000 لذلك الهدف.وإلا، يتم افتراضيًا مسح المنافذ الشائعة فقط (المعرفة في 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