Взлом
Уважаемые гости! При посещении нашего сайта просим вас ознакомиться с разделами форума, прежде чем оставлять ваши объявления и т.п., а также при обращении за помощью просим быть внимательными: на сайте есть как проверенные специалисты, так и непроверенные. Если вы обратились к специалисту, который проверку НЕ проходил, рекомендуем воспользоваться услугой гарант-сервиса. Спасибо, что посетили форум хакеров.

Как злоупотреблять симлинками и повышать привилегии (LPE-шиться) в Windows

DмᴛʀSpy

Новый
Пользователь
Регистрация
1 Сен 2025
Сообщения
22
Реакции
0
Баллы
1

Повышение привилегий в Windows через символические ссылки: рабочие техники LPE​

Символические ссылки в Windows — это один из самых интересных и недооценённых способов для локального повышения привилегий (LPE). Эта техника позволяет обмануть систему, перенаправляя действия привилегированных процессов на другие файлы или каталоги. В этом материале ты узнаешь, как именно это работает, какие типы симлинков существуют, и как с их помощью можно добиться исполнения кода от имени SYSTEM.

Что такое символическая ссылка​

Символическая ссылка — это объект, который указывает на другой файл или папку. При доступе к ссылке, система автоматически обращается к целевому объекту.

Например, если файл file.txt является симлинкой на important.docx, то при попытке открыть file.txt вы фактически откроете important.docx.

Знімок екрана 2025-09-19 110846.png



Основные типы симлинков в Windows​

  1. NTFS Symbolic Link — работает между файлами или папками, требует прав администратора или привилегии SeCreateSymbolicLinkPrivilege.
  2. Hard Link — привязка к существующему файлу в рамках одного тома. Не поддерживает каталоги.
  3. Registry Symbolic Link — работает в реестре, позволяет связать один ключ с другим.
Однако все эти типы требуют высоких привилегий, и потому редко используются в LPE. Но есть два других вида симлинков, которые не требуют прав администратора и могут быть использованы для повышения привилегий.


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 и сам файл.
  1. Удаляем содержимое папки.
  2. Создаём NTFS Mount Point с привязкой C:\Temp\abc на \RPC Control.
  3. В \RPC Control создаём симлинк file.txt на C:\Windows\System32\config\SAM.
Когда служба пытается удалить файл, она фактически удаляет SAM. Это и есть произвольное удаление файла.


Произвольное копирование, создание и перезаписи​

Если служба копирует файл из вашей папки в системную директорию, вы можете заменить исходный файл симлинком на вредонос. При перезаписи можно подменить системные библиотеки.
Сценарий копирования:
  1. Файл A копируется в директорию B.
  2. Вы заменяете A симлинком на произвольный файл.
  3. Система копирует его от имени SYSTEM.
Можно использовать это для записи DLL в системные директории или подмены конфигураций.


TOCTOU атака через OpLock​


Чтобы обойти проверку безопасности, можно использовать механизм OpLock. Сначала система проверяет файл — вы подсовываете безопасный. Как только начинается использование — меняете симлинку на вредонос.
Это типичный пример атаки Time-of-Check / Time-of-Use.


Пример с переименованием​

Если служба переименовывает файл A в файл B, и вы контролируете оба, можно подменить оба на симлинки.
  1. A указывает на исходный вредонос.
  2. B указывает на целевой файл, который вы хотите перезаписать.
Таким образом, происходит перемещение вредоносного файла в защищённую область.


Arbitrary Directory Creation​

Если вы можете управлять создаваемыми каталогами, можно использовать это для чтения защищённых файлов.
Пример: создается папка с именем c_1337.nls. Вы делаете её симлинкой на системный файл, а затем активируете службу NLS. Служба маппит файл в память, после чего его можно извлечь.

Обход UAC через симлинки​

На системах с процессорами Intel можно использовать Mount Point на ShaderCache, чтобы внедрить свою DLL и обойти UAC. Это требует примитива произвольной перезаписи.

Где искать уязвимости​

Лучший инструмент — Process Monitor. Настрой фильтры и отслеживай доступ SYSTEM-процессов к файлам и каталогам. Проверяй, можно ли перехватить эти действия с помощью симлинков.
Ищи такие действия:
  • Удаление файлов
  • Копирование из/в директории
  • Создание новых файлов
  • Переименование
Если такие действия выполняются над файлами, которые ты можешь контролировать — это потенциальная точка входа для LPE.

Что делать после удаления файла​

После удаления критического файла, ты можешь:
  • Подменить DLL и внедрить код
  • Использовать DLL Search Order Hijacking
  • Применить технику MSI Installer Rollback
Удаление нужной папки (например, C:\Config.msi) и помещение туда своих файлов может привести к исполнению твоего кода.

Примеры известных уязвимостей​

CVE-2020–0683 — MSI Installer
CVE-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

Методы защиты​

  1. RedirectionTrust — запрет перехода по симлинкам, созданным низкопривилегированными пользователями.
  2. Имперсонация — выполнение операций с файлами от имени обычного пользователя с помощью функций вроде ImpersonateLoggedOnUser.

Заключение​

Симлинки — это мощный инструмент в арсенале атакующего. Они позволяют направить привилегированные операции системы туда, куда нужно атакующему. С помощью комбинации NTFS Mount Point и Object Manager Symlink можно добиться удаления, копирования, создания и перезаписи любых файлов, включая системные.
Изучай, экспериментируй и развивай навык. Эта тема — настоящий хакерский фундамент для Windows-эксплойтов.
 
Насчет Registry Symbolic Link не знал, потому что не когда не пользовался реестрами в которых нужно было связывать ключи.
 
Яндекс.Метрика