
Template didattico e non funzionante di exploit per il kernel Linux per CVE-2024-1086 — ricerca e insegnamento sulla sicurezza esclusivamente in laboratorio (da usare solo in VM controllate).
🛡️ Exploit didattico rifinito per il kernel Linux, destinato alla ricerca sulla sicurezza
Questo progetto fornisce un template robusto e non funzionale per lo studio di CVE-2024-1086, una vulnerabilità use-after-free nel componente netfilter: nf_tables del kernel Linux, che consente l'escalation locale dei privilegi. Progettato per ricercatori di sicurezza e studenti, combina un template di exploit in C con un wrapper Java avanzato per diagnostica, configurazione ed esecuzione affidabili, pensato per l'uso esclusivamente in un ambiente di laboratorio controllato (ad es. una VM con kernel vulnerabile).
⚠️ Avvertenza: Il codice C non è funzionale, utilizza valori segnaposto e richiede modifiche significative per funzionare. L'uso non autorizzato su sistemi di produzione o senza permesso è illegale e non etico. Usalo in modo responsabile per far avanzare la conoscenza della sicurezza del kernel.
nf_tables--check, --run, --dry-run, --payload e --confignf_tables┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ 🔍 Java Diagnostics │───▶│ 💻 Exploit Runner │───▶│ 🔐 C Exploit Template│
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ 🔒 System Validation│───▶│ 📝 Logging Engine │───▶│ 🛡️ Kernel Netlink │
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
│ │
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ 🧪 Test Suite │ │ 📜 Config Management│
└─────────────────────┘ └─────────────────────┘
Il progetto integra un wrapper Java per diagnostica, logging e configurazione sicuri con un template di exploit in C che simula l'interazione con il kernel tramite socket Netlink, supportato da una suite di test per la validazione.
Assicurati di avere installati i seguenti strumenti:
sudo apt install build-essential)sudo apt install openjdk-11-jdk)org.json:json:20230227 (tramite Maven o JAR)commons-cli:commons-cli:1.5.0 (tramite Maven o JAR)Sistema Operativo:
CONFIG_USER_NS=y)nf_tables abilitato (CONFIG_NF_TABLES=y)Ambiente di Laboratorio:
Clona il Repository
git clone https://github.com/karim4353/CVE-2024-1086-Exploit.git
cd CVE-2024-1086-Exploit
Installa le Dipendenze
sudo apt update
sudo apt install build-essential openjdk-11-jdk
# Download libraries or add to 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
Compila l'Exploit in C
make
Esegui il Wrapper 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
Opzioni: --check, --run, --dry-run, --payload <path>, ,
Per una configurazione dettagliata, consulta la Guida all'Installazione.
CVE-2024-1086-Exploit/
├── src/
│ ├── main/
│ │ ├── c/
│ │ │ └── exploit.c # 🔐 C exploit template
│ │ ├── java/
│ │ │ └── com/example/cve20241086/
│ │ │ └── ExploitRunner.java # 🔍 Java wrapper
│ │ └── resources/
│ │ └── config.json # 📜 Exploit configuration
│ └── test/
│ ├── c/
│ │ └── test_exploit.c # 🧪 C test cases
│ └── java/
│ └── com/example/cve20241086/
│ └── ExploitRunnerTest.java # 🧪 Java test cases
├── Makefile # 🛠️ Build script
├── README.md # 📝 This file
├── CONTRIBUTING.md # 🤝 Contribution guidelines
├── LICENSE # 📄 MIT license
└── tests/
└── run_tests.sh # 🧪 Test runner script
Testa il progetto in un ambiente di laboratorio sicuro:
# Check system vulnerability
java -cp ".:json-20230227.jar:commons-cli-1.5.0.jar" com.example.cve20241086.ExploitRunner --check
# Run exploit (non-functional)
java -cp ".:json-20230227.jar:commons-cli-1.5.0.jar" com.example.cve20241086.ExploitRunner --run
# Run tests
./tests/run_tests.sh
# Clean build artifacts
make clean
Accogliamo con piacere contributi per migliorare questo progetto educativo! Consulta le Linee Guida per i Contributi per i dettagli su:
nf_tablesexploit_log.txtConfigura tramite src/main/resources/config.json:
{
"exploitBinary": "./exploit",
"targetKernel": "5.15",
"payloadPath": "/tmp/payload.sh",
"logLevel": "DEBUG",
"timeoutSeconds": "30"
}
Consulta la Guida alla Configurazione.
Problemi Comuni:
make clean && make.sysctl -w kernel.unprivileged_userns_clone=1 e lsmod | grep nf_tables.json-20230227.jar e commons-cli-1.5.0.jar nel classpath.Consulta le FAQ oppure apri una segnalazione.
Distribuito con licenza MIT - vedi LICENSE.
🛡️ Realizzato con ❤️ per la comunità della ricerca sulla sicurezza
--config <file>--helpEsegui i Test
./tests/run_tests.sh
| Componente | Minimo | Consigliato |
|---|
| Versione Kernel | 5.14 | 5.15.x < 5.15.148 |
| RAM | 512MB | 1GB+ |
| CPU | 1GHz | 2GHz+ |
| Spazio su Disco | 100MB | 500MB+ |
| Versione Java | JDK 11 | JDK 17 |