Я изучаю повышение привилегий и опасные сервисные конфигурации в Windows.
Вот эта вещь:
- У сервиса есть исполняемый файл myservice.exe, который можно переписать по всему миру (идея baaaad).
- Служба работает с системными привилегиями
- Когда вы пытаетесь скопировать / заменить myservice.exe во время его работы, это не сработает. (Доступ запрещен)
- Однако, когда вы сначала перемещаете исполняемый файл, а затем копируете второй (злой) myservice.exe в папку, Windows не будет жаловаться
- В следующий раз, когда служба перезапускается, выполняется порочный service.exe.
Мой вопрос: какой процесс хранит дескриптор myservice.exe, чтобы я не мог его удалить? Как этот процесс позволяет мне переместить файл и продолжить работу?
Я попытался ответить на этот вопрос самостоятельно, используя procmon.exe из Sysinternals Suite, но пока ничего не нашел.