
سكربت Python لاكتشاف مثيلات Nginx المعرّضة للثغرة الأمنية CVE-2026-42945 في عناوين IP ونطاقات CIDR وأرقام ASN.
ماسح ضوئي لاكتشاف حالات Nginx المعرّضة للخطر بخصوص CVE-2026-42945 (NGINX RIFT).
يقبل عناوين IP مفردة، ونطاقات CIDR، وأرقام ASN كمدخلات.
يؤثر CVE-2026-42945 على جميع إصدارات Nginx الأقدم من 1.30.1.
تقوم الأداة بفحص HTTP وHTTPS على المنافذ الافتراضية، وتقرأ ترويسة Server من الاستجابة، وتصنّف كل مضيف على أنه عرضة للخطر أو آمن أو يحتمل تأثره (إصدار مخفي).
تُحفظ النتائج في سجل، مع قائمة بالمضيفين المعرّضين لـ CVE، وفي النهاية ملف .CSV مفصّل.
pip install requests packaging urllib3 dnspython
# IP individual
python nginx_scanner.py --ip 93.184.216.34
# Faixa CIDR
python nginx_scanner.py --cidr 10.0.0.0/24
# Múltiplos CIDRs
python nginx_scanner.py --cidr 10.0.0.0/24 192.168.1.0/24
# ASN (prefixos originados resolvidos via RIPE Stat, fallback para bgp.tools)
python nginx_scanner.py --asn AS15169
# Combinação de entradas
python nginx_scanner.py --asn AS13335 --cidr 10.0.0.0/8 --ip 1.2.3.4
# A partir de um arquivo (um IP, CIDR ou ASN por linha)
python nginx_scanner.py --file alvos.txt
مثال على فحص IP:
مثال على فحص CIDR:
مثال على فحص ASN:
يتم تنفيذ تحليل DNS على دفعات قبل فحص HTTP، باستخدام قائمة انتظار مخصصة من الخيوط (
--dns-workers)، لتجنّب تأثير زمن استجابة DNS على أداء المسح.
تُكتب جميع النتائج في ./logs/:
| الملف | المحتوى |
|---|---|
nginx_scan_<timestamp>.log | سجل كامل للمسح |
nginx_scan_<timestamp>_vulneraveis.txt | المضيفون المعرّضون للخطر فقط |
nginx_scan_<timestamp>_resultados.csv | جميع المضيفين مع الحالة |
| الحالة | المعنى |
|---|---|
VULNERÁVEL | إصدار مؤكد أقل من 1.30.1 |
SEGURO | إصدار مؤكد 1.30.1 أو أحدث |
قم بتحديث Nginx إلى الإصدار 1.30.1 أو أحدث باستخدام المستودع الرسمي من nginx.org.
# Ubuntu / Debian
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu $(lsb_release -cs) nginx" \
| tee /etc/apt/sources.list.d/nginx.list
echo -e "Package: *\nPin: origin nginx.org\nPin-Priority: 900" \
| tee /etc/apt/preferences.d/99nginx
apt update && apt install --only-upgrade nginx
nginx -v
للتوزيعات الأخرى، راجع وثائق Nginx الرسمية.
هذا السكربت مخصص للاستخدام على البنية التحتية الخاصة بك أو بتفويض صريح.
قد ينتهك المسح غير المصرح به العديد من القوانين، لذا استخدمه بحذر.
بالإضافة إلى ذلك، إذا كان لديك أي اقتراح لتحسين الوظائف أو الإبلاغ عن أخطاء، فلا تتردد في فتح issue وإرسال Pull Request.
كل المساهمات مرحّب بها ! 🚀🚀
| المعلمة | الافتراضي | الوصف |
|---|
--workers | 60 | عدد الخيوط المتزامنة لفحص HTTP |
--timeout | 2.0 | مهلة طلبات HTTP بالثواني |
--dns-workers | 200 | عدد الخيوط المتزامنة لتحليل DNS العكسي |
--dns-timeout | 1.5 | مهلة استعلامات DNS بالثواني |
--no-confirm | — | يتخطى التأكيد قبل البدء (مفيد في الأتمتة) |
AVISO (Versão Oculta) |
| تم اكتشاف Nginx لكن الإصدار غير مكشوف — غير مؤكد كآمن |
INDETERMINADO | تعذّر تفسير الإصدار |