
Образовательная Docker-лаборатория для изучения обхода пути и RCE в Apache HTTP Server 2.4.49 (CVE-2021-41773) с исследованием CVE, PoC-эксплойтом, результатами тестирования и рекомендациями по устранению уязвимости.
⚠️ ТОЛЬКО для изолированного учебного использования в лаборатории. Этот репозиторий собирает намеренно уязвимый сервер Apache. Никогда не запускайте его на рабочем, производственном или доступном из интернета хосте.
Проект стажировки по Red Team от Team Alpha (ITSOLERA — Offensive Security / Exploit Development for a Known CVE). Работа разделена на шесть папок задач, чтобы каждый участник мог внести вклад через свой собственный pull request.
📄 Итоговый отчёт: 06-final-report/CVE-2021-41773-Final-Report.pdf
Apache 2.4.49 декодирует точку, закодированную как %2e, после проверки
нормализации пути, поэтому /files/.%2e/.%2e/.%2e/.%2e/etc/passwd выходит за пределы
корневого каталога документов. При включённом mod_cgi тот же приём против /bin/sh
даёт удалённое выполнение кода.
| Папка | Ответственный | Результат | Статус |
|---|---|---|---|
01-cve-research/ | Fatima Bente Mustafa | Сводка по CVE, затронутые версии, первопричина, CVSS, ссылки | ✅ Готово |
02-lab-setup/ | Emaar Ejaz | Docker-лаборатория с уязвимым Apache 2.4.49 + SETUP.md | ✅ Готово |
03-vulnerability-analysis/ | Anum Aamir Sajjad | ANALYSIS.md + evidence-log.txt | ✅ Готово |
04-exploit-poc/ | Noor Saba Basit | cve-2021-41773.py + exploit.sh + логика | ✅ Готово |
05-testing-evidence/ | Sana Tariq | Скриншоты, вывод терминала, логи сервера | ✅ Готово |
06-final-report/ | Muhammad Hammad | Скомпилированный итоговый отчёт (PDF) + меры защиты | ✅ Готово |
Уязвимая цель находится в 02-lab-setup/. Изнутри этой
папки:
docker build -t cve-2021-41773-lab:2.4.49 .
docker run -d --name apache-2449-vuln -p 127.0.0.1:8080:80 cve-2021-41773-lab:2.4.49
Полное руководство по настройке, проверке, сбору доказательств и устранению
неполадок см. в 02-lab-setup/SETUP.md.
Обновитесь до Apache HTTP Server 2.4.51 или более поздней версии. В качестве эшелонированной
защиты оставляйте <Directory /> по умолчанию в состоянии Require all denied и предоставляйте доступ только там, где это необходимо.