
CVE-2019-15107-Scanner هو ماسح ضوئي مبني على Python يكتشف خوادم Webmin (1.890 - 1.920) المعرّضة للخطر والمتأثرة بثغرة CVE-2019-15107، وهي ثغرة تنفيذ تعليمات برمجية عن بُعد (RCE) بدون مصادقة في نقطة النهاية /password_change.cgi.
ماسح متعدد الخيوط بلغة بايثون لاكتشاف خوادم Webmin المعرّضة للثغرة الأمنية CVE-2019-15107 (ثغرة تنفيذ أوامر عن بُعد مصادق عليها في إصدارات Webmin من 1.890 حتى 1.920).
تقوم هذه الأداة بفحص قائمة بخوادم Webmin (مقدمة بصيغة CSV) والتحقق من وجود الثغرة الأمنية CVE-2019-15107، والتي تسمح بتنفيذ أوامر عن بُعد عبر نقطة النهاية password_change.cgi. يعمل الماسح بشكل متعدد الخيوط لفحص الشبكات الكبيرة بكفاءة، ويوفّر مخرجات مرمّزة بالألوان لتسهيل تفسير النتائج.
vulnerable_hosts.txtCVE-2019-15107: ثغرة تنفيذ أوامر عن بُعد مصادق عليها في إصدارات Webmin من 1.890 حتى 1.920. توجد الثغرة في نقطة النهاية password_change.cgi، والتي تسمح بحقن أوامر عبر الوسيط expired.
استنساخ هذا المستودع:
git clone https://github.com/mattb709/CVE-2019-15107-Scanner.git
cd CVE-2019-15107-Scanner
تثبيت التبعيات المطلوبة:
pip install requests colorama
جهّز ملف CSV (targets.csv) يحتوي على الخوادم المستهدفة بالتنسيق التالي:
HOST,IP,PORT
server1,192.168.1.1,10000
server2,10.0.0.2,10000
(إذا كان حقل PORT فارغًا، سيتم استخدام المنفذ الافتراضي 10000)
شغّل الماسح:
python CVE-2019-15107-Scanner.py targets.csv
للحصول على فحص أسرع مع خيوط متعددة (مثل 10 خيوط):
python CVE-2019-15107-Scanner.py targets.csv --threads 10
[*] Starting Webmin CVE-2019-15107 Scanner
[*] Loading targets from: targets.csv
[*] Using 5 threads
[+] VULNERABLE: 192.168.1.1:10000
Command output: uid=0(root) gid=0(root) groups=0(root)
[-] Not vulnerable: 10.0.0.2:10000
[!] Error: 10.0.0.3:10000 - Connection timeout
=== SCAN SUMMARY ===
Vulnerable hosts: 1
Non-vulnerable hosts: 1
Errors: 1
Total hosts scanned: 3
Vulnerable hosts saved to 'vulnerable_hosts.txt'
vulnerable_hosts.txt: يحتوي على جميع الخوادم المعرّضة المكتشفة بصيغة IP:PORTهذه الأداة مخصصة لاختبارات الأمان المصرّح بها وأغراض البحث فقط. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن هذا البرنامج. احرص دائمًا على الحصول على التصريح المناسب قبل فحص أي أنظمة.
هذا المشروع مرخّص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.