Эксплойт на Python для CVE-2014-6287 в HTTP File Server 2.3.x, доставляющий reverse shell через полезную нагрузку PowerShell, закодированную в Base64, для авторизованного тестирования на проникновение.
Этот репозиторий содержит инструмент эксплуатации на Python, предназначенный для использования уязвимости CVE-2014-6287 в HTTP File Server (HFS) версий 2.3.x. Эта уязвимость позволяет злоумышленнику выполнять произвольные команды на сервере, что потенциально может привести к несанкционированному доступу и контролю.
⚠️ Отказ от ответственности:
Данный инструмент предназначен исключительно для образовательных целей и авторизованного тестирования на проникновение. Несанкционированное использование этого инструмента против систем, которые вам не принадлежат или на тестирование которых у вас нет явного разрешения, является незаконным и неэтичным. Автор и участники не несут ответственности за любое неправомерное использование или ущерб, причиненный этим инструментом.
nc) установлен на машине атакующего.Клонируйте репозиторий:
git clone https://github.com/francescobrina/hfs-cve-2014-6287-exploit.git
cd hfs-cve-2014-6287-exploit
Установите зависимости:
Этот скрипт использует стандартные библиотеки Python. Убедитесь, что у вас установлен Python версии 3.6 или выше.
python3 --version
Если Python не установлен, загрузите его с официального сайта или используйте ваш пакетный менеджер.
Настройте скрипт:
Откройте файл exploit.py в текстовом редакторе и настройте следующие переменные:
lhost = "YOUR_LOCAL_IP" # Ваш IP-адрес атакующего
lport = 1111 # Порт для прослушивания
rhost = "TARGET_IP" # IP-адрес целевого HFS сервера
rport = 80 # Порт целевого HFS сервера (по умолчанию 80)
Запустите слушатель Netcat:
На вашей машине атакующего запустите слушатель Netcat для получения обратной оболочки:
nc -nlvp 1111
Запустите скрипт эксплуатации:
Выполните скрипт эксплуатации на Python:
python3 exploit.py
Скрипт закодирует команду PowerShell в Base64, отправит HTTP GET запрос на целевой HFS сервер и будет ожидать подключения обратной оболочки.
Установите соединение:
Если эксплуатация прошла успешно, вы должны получить обратную оболочку в вашем слушателе Netcat.
Создание команды PowerShell:
Скрипт формирует команду PowerShell, которая инициирует TCP-соединение обратно к машине атакующего (lhost:lport). После подключения создается поток для отправки и получения данных, что фактически устанавливает обратную оболочку.
Кодирование команды:
Команда PowerShell кодируется в Base64 с использованием кодировки UTF-16LE для маскировки и обхода потенциальных фильтров безопасности.
Формирование полезной нагрузки:
Закодированная команда встраивается в полезную нагрузку, которая отправляется в составе HTTP GET запроса к уязвимой конечной точке целевого HFS сервера.
Выполнение полезной нагрузки:
Когда HFS сервер обрабатывает запрос, он декодирует и выполняет команду PowerShell, устанавливая обратную оболочку к атакующему.
Убедитесь, что следующие параметры правильно настроены перед запуском эксплуатации:
lhost: IP-адрес вашей машины, где работает слушатель Netcat.lport: Номер порта, на котором работает слушатель Netcat.rhost: IP-адрес целевой машины, на которой работает уязвимый HFS сервер.rport: Номер порта целевого HFS сервера (по умолчанию 80).Пример конфигурации:
lhost = "192.168.1.100"
lport = 1111
rhost = "192.168.1.105"
rport = 80
Нет соединения обратной оболочки:
lhost и rhost правильно установлены и доступны.Ошибки скрипта:
Проблемы с Netcat:
-nlvp) для запуска слушателя.Вклад приветствуется! Если вы нашли какие-либо проблемы или у вас есть предложения по улучшению, пожалуйста, откройте issue или отправьте pull request.
Форкните репозиторий
Создайте ветку для функции
git checkout -b feature/YourFeature
Зафиксируйте ваши изменения
git commit -m "Add Your Feature"
Отправьте изменения в ветку
git push origin feature/YourFeature
Откройте Pull Request
Разработано Francesco Brina.
Email: [email protected]
Этот проект лицензирован под лицензией MIT.
Отказ от ответственности:
Используйте этот инструмент ответственно и только на системах, которые вы имеете явное разрешение тестировать. Автор не несет ответственности за любое неправомерное использование или ущерб, причиненный этим инструментом.
Не стесняйтесь сообщить мне, если вам понадобятся какие-либо дальнейшие корректировки!