"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Usuários não administradores podem iniciar os serviços do Windows sem comprometer a segurança do sistema?

Usuários não administradores podem iniciar os serviços do Windows sem comprometer a segurança do sistema?

Publicado em 2024-11-18
Navegar:476

Can Non-Admin Users Start Windows Services Without Compromising System Security?

Iniciando serviços do Windows a partir de aplicativos sem privilégios de administrador

Muitos cenários envolvem iniciar ou interromper serviços do Windows a partir de aplicativos separados. No entanto, isso pode parecer restrito para usuários não administradores devido a questões de segurança. Como podemos superar essa limitação e capacitar os usuários com controle granular sobre o gerenciamento de serviços sem comprometer a estabilidade do sistema?

A solução: modificar permissões de serviço

A chave para esse problema está na modificação das permissões do objeto de serviço. Ao conceder direitos apropriados a usuários não administrativos, podemos permitir que eles interajam com os serviços de maneira controlada.

O trecho de código a seguir demonstra como definir o descritor de segurança de um serviço para incluir as permissões necessárias:

wchar_t sddl[] = L"D:"
  L"(A;;CCLCSWRPWPDTLOCRRC;;;SY)"           
  L"(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)"   
  L"(A;;CCLCSWLOCRRC;;;AU)"                 
  L"(A;;CCLCSWRPWPDTLOCRRC;;;PU)"           
  L"(A;;RP;;;IU)"                         
;

PSECURITY_DESCRIPTOR sd;

if (!ConvertStringSecurityDescriptorToSecurityDescriptor(sddl, SDDL_REVISION_1, &sd, NULL))
{
   fail();
}

if (!SetServiceObjectSecurity(service, DACL_SECURITY_INFORMATION, sd))
{
   fail();
}

Este descritor de segurança específico concede as seguintes permissões:

  • Permissões padrão para o sistema local: Concede controle total à conta do sistema local.
  • Permissões padrão para administradores: Concede acesso para administradores.
  • Permissões padrão para usuários autenticados: Concede acesso limitado a todos os usuários autenticados.
  • Permissões padrão para usuários avançados: Concede controle total para usuários avançados.
  • Permissão adicionada para usuários interativos: Concede permissão para iniciar o serviço para usuários interativos.

A string do descritor de segurança (SDDL) pode ser personalizada para adicionar ou remover permissões específicas com base no nível de acesso desejado para vários grupos de usuários. Por exemplo, se você deseja que usuários não administradores possam interromper o serviço, o seguinte SDDL pode ser usado:

L"(A;;RPWP;;;IU)" 

Isso adicionaria o direito WP (WRITE_PROPERTY), permitindo que usuários interativos iniciassem e parassem o serviço.

Ao definir cuidadosamente as permissões, os usuários não administradores podem executar tarefas essenciais de gerenciamento de serviços sem comprometer a segurança do sistema.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3