Índice

Esquivar la seguridad de la UAC

Desde Windows Vista, la UAC protege a los usuarios que tienen permisos de administrador en su equipo. En cuanto una aplicación o un comando se ejecuta, tiene por defecto privilegios de usuario aunque el usuario sea administrador de su equipo. El hecho de pedir al usuario ejecutar una aplicación con privilegios elevados resulta muy sospechoso. Vamos a desarrollar una aplicación capaz de instalarse con solo permisos de usuario y que se ejecutará con privilegios de administrador. Deberemos crear para eso un ejecutable capaz de arrancar otra aplicación con los parámetros de consent.exe (consent.exe es la aplicación de sistema que usa la UAC). Deberá parecerse a un programa conocido para que el usuario no le preste atención. Ocultaremos, por lo tanto, nuestro programa en Explorer.exe. Firmaremos el programa y así será reconocido como de confianza gracias a la instalación del certificado raíz en el equipo de la víctima.

1. Principios básicos

Empecemos por el programa. La parte importante del código es la siguiente. El resto del código se parece a los ejemplos anteriormente propuestos:

try  
            {  
                String Command = Environment.CommandLine;  
                String[] arguments = Command.Split(’=’);  
               ...