"Permissão negada" ao matar processo

0

Quando tento matar um processo específico ( avastUI.exe ), recebi "permissão negada".

Obviamente, o usuário atual está no grupo Administrador.

Não estou procurando uma maneira de matar esse processo, só quero saber o motivo ...

Se houver uma segurança, você pode explicar?

Para obter mais informações, sou o proprietário da pasta / exe do Avast e recebi as permissões corretas ...

SO: Windows 7

Obrigado.

Duke Nukem
fonte
2
Eles fazem isso para que o malware não possa encerrar facilmente o software AV e infectar o PC, embora não tenha certeza de como eles protegem o processo. O que seu esforço de pesquisa mostrou?
Moab
Eu encontrei esta i 5 segundos usando Google "Proteger processo Windows a partir de terminação" security.stackexchange.com/questions/30985/...
Moab
Obrigado, mas isso não responde ao meu problema. Eu queria saber qual método é usado para impedir o encerramento do processo (no caso específico do avastUI.exe). Alguém escreveu algo sobre isso (acho que é o método usado pelo fornecedor de antivírus para impedir o encerramento, mas não tenho certeza ...): "Parece que existe uma configuração de segurança por processo que pode ser aplicada para remover o direito de No entanto, um administrador ainda pode se apropriar do processo e ajustar as permissões novamente para permitir a sua morte. As APIs específicas do Windows são CreateProcessWithTokenW e SetSecurityInfo. "
Duke Nukem

Respostas:

2

Alguns dos processos exibidos no Gerenciador de Tarefas são, na verdade, serviços que você pode ver no nó Serviços do console de Gerenciamento do Computador. Os serviços podem ter uma ACL anexada a eles da mesma maneira que um arquivo / pasta. Se o serviço estiver sendo executado como a conta LocalSystem e tiver uma ACL que impeça o desligamento (provavelmente com um programa AV), isso explicaria por que você está recebendo um erro de permissão negada ao tentar matá-lo.

Definir permissões em serviços é uma dor. Não há opções na GUI para modificá-las. A única maneira de fazer isso é através da linha de comando com o sccomando.

Infelizmente, o sccomando é feio. Por exemplo, eu emiti este comando para o serviço BITS em minha própria máquina:

sc sdshow bits

... e obteve a seguinte saída:

D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)
S:(AU;SAFA;WDWO;;;BA)

Essa é a SDDL (Security Descriptor Definition Language) da Microsoft para você.

Cada entrada de controle de acesso (ACE) na lista está contida entre parênteses ()e é chamada de seqüência de caracteres ACE .

Vou parar por aí, porque seguir esse link e tentar entender uma string SDDL fará sua cabeça girar.

Entretanto, todas as permissões (mesmo as dos arquivos) são representadas por seqüências SDDL. É que os serviços não oferecem um front-end da GUI para trabalhar com eles (nem mesmo um utilitário de linha de comando sensatocacls ).

Wes Sayeed
fonte
Muito obrigado por essa resposta abrangente e detalhada.
Duke Nukem