Cómo evitar que las aplicaciones usen nuestros privilegios de Administrador

He aqui un pequeño truco que nos permitirá utilizar las Políticas de Restricción de Software para hacer que las aplicaciones que especifiquemos se ejecuten como un usuario básico, pese a que nuestra sesión corresponda al usuario Administrador o a alguien que pertenezca al grupo de Administradores locales.

Estas políticas, disponibles en el apartado "\Configuración del Equipo\Configuración de Windows\Configuración de Seguridad\Directivas de restricción de software", permiten especificar qué tipo de binarios puede ejecutar quien en función de una serie de reglas, a saber:

Hash: Firmado cripotográfico del fichero.
Certificado: Certificado del fabricante del software con el que se firmado el fichero.
Ruta: Path local o UNC del fichero.
Zona: Zona de Internet.

Para más información acerca de cómo utilizar estas políticas y cómo funcionan, es particularmente útil esta lectura:

https://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/TechRef/d24bc8c8-27cc-47ba-9b02-78d9d801e937.mspx
 
Por defecto, existen dos niveles de ejecución para el software que cumpla las regas mencionadas más arriba. No permitido e Irrestricto. Es decir una decisión binaria; permitimos ejecutarlo o no.

¿No sería estupendo tener un nivel intermedio?. Permitamos la ejecución de una cierta aplicación, pero con los derechos asociados a un usuario básico.

Pues bien, podemos introducir es nivel adicional simplemente agregando o modificando el valor "Levels", de tipo REG_DWORD y con valor 0x00020000, en esta rama del registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers
Levels=0x00020000

Obviamente, esto es particularmente útil a la hora de utilizar aplicaciones sensibles desde el punto de vista de la seguridad, tales como los navegadores de Internet o aplicaciones de correo electrónico. A modo de ejemplo, esto es lo que tendríamos que hacer para forzar que, mediante una regla de ruta, Internet Explorer se ejecute con los derechos de un usuario básico independientemente de que nuestra sesión corresponda a un administrador:

1.- Editamos el objeto de Directiva de Politicas de grupo correspondiente (Dominio, Site, OU o local del equipo) según a quién queramos que se aplique la directiva
2.- Nos movemos hasta \Configuración del Equipo\Configuración de Windows\Configuración de Seguridad\Directivas de restricción de software\Reglas adicionales
3.- Hacemos clic con el botón de la derecha del ratón y elegimos la opción "Regla de Ruta nueva"
4.- En la ruta de acceso, escribimos o buscamos iexplore.exe: c:\windows\Archivos de Programa\Internet Explorer\iexplore.exe
5.- En el desplegable de Nivel de Seguridad elegimos nuestra flamante nueva opción "Usuario básico"
6.- Opcionalmente, podemos copiar iexplore.exe a otra localización o a la misma con otro nombre, para usarlo exclusivamente en las tareas administrativas que lo requieran.

Y con esto ya estaría logrado el objetivo. Para comprobar que efectivamente todo esto ha tenido el efecto deseado, podemos usar la magnifica herramienta Process Explorer, escrita, como no, por Mark Russinovich de Sysinternals. Es una especie de Administrador de Tareas, pero con funcionalidades añadidas. Una vez lanzada la herramienta, buscaremos en la ventana principal el proceso que hayamos configurado, lo seleccionamos y pedimos sus propiedades haciendo clic con el botón de la derecha del ratón. En la primera ventana de la pestaña seguridad deberemos leer "DENY, Owner" para el grupo de Administradores.

Otra alternativa para lograr estos propósitos, y que a la postre utiliza por debajo los mismos principios, es usar una pequeña aplicación llamada DropMyRights, que podeis descargar aqui y cuyo funcionamiento se explica en este artículo.

https://www.microsoft.com/spanish/msdn/articulos/archivo/100105/voices/secure11152004.asp

Espero que os resulte de utilidad. Otro día hablaremos de lo contrario. Usar Windows XP con derechos restringidos mientras llega Windows Vista

David Cervigón