ユーザーを偽装しているサービスがあります。サービスはローカルシステムとして実行されています。ユーザーは、ローカル管理者およびドメイン管理者です。なりすましの後、プロセスのトークン特権を調整する必要があります。返されたトークンハンドルでOpenProcessToken
を使用し、次にAdjustTokenPrivileges
を使用してそれを行うことを望みました。ImpersonateLoggedOnUserの後にOpenProcessTokenが失敗する
LogonUser
とImpersonateLoggedOnUser
を呼び出した後、次の呼び出しが失敗し、アクセスが拒否されました。
HANDLE hToken;
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
{
Log("Error=%d", GetLastError());
}
私はLOGON32_LOGON_INTERACTIVE
とLOGON32_PROVIDER_DEFAULT
を使用して、ユーザーにログインしています。
ユーザートークンと同じ特権を調整することに成功しました。