
Демонстрирует уязвимость локального повышения привилегий в Tencent iOA до версии 210.9.28693.62001 через symlink-атаки на C:\Windows\Temp, позволяющие произвольное удаление файлов с привилегиями SYSTEM.
Версия: до 210.9.28693.62001
Краткое описание: я обнаружил уязвимость в Tencent PC Manager, в которой файлы и каталоги в C:\Windows\Temp обрабатываются небезопасно. Злоумышленник может использовать атаки с символическими ссылками (symlink), чтобы заставить процесс с привилегиями SYSTEM удалить произвольные файлы, что приводит к локальному повышению привилегий. В частности, процесс с именем LegacyKB_ioa_win.exe периодически запускается при использовании компонента «ioa». Во время работы он создаёт каталог TencentDownload в папке Temp, загружает туда файлы, а затем выполняет удаление от имени SYSTEM. Из-за недостаточной валидации путей и небезопасной логики удаления это поведение можно использовать для удаления выбранных злоумышленником файлов с привилегиями SYSTEM.
Было замечено, что процесс «LegacyKB_*.exe» выполняет следующие действия с привилегией SYSTEM:
Когда доступна новая версия или исправление, компонент iOA загружает и запускает Legacy_*.exe из интернета.
Legacy_*.exe проверяет наличие каталога TencentDownload в C:\Windows\Temp; если его нет, он создаёт его.
Legacy_*.exe создаёт подкаталог с префиксом тильды (например, ~) внутри TencentDownload.
В конце Legacy_.exe с привилегиями SYSTEM удаляет подкаталог ~ внутри TencentDownload.
Поскольку каталог «C:\Windows\Temp\TencentDownload» может быть создан текущим пользователем и ему могут быть назначены права «Изменение» для текущего пользователя, текущий пользователь может изменять и читать весь каталог. При такой настройке непривилегированный пользователь может добиться удаления произвольных файлов, создав символическую ссылку на привилегированное расположение (например, C:\Windows\System32). Кроме того, злоумышленник может добиться локального повышения привилегий за счёт удаления произвольных файлов/папок.
Для выполнения LPE путём удаления произвольных файлов/папок пользователь может выполнить следующие шаги:
Пользователь создаёт папку «C:\Windows\Temp\TencentDownload».
Пользователь устанавливает OpLock на папку «C:\Windows\Temp\TencentDownload~*», как только он заметит создание любой папки с префиксом ~.
Процесс «Legacy_.exe» попытается удалить папку «C:\Windows\Temp\TencentDownload~» с привилегией SYSTEM.
Процесс «Legacy_*.exe» будет приостановлен из-за OpLock.
Когда OpLock срабатывает, пользователь перемещает файл «C:\Windows\Temp\TencentDownload~*» в другое место, чтобы опустошить папку.
Пользователь создаёт точку соединения (junction) «C:\Windows\Temp\TencentDownload\» с «\RPC Control».
Пользователь создаёт символическую ссылку «GLOBAL\GLOBALROOT\RPC Control~*» на целевую папку/файл (например, C:\Windows\System32\secrets).
Пользователь снимает OpLock.
Пользователь удаляет символическую ссылку.
Целевой файл/папка (например, C:\Windows\System32\secrets) будет удалён.
PoC video :https://drive.google.com/file/d/1RXQgaNBDeopurcP63xmhMXDM7stHaIzO/view?usp=sharing
