OwnershipStealer
Это C#-приложение для консоли, которое пытается получить право владения указанным файлом.
Логика кода
Программа сначала проверяет, было ли указано имя файла в качестве аргумента командной строки, и если нет — запрашивает его у пользователя. Затем она пытается получить право владения файлом, выполняя следующие шаги:
- Получает токен текущего процесса.
- Выполняет поиск LUID (Locally Unique Identifier) для привилегии SeTakeOwnershipPrivilege.
- Включает привилегию SeTakeOwnershipPrivilege в токене.
- Предпринимает попытку получить право владения файлом, создавая новый объект FileSecurity для файла, устанавливая владельцем текущего пользователя и применяя новый контроль доступа к файлу.
- Если программа сталкивается с исключением UnauthorizedAccessException, она повторяет попытку, пока право владения файлом не будет успешно получено или не будет выброшено исключение, препятствующее продолжению работы программы.
После получения права владения программа завершается и выводит сообщение о завершении работы.
Использование
- Клонируйте или скачайте репозиторий.
- Откройте проект в Visual Studio.
- Соберите проект.
- Откройте командную строку или терминал и перейдите к расположению исполняемого файла.
- Выполните команду, указав путь к файлу в качестве аргумента:
- OwnershipStealer.exe [путь к файлу]
- Если путь к файлу не указан, программа запросит его.
Лицензия
Этот проект распространяется по лицензии MIT — подробности см. в файле LICENSE.
Видео-доказательство концепции
https://youtu.be/sOcJp58sblM