A consulta de serviço remoto (consulta sc.exe) falha com “acesso negado” para um serviço, mas não para outros

2

Estou tentando desinstalar remotamente um serviço específico, mas obtenho o famoso "FAILED 5: acesso negado". mensagem. Reduzi o caso de teste para a execução

sc \remotemachine.domain.local query "flexnet licensing service"

e eu recebo

[SC] EnumQueryServicesStatus:OpenService FAILED 5:
Access is denied.

O interessante é que posso consultar remotamente praticamente qualquer outro serviço do mesmo cliente e não há problema. A máquina host

  • O UAC está desativado
  • Tem LocalAccountTokenFilterPolicy definido como 1

Usando o mesmo usuário quando conectado diretamente à máquina, posso consultar, iniciar ou interromper este "serviço de licenciamento flexnet" sem nenhum problema, apenas quando tentar fazê-lo remotamente do que encontrar um problema.

Originalmente, encontramos esse problema quando nosso desinstalador não pôde desinstalar esse serviço, usando a API C do Windows. O desinstalador funcionaria bem quando executado diretamente na máquina, mas quando invocado remotamente via WMI, ele falharia. Estamos reduzindo o caso de teste progressivamente e, até agora, em todos os casos, a consulta ou a tentativa de interromper ou excluir esse serviço em particular falha quando tentado remotamente.

Eu também tentei chamar um script em lote remotamente, que continha os comandos:

powershell.exe -Command "Start-process C:\myDeleteSvc.exe -Verb RunAs"

Onde myDeleteSvc.exe era um programa simples instalado na máquina de destino para excluir o serviço utilizando a API C do Windows , mas que também falhou na chamada OpenService com um acesso negado. Mais uma vez, funciona bem se for executado diretamente na máquina.

Isso aconteceu com o serviço instalado nas máquinas Windows 7 e 2008R2 (não testei em outras plataformas).

O serviço em questão é para um software de terceiros. Ele depende do serviço Windows Management Instrumentation, mas, mesmo quando eu removo manualmente todas as dependências (e dependentes), ele ainda não pode ser consultado remotamente.

Alguém tem alguma sugestão adicional para investigação (ou soluções)?

Há um caso em que o serviço pode ser desinstalado remotamente. Conversamos com a equipe de suporte desse produto para tentar entender o problema e, embora eles também estejam confusos, eles forneceram um arquivo msi que, quando executado remotamente, desinstalava o serviço em questão. Nós não temos acesso a qualquer script usado para gerar esse msi, mas nos disseram que era "muito simples, e tudo o que ele fez foi desinstalar o serviço". Um caminho possível de investigação é entender se a desinstalação do serviço msi faz algo "extra" quando executa uma desinstalação - alguém sabe?

Algumas questões relacionadas, embora pareçam ser todas do mesmo tema do UAC & Como administrador, e como posso consultar outros serviços remotamente, acho que meu problema deve ser um pouco diferente. Incluir os links faz o bot achar que isso é spam, então pesquise nos títulos.

  • "Acesso negado" ao tentar iniciar o serviço mesmo ao executar o administrador / elevado
  • psexec: “Acesso negado”?
  • falha da consulta remota do OpenSCManager sc 5 acesso negado
por TheDuke 10.03.2016 / 09:58

1 resposta

1

Graças a Craig620, o problema estava de fato relacionado ao descritor de segurança.

C:>sc sdshow "flexnet licensing service"

D:(D;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;NU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCLCSWRPLOCRRC;;;IU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

C:>sc sdshow myService

D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

E na sintaxe do SID , podemos ver a primeira entrada ( (D;;...;;;NU) ) Desativa a maioria das permissões para qualquer coisa proveniente da rede ( NU ). Quando mudei o SD para ter as mesmas permissões menos a NU de desabilitação, eu poderia consultar e excluir o serviço remotamente usando o comando sc.exe .

    
por 12.03.2016 / 10:01