
Python स्क्रिप्ट, IPs, CIDRs और ASNs में CVE-2026-42945 के लिए असुरक्षित Nginx इंस्टेंस का पता लगाने के लिए।
CVE-2026-42945 (NGINX RIFT) के लिए असुरक्षित Nginx उदाहरणों का पता लगाने के लिए स्कैनर।
इनपुट के रूप में व्यक्तिगत IP, CIDR रेंज और ASN स्वीकार करता है।
CVE-2026-42945 1.30.1 से पहले के Nginx के सभी संस्करणों को प्रभावित करता है।
यह उपकरण मानक पोर्ट पर 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
SCAN IP का उदाहरण:
SCAN CIDR का उदाहरण:
SCAN 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.org के आधिकारिक रिपॉजिटरी का उपयोग करके Nginx को 1.30.1 या उससे ऊपर के संस्करण पर अपडेट करें।
# 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 | संस्करण व्याख्या नहीं किया जा सका |