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

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

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

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

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

Категории

Все категории
Loading categories
PlEXcalaison — Локальное повышение привилегий на медиасервере Plex - PoC CVE-2021-42835 | Kitploit
Инструменты/GitHubGitHub/netanelc305/plexcalaison
Повышение привилегийАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеЭксплуатация Бинарных Файлов
GitHubnetanelc305/plexcalaison

PlEXcalaison

Локальное повышение привилегий на медиасервере Plex - PoC CVE-2021-42835

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

Популярное

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

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

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

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

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

Local Privilege PlEXcalasion — CVE-2021-42835

Plex Media Server для Windows версий до 1.25.0.5282 уязвим к ошибке «Время проверки — время использования» (TOCTOU), что позволяет пользователям с низкими привилегиями получить права SYSTEM.

Обнаружено

Tomer Peled, Netanel Cohen и Amir Shen — исследователи безопасности из BugSec.

Подробности

Plex для Windows использует службу PlexUpdateService.exe для установки новых обновлений. Служба работает в контексте SYSTEM. При установке обновления служба сначала проверяет целостность файла и цифровую подпись; только если проверки успешны, обновление будет установлено.

В этом процессе после проверки целостности и подписи была допущена ошибка проектирования: файл обновления обрабатывался некорректно. Файл закрывался, а затем снова открывался для установки.

Эта уязвимость позволяет злоумышленнику подменить файл обновления на вредоносный сразу после того, как служба закончит проверку целостности и подписи, что приводит к выполнению кода в контексте SYSTEM.

Данный PoC использует инструменты, разработанные James Forshaw, с небольшими изменениями. Оригинал можно найти здесь — https://github.com/googleprojectzero/symboliclink-testing-tools

Для достижения описанного выше мы использовали папку-переходник (Junction), которая сначала указывала на папку с легитимным файлом обновления, а затем переключалась на папку с вредоносным файлом.

Мы обнаружили, что порядок доступа к файлам был следующим:

  1. Чтение файла обновления для проверки его цифровой подписи.
  2. Закрытие файла обновления.
  3. Чтение CACERT.pem
  4. Проверка подписи.
  5. Повторное чтение файла обновления.
  6. Запуск установки.

Мы создали точку подключения на папке-переходнике, указывающую на папку с легитимным файлом обновления. Установили opLock на cacert.pem с функцией обратного вызова. Как только происходит обращение к cacert.pem, мы меняем точку подключения на вредоносную папку.

Кроме того, мы создали RPC-клиент, который запускает обновление.

Использование

  1. Клонируйте репозиторий и откройте PlEXcalasion.sln в Visual Studio.
  2. Удалите файл "Delete me.txt", находящийся в TOCTOU\junction — это просто заполнитель, чтобы git включил папку; папка должна быть пустой!
  3. Измените пути:

В PlexClient/PlexClient.cpp замените ROOTDIR на ваш путь.

root@kitploit:~
const wchar_t* pszString = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\junction\\plex.exe"; // Путь к файлу обновления. 

В PlEXcalaison/BaitAndSwitch/BaitAndSwitch.cpp замените ROOTDIR на ваш путь.

root@kitploit:~
static LPCWSTR junction = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\junction";  // Путь к папке-переходнику, УБЕДИТЕСЬ, ЧТО ОНА ПУСТА!
static LPCWSTR target1 = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\valid"; // Путь к папке, содержащей легитимный файл обновления.
static LPCWSTR target2 = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\malicious"; // Путь к папке, содержащей вредоносный файл — ИМЯ ДОЛЖНО СОВПАДАТЬ С ИМЕНЕМ ФАЙЛА ОБНОВЛЕНИЯ.
static LPCWSTR cacert = L"C:\\Program Files (x86)\\Plex\\Plex Media Server\\Resources\\cacert.pem"; // Путь к cacert.pem — находится в директории Plex.
  1. Соберите решение.
  2. Убедитесь, что PlexClient.exe был создан и находится в папке Release.
  3. Поместите нужный исполняемый файл, который вы хотите выполнить с правами системы, в папку malicious и переименуйте его в plex.exe (в PoC использовался cmd.exe).
  4. Запустите BiteAndSwitch.exe.

Публикации

https://ir-on.io/2021/12/02/local-privilege-plexcalation/

https://forums.plex.tv/t/security-regarding-cve-2021-42835/761510

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