- Регистрация
- 1 Сен 2025
- Сообщения
- 22
- Реакции
- 0
- Баллы
- 1
Повышение привилегий в Windows через символические ссылки: рабочие техники LPE
Символические ссылки в Windows — это один из самых интересных и недооценённых способов для локального повышения привилегий (LPE). Эта техника позволяет обмануть систему, перенаправляя действия привилегированных процессов на другие файлы или каталоги. В этом материале ты узнаешь, как именно это работает, какие типы симлинков существуют, и как с их помощью можно добиться исполнения кода от имени SYSTEM.Что такое символическая ссылка
Символическая ссылка — это объект, который указывает на другой файл или папку. При доступе к ссылке, система автоматически обращается к целевому объекту.Например, если файл file.txt является симлинкой на important.docx, то при попытке открыть file.txt вы фактически откроете important.docx.
Основные типы симлинков в Windows
- NTFS Symbolic Link — работает между файлами или папками, требует прав администратора или привилегии SeCreateSymbolicLinkPrivilege.
- Hard Link — привязка к существующему файлу в рамках одного тома. Не поддерживает каталоги.
- Registry Symbolic Link — работает в реестре, позволяет связать один ключ с другим.
NTFS Mount Point и Object Manager Symlink
NTFS Mount Point — позволяет связать папку с другим каталогом или даже с пространством Object Manager. Работает, если у вас есть права на папку.Object Manager Symlink — создается в пространстве имен Object Manager. Обычный пользователь может создавать симлинки, например, в \RPC Control.
В связке эти два типа симлинок позволяют добиться произвольного удаления, создания или перезаписи файлов, на которые у обычного пользователя нет прав.
Пример произвольного удаления файла
Допустим, системная служба удаляет файл C:\Temp\abc\file.txt. Мы контролируем папку C:\Temp\abc и сам файл.- Удаляем содержимое папки.
- Создаём NTFS Mount Point с привязкой C:\Temp\abc на \RPC Control.
- В \RPC Control создаём симлинк file.txt на C:\Windows\System32\config\SAM.
Произвольное копирование, создание и перезаписи
Если служба копирует файл из вашей папки в системную директорию, вы можете заменить исходный файл симлинком на вредонос. При перезаписи можно подменить системные библиотеки.Сценарий копирования:
- Файл A копируется в директорию B.
- Вы заменяете A симлинком на произвольный файл.
- Система копирует его от имени SYSTEM.
TOCTOU атака через OpLock
Чтобы обойти проверку безопасности, можно использовать механизм OpLock. Сначала система проверяет файл — вы подсовываете безопасный. Как только начинается использование — меняете симлинку на вредонос.
Это типичный пример атаки Time-of-Check / Time-of-Use.
Пример с переименованием
Если служба переименовывает файл A в файл B, и вы контролируете оба, можно подменить оба на симлинки.- A указывает на исходный вредонос.
- B указывает на целевой файл, который вы хотите перезаписать.
Arbitrary Directory Creation
Если вы можете управлять создаваемыми каталогами, можно использовать это для чтения защищённых файлов.Пример: создается папка с именем c_1337.nls. Вы делаете её симлинкой на системный файл, а затем активируете службу NLS. Служба маппит файл в память, после чего его можно извлечь.
Обход UAC через симлинки
На системах с процессорами Intel можно использовать Mount Point на ShaderCache, чтобы внедрить свою DLL и обойти UAC. Это требует примитива произвольной перезаписи.Где искать уязвимости
Лучший инструмент — Process Monitor. Настрой фильтры и отслеживай доступ SYSTEM-процессов к файлам и каталогам. Проверяй, можно ли перехватить эти действия с помощью симлинков.Ищи такие действия:
- Удаление файлов
- Копирование из/в директории
- Создание новых файлов
- Переименование
Что делать после удаления файла
После удаления критического файла, ты можешь:- Подменить DLL и внедрить код
- Использовать DLL Search Order Hijacking
- Применить технику MSI Installer Rollback
Примеры известных уязвимостей
CVE-2020–0683 — MSI InstallerCVE-2023–21800 — Windows Installer
CVE-2024–26238 — Arbitrary File Create
CVE-2024–12754 — AnyDesk Arbitrary Copy
CVE-2024–21111 — VirtualBox LPE
CVE-2020–1076 — VaultSvc Arbitrary Write
Методы защиты
- RedirectionTrust — запрет перехода по симлинкам, созданным низкопривилегированными пользователями.
- Имперсонация — выполнение операций с файлами от имени обычного пользователя с помощью функций вроде ImpersonateLoggedOnUser.
Заключение
Симлинки — это мощный инструмент в арсенале атакующего. Они позволяют направить привилегированные операции системы туда, куда нужно атакующему. С помощью комбинации NTFS Mount Point и Object Manager Symlink можно добиться удаления, копирования, создания и перезаписи любых файлов, включая системные.Изучай, экспериментируй и развивай навык. Эта тема — настоящий хакерский фундамент для Windows-эксплойтов.

