
शैक्षिक, गैर-कार्यात्मक Linux कर्नेल शोषण टेम्पलेट CVE-2024-1086 के लिए — केवल प्रयोगशाला सुरक्षा अनुसंधान और शिक्षण (केवल नियंत्रित VM में उपयोग करें)।
🛡️ सुरक्षा अनुसंधान के लिए पॉलिश शैक्षिक Linux कर्नेल एक्सप्लॉइट
यह प्रोजेक्ट CVE-2024-1086 का अध्ययन करने के लिए एक मजबूत, गैर-कार्यात्मक टेम्पलेट प्रदान करता है, जो Linux कर्नेल के netfilter: nf_tables घटक में एक use-after-free कमजोरी है, जो स्थानीय विशेषाधिकार वृद्धि को सक्षम बनाती है। सुरक्षा शोधकर्ताओं और छात्रों के लिए डिज़ाइन किया गया, यह एक C एक्सप्लॉइट टेम्पलेट को एक बेहतर Java रैपर के साथ जोड़ता है जो विश्वसनीय निदान, कॉन्फ़िगरेशन और निष्पादन के लिए है, और इसका उपयोग केवल नियंत्रित प्रयोगशाला वातावरण में करने का इरादा है (जैसे, एक कमजोर कर्नेल वाला VM)।
⚠️ चेतावनी: C कोड गैर-कार्यात्मक है, प्लेसहोल्डर मानों का उपयोग करता है, और इसे काम करने के लिए महत्वपूर्ण संशोधन की आवश्यकता है। उत्पादन प्रणालियों पर या बिना अनुमति के अनधिकृत उपयोग अवैध और अनैतिक है। कर्नेल सुरक्षा ज्ञान को आगे बढ़ाने के लिए जिम्मेदारी से उपयोग करें।
nf_tables मॉड्यूल की व्यापक जाँच--check, --run, --dry-run, --payload, और --config विकल्पों का समर्थनnf_tables एक्सप्लॉइट के सुरक्षित शैक्षिक अध्ययन के लिए गैर-कार्यात्मक C कोड┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ 🔍 Java Diagnostics │───▶│ 💻 Exploit Runner │───▶│ 🔐 C Exploit Template│
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ 🔒 System Validation│───▶│ 📝 Logging Engine │───▶│ 🛡️ Kernel Netlink │
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
│ │
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ 🧪 Test Suite │ │ 📜 Config Management│
└─────────────────────┘ └─────────────────────┘
प्रोजेक्ट एक Java रैपर को एक C एक्सप्लॉइट टेम्पलेट के साथ एकीकृत करता है जो Netlink सॉकेट के माध्यम से कर्नेल इंटरैक्शन का अनुकरण करता है, जो मान्यता के लिए एक परीक्षण सूट द्वारा समर्थित है।
सुनिश्चित करें कि आपके पास निम्नलिखित उपकरण स्थापित हैं:
sudo apt install build-essential)sudo apt install openjdk-11-jdk)org.json:json:20230227 (Maven या JAR के माध्यम से)commons-cli:commons-cli:1.5.0 (Maven या JAR के माध्यम से)ऑपरेटिंग सिस्टम:
CONFIG_USER_NS=y)nf_tables मॉड्यूल सक्षम (CONFIG_NF_TABLES=y)प्रयोगशाला वातावरण:
रिपॉजिटरी क्लोन करें
git clone https://github.com/karim4353/CVE-2024-1086-Exploit.git
cd CVE-2024-1086-Exploit
निर्भरताएँ स्थापित करें
sudo apt update
sudo apt install build-essential openjdk-11-jdk
# लाइब्रेरी डाउनलोड करें या Maven में जोड़ें
wget https://repo1.maven.org/maven2/org/json/json/20230227/json-20230227.jar
wget https://repo1.maven.org/maven2/commons-cli/commons-cli/1.5.0/commons-cli-1.5.0.jar
C एक्सप्लॉइट बनाएँ
make
Java रैपर चलाएँ
javac -cp ".:json-20230227.jar:commons-cli-1.5.0.jar" -d . src/main/java/com/example/cve20241086/ExploitRunner.java
java -cp ".:json-20230227.jar:commons-cli-1.5.0.jar" com.example.cve20241086.ExploitRunner --run
विकल्प: --check, --run, --dry-run, --payload <path>, ,
विस्तृत सेटअप के लिए, Setup Guide देखें।
CVE-2024-1086-Exploit/
├── src/
│ ├── main/
│ │ ├── c/
│ │ │ └── exploit.c # 🔐 C एक्सप्लॉइट टेम्पलेट
│ │ ├── java/
│ │ │ └── com/example/cve20241086/
│ │ │ └── ExploitRunner.java # 🔍 Java रैपर
│ │ └── resources/
│ │ └── config.json # 📜 एक्सप्लॉइट कॉन्फ़िगरेशन
│ └── test/
│ ├── c/
│ │ └── test_exploit.c # 🧪 C परीक्षण मामले
│ └── java/
│ └── com/example/cve20241086/
│ └── ExploitRunnerTest.java # 🧪 Java परीक्षण मामले
├── Makefile # 🛠️ बिल्ड स्क्रिप्ट
├── README.md # 📝 यह फ़ाइल
├── CONTRIBUTING.md # 🤝 योगदान दिशानिर्देश
├── LICENSE # 📄 MIT लाइसेंस
└── tests/
└── run_tests.sh # 🧪 परीक्षण रनर स्क्रिप्ट
एक सुरक्षित प्रयोगशाला वातावरण में प्रोजेक्ट का परीक्षण करें:
# सिस्टम कमजोरी जाँचें
java -cp ".:json-20230227.jar:commons-cli-1.5.0.jar" com.example.cve20241086.ExploitRunner --check
# एक्सप्लॉइट चलाएँ (गैर-कार्यात्मक)
java -cp ".:json-20230227.jar:commons-cli-1.5.0.jar" com.example.cve20241086.ExploitRunner --run
# परीक्षण चलाएँ
./tests/run_tests.sh
# बिल्ड आर्टिफैक्ट साफ़ करें
make clean
हम इस शैक्षिक प्रोजेक्ट को बढ़ाने के लिए योगदान का स्वागत करते हैं! विवरण के लिए Contributing Guidelines देखें:
nf_tables में use-after-free कमजोरियों का अध्ययन करेंexploit_log.txt पर लिखने का समय <50mssrc/main/resources/config.json के माध्यम से कॉन्फ़िगर करें:
{
"exploitBinary": "./exploit",
"targetKernel": "5.15",
"payloadPath": "/tmp/payload.sh",
"logLevel": "DEBUG",
"timeoutSeconds": "30"
}
Configuration Guide देखें।
सामान्य मुद्दे:
make clean && make चलाएँ।sysctl -w kernel.unprivileged_userns_clone=1 और lsmod | grep nf_tables हो।json-20230227.jar और commons-cli-1.5.0.jar जाँचें।FAQ देखें या कोई मुद्दा खोलें।
MIT License के तहत लाइसेंस प्राप्त - LICENSE देखें।
🛡️ सुरक्षा अनुसंधान समुदाय के लिए ❤️ के साथ बनाया गया
--config <file>--helpपरीक्षण चलाएँ
./tests/run_tests.sh
| घटक | न्यूनतम | अनुशंसित |
|---|
| कर्नेल संस्करण | 5.14 | 5.15.x < 5.15.148 |
| RAM | 512MB | 1GB+ |
| CPU | 1GHz | 2GHz+ |
| डिस्क स्थान | 100MB | 500MB+ |
| Java संस्करण | JDK 11 | JDK 17 |