Windows 7: Aproveitando-se de auto-elevação para elevar meu próprio processo?
Pergunta
A partir de um artigo Technet julho 2009 intitulada Dentro Windows 7 User Account Control , Mark Russinovish descreve que é possível para uma aplicação em execução como usuário padrão para elevar silenciosamente e ganhar direitos administrativos:
... é possível para de terceiros software em execução num (Administrador Protegido) conta PA com direitos de usuário padrão para tirar proveito de auto-elevação ao ganho direitos administrativos. Por exemplo, o software pode usar o WriteProcessMemory API ao código injetar em Explorador e a CreateRemoteThread API para executar esse código, uma técnica chamado DLL injeção . Desde que o código está em execução em Explorer, que é um Windows executável, que pode alavancar o COM objetos que auto-elevar, como o Copiar / mover / renomear / excluir Objeto / Link para modificar chaves de registro do sistema ou diretórios e dar o software direitos administrativos.
Ele passa a mencionar que o malware nunca vai fazer isso, porque é muito difícil:
... estes passos requerem deliberar intenção, não são triviais ...
e, finalmente,
... malware pode ganhar administrativa direitos, utilizando as mesmas técnicas.
Então, eu estou curioso para ver uma implementação real.
i teria pensado PROCESS_VM_WRITE seria um direito não dados a usuários padrão.
Nota:. eu nunca realmente fazer alguma coisa ruim me, como é verdadeiro para qualquer outro desenvolvedor no mundo
Solução
Long Zheng, mais em istartedsomething.com tem alguns posts sobre autoelevating um aplicativo. Ele não é o autor do código-fonte, mas ele liga para a pessoa que fez a prova-de-conceito.
Você pode ler mais sobre ele aqui
Outras dicas
Você está falando sobre o uso de injeção processo? ou elevar os privilégios? '
Se você quiser ver um exemplo de código de uma injeção processo esta discussão tem algumas amostras: http://www.rohitab.com/discuss/index. php? ShowTopic = 23539 & hl = ignorando + firewall