## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ISABBII-POC-APACHE-CVE-2021-41773-INFRASTRUCTURE-LAB
# Apache CVE-2021-41773 — Лабораторный Docker PoC
## Уведомление о безопасности
Этот репозиторий воспроизводит публично раскрытую и исправленную уязвимость в контролируемой лабораторной среде Docker в образовательных и исследовательских целях.
Среда намеренно уязвима и должна разворачиваться только в изолированных тестовых средах. Не пытайтесь эксплуатировать системы без явного разрешения.
Цель этого проекта — продемонстрировать анализ уязвимостей, эксплуатацию и стратегии смягчения последствий.
> **Обход пути и удалённое выполнение кода**
 
## Начало работы
root@kitploit:~
# Navigate to the project folder
cd Apache-CVE-2021-41773
# Validate compose syntax
docker compose config
# Start the lab
docker compose up -d --build
# Check that everything is running
docker compose ps
### Техническое объяснение
В Apache 2.4.49 появилась ошибка в **нормализации URL-путей**. Закодированные последовательности, такие как `.%2e` (эквивалент `..`), не обрабатываются должным образом, что позволяет атакующему **перемещаться по дереву каталогов** за пределами `DocumentRoot`.
Если включён `mod_cgi` и корневой каталог (`/`) настроен с `Require all granted`, атакующий может:
1. **Читать произвольные файлы** в системе (обход пути)
2. **Выполнять команды** через интерпретатор `/bin/sh` (RCE)
## Эксплойт-скрипт (`exploit.py`)
Без внешних зависимостей — используется только стандартная библиотека Python.
**Авто** `python exploit.py` Проверка уязвимости + запуск `id` в качестве демонстрации
**Чтение файла** `python exploit.py -f /etc/shadow` Чтение любого файла через RCE
**RCE** `python exploit.py -c "whoami"` Выполнение одной команды
**Оболочка** `python exploit.py -i` Интерактивная псевдооболочка
**Произвольная цель** `python exploit.py -u http://target:8888` Нацеливание на удалённый хост
## PoC
Сначала проверим, что среда уязвима.

Как и ожидалось, команда возвращает id uid=0(root) gid=0(root) groups=0(root)
Создадим reverse shell:

Мы вошли как root

Как видите, в /proc/1/environ имеется ошибка конфигурации — мы получили SQL-пароль Это выявляет раскрытые секреты, вызванные небезопасной конфигурацией контейнера
Используя извлечённые учётные данные, мы подключаемся к базе данных MySQL и выводим хранящиеся данные 
## 📚 Ссылки
* Рекомендации Apache
* NVD — CVE-2021-41773
* MITRE ATT&CK — T1190 (Эксплуатация публично доступного приложения)
* Блог — Обход пути в Apache 2.4.49
* * *
> Никогда не воспроизводите эти конфигурации в производственной среде.