
CVE-2026-42945 - NGINX Rift Toolkit
CVE-2026-42945 की स्कैनिंग, पैचिंग और परीक्षण के लिए व्यापक टूलकिट - nginx में एक गंभीर RCE भेद्यता
यह टूलकिट CVE-2026-42945 की स्कैनिंग, पैचिंग और परीक्षण के लिए व्यापक उपकरण प्रदान करता है, जो nginx में एक गंभीर रिमोट कोड निष्पादन (Remote Code Execution) भेद्यता है और जो 1.26.3 (mainline) तथा 1.24.1 (stable) से पहले के संस्करणों को प्रभावित करती है।
यह भेद्यता ASLR अक्षम होने पर हीप स्प्रे (heap spray) तकनीकों का उपयोग करके दोषपूर्ण HTTP/2 हेडर पार्सिंग का फायदा उठाती है।
किसी सबनेट या एकल होस्ट को स्कैन करके भेद्य nginx इंस्टॉलेशन की पहचान करता है।
विशेषताएँ:
भेद्य nginx इंस्टेंस को स्वचालित रूप से नवीनतम सुरक्षित संस्करण में पैच करता है।
विशेषताएँ:
हीप स्प्रे तकनीक के माध्यम से CVE-2026-42945 भेद्यता का परीक्षण करता है।
विशेषताएँ:
paramiko (>= 3.0.0) - SSH client library
rich (>= 13.0.0) - Terminal formatting and progress bars
git clone https://github.com/gagaltotal/CVE-2026-42945-NGINX-Rift-Toolkit
cd CVE-2026-42945-NGINX-Rift-Toolkit
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

nginx_scanner.py)python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.10 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/30 --user admin --password "password"
python3 nginx_scanner.py --subnet 192.168.1.0/24 --port 2222 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --output report.html
--subnet SUBNET Target subnet in CIDR format (required)
--user USER SSH username (default: root)
--password PASSWORD SSH password
--key KEY_PATH Path to SSH private key
--port PORT SSH port (default: 22)
--timeout TIMEOUT Connection timeout in seconds (default: 5)
--output FILE Output report file (HTML/JSON)
--workers WORKERS Number of concurrent threads (default: 20)
nginx_patcher.py)
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
python3 nginx_patcher.py --subnet 192.168.1.0/24 --target-version 1.26.3 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 10.0.0.0/30 --port 2222 --user admin --password "password"
--subnet SUBNET Target subnet in CIDR format (required)
--user USER SSH username (default: root)
--password PASSWORD SSH password
--key KEY_PATH Path to SSH private key
--port PORT SSH port (default: 22)
--timeout TIMEOUT Connection timeout in seconds (default: 30)
--target-version VERSION Nginx version to patch to (default: latest)
--dry-run Show what would be patched without executing
--workers WORKERS Number of concurrent threads (default: 10)
exploit.py)
python3 exploit.py --target 192.168.1.100 --port 80
python3 exploit.py --target 192.168.1.100 --port 80 --command "cat /etc/passwd"
python3 exploit.py --target 192.168.1.100 --port 80 --spray 50
python3 exploit.py --target 192.168.1.100 --port 80 --verbose
--target HOST Target host IP or domain (required)
--port PORT Target port (default: 80)
--command CMD Command to execute
--spray NUM Number of heap spray attempts (default: 20)
--timeout TIMEOUT Connection timeout in seconds (default: 5)
--tries NUM Number of exploitation attempts (default: 10)
--verbose Enable verbose output
# Step 1: Scan network for vulnerable instances
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key --output scan_results.html
# Step 2: Review scan results in scan_results.html
# Step 3: Patch vulnerable instances
python3 nginx_patcher.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Step 4: Verify patches applied by running scanner again
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Step 1: Dry-run to see what would be patched
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
# Step 2: Apply patches
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
# Step 1: First verify the system is vulnerable
python3 exploit.py --target 10.0.0.50 --port 80 --verbose
# Step 2: If successful, immediate patching is recommended
python3 nginx_patcher.py --subnet 10.0.0.50 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --password "password"
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa --port 2222
chmod 600 ~/.ssh/id_rsa--dry-run का उपयोग करेंस्कैनर कई प्रारूपों में विस्तृत रिपोर्ट उत्पन्न करता है:
| प्रारूप | विवरण |
|---|---|
| HTML रिपोर्ट | भेद्यता सारांश, प्रभावित होस्ट, संस्करण विवरण के साथ ब्राउज़र-दृश्य |
| JSON रिपोर्ट | पूर्ण तकनीकी विवरण के साथ मशीन-पठनीय प्रारूप |
| कंसोल आउटपुट | रंग-कोडित परिणामों के साथ वास्तविक समय प्रगति |
सभी संचालन ऑडिट अनुपालन के लिए टाइमस्टैम्प के साथ लॉग किए जाते हैं। विस्तृत निष्पादन जानकारी के लिए कंसोल आउटपुट देखें।
योगदान का स्वागत है! योगदान करने के लिए:
git checkout -b feature/improvement)git commit -am 'Add improvement')git push origin feature/improvement)यह टूलकिट केवल अधिकृत सुरक्षा परीक्षण और भेद्यता मूल्यांकन के लिए प्रदान किया गया है। कंप्यूटर प्रणालियों तक अनधिकृत पहुँच अवैध है। इस टूलकिट का उपयोग करने से पहले उचित प्राधिकरण सुनिश्चित करना उपयोगकर्ताओं की जिम्मेदारी है।
gagaltotal - GitHub
यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।
अंतिम अद्यतन: 2026-05-20
| Property | Value |
|---|
| भेद्यता आईडी | CVE-2026-42945 |
| प्रकार | रिमोट कोड निष्पादन (RCE) |
| CVSS स्कोर | 9.8 (गंभीर) |
| प्रभावित संस्करण | < 1.26.3 (mainline) / < 1.24.1 (stable) |
| निर्धारित संस्करण | 1.26.3+ |
| हमला वेक्टर | दोषपूर्ण HTTP/2 हेडर पार्सिंग |
| पूर्वापेक्षा | लक्ष्य प्रणाली पर ASLR अक्षम |
| विचार | विवरण |
|---|
| SSH कुंजी प्रबंधन | SSH कुंजियों को सुरक्षित रूप से संग्रहीत करें, उन्हें कभी भी रिपॉजिटरी में कमिट न करें |
| नेटवर्क पहुँच | उत्पादन उपयोग के लिए उचित नेटवर्क विभाजन सुनिश्चित करें |
| परीक्षण वातावरण | पहले हमेशा गैर-उत्पादन वातावरण में परीक्षण करें |
| लॉगिंग | ऑडिट ट्रेल के लिए सभी संचालन विस्तृत लॉग उत्पन्न करते हैं |
| ASLR स्थिति | एक्सप्लॉइट टूल के लिए लक्ष्य पर ASLR अक्षम होना आवश्यक है |
| ड्राई-रन मोड | लागू करने से पहले परिवर्तनों का पूर्वावलोकन करने के लिए --dry-run फ्लैग का उपयोग करें |
| बैकअप | पैचिंग से पहले हमेशा nginx कॉन्फ़िगरेशन का बैकअप लें |