
Эксплойт PoC для CVE-2012-2982 (Webmin RCE), в образовательных целях.
Этот репозиторий содержит эксплойт Proof-of-Concept (PoC) для CVE-2012-2982 — уязвимости удаленного выполнения команд с аутентификацией, затрагивающей Webmin версий 1.590 и более ранних. Уязвимость находится в конечной точке /file/show.cgi, где злоумышленник может выполнить произвольные команды путем внедрения специальных символов (таких как символ канала |) в манипулируемый запрос.
Данный PoC предназначен только для образовательных целей и исследований в области безопасности. Несанкционированная эксплуатация систем без разрешения незаконна и неэтична.
Webmin — популярный веб-инструмент системного администрирования для управления Unix-подобными системами. В версиях 1.590 и более ранних существует недостаток безопасности в модуле File Manager. Проблема возникает из-за неправильной санитизации пользовательского ввода при взаимодействии со скриптом /file/show.cgi. Внедряя метасимволы оболочки (|), аутентифицированный пользователь может выполнять произвольные команды на целевой системе с привилегиями процесса Webmin (часто root).
Затронутые версии: Webmin 1.590 и более ранние
Предварительные условия атаки:
Злоумышленник должен иметь действительные учетные данные Webmin (достаточно учетной записи с низкими привилегиями).
Модуль File Manager должен быть доступен.
Эксплуатация позволяет:
Удаленное выполнение кода (RCE)
Повышение привилегий (если Webmin запущен от root)
Компрометация системы
Уязвимая конечная точка:
http://<target_ip>:10000/file/show.cgi
Атака использует неправильную проверку входных данных при передаче пути к файлу, что позволяет выполнять внедренные команды оболочки через |.
Этот репозиторий содержит скрипт эксплойта на Python, который автоматизирует:
Аутентификацию: Вход в Webmin с использованием предоставленных учетных данных.
Извлечение ID сессии: Получение ID сессии, необходимого для аутентифицированных запросов.
Выполнение полезной нагрузки: Отправка вредоносного запроса для выполнения произвольных команд.
Рандомизированный путь выполнения: Использует случайно сгенерированное имя файла для обхода обнаружения.
Поддержка обратной оболочки: Генерирует полезную нагрузку обратной оболочки для подключения к машине атакующего.
Обработка ошибок: Корректно обрабатывает сбои запросов.
Модульная конструкция: Легко модифицируется для тестирования различных полезных нагрузок.
Python 3
Библиотека requests (pip install requests)
Экземпляр Webmin (уязвимая версия) для тестирования (используйте контролируемую лабораторную среду)
Использование:
python3 exploit.py <target_IP>
Пример:
python3 exploit.py 192.168.1.100
IP атакующего (**lhost**): 10.21.48.124
Порт атакующего (**lport**): 1937
Учетные данные целевого Webmin:
Имя пользователя: user1
Пароль: 1user
В случае успеха эксплойт устанавливает соединение обратной оболочки с машиной атакующего.
Перед запуском эксплойта настройте Netcat слушатель на вашей атакующей машине для приема обратной оболочки:
nc -lvnp 1937
После успешного выполнения эксплойта вы должны получить соединение оболочки с целевой машины.
Данный PoC предназначен строго для исследований в области безопасности и образовательных целей. Его следует использовать только в авторизованных средах тестирования на проникновение. Несанкционированное использование против рабочих систем является нарушением законов о кибербезопасности и может повлечь юридические последствия.
Автор не несет ответственности за любое неправомерное использование этого эксплойта. Используйте данный PoC только для законного тестирования безопасности и этичного хакинга.