A raíz de una discusión con usuarios de otro sitio me encuentro que mucha gente desconoce cómo funciona el sistema de seguridad de Windows, cómo se autentica a los usuarios y cómo estos tienen (o no) diferentes privilegios. En este artículo intentaré explicar dichos elementos con la mayor sencillez posible, para que así la gente que quiere saber qué hace Windows con los privilegios pueda conocerlo.

Cabe decir que aunque voy a citar a Windows 10 (ya que es “el Windows” ahora mismo) esto también es aplicable a Windows anteriores (especialmente desde Windows Vista / 7) con algunas diferencias, que quedan ya a mano del lector descubrirlas.

Usuarios estándares y administradores

En Windows 10, por lo general, hay dos tipos de usuarios que son fácilmente configurables mediante la aplicación de configuración, los usuarios administradores y los usuarios estándares. El usuario por defecto que inicia sesión por primera vez (Cuándo se nos pide la cuenta Microsoft por primera vez o creamos la primera cuenta local) en el ordenador es administrador, mientras que los demás usuarios que creemos en configuración serán limitados excepto que indiquemos lo contrario.

Así, por ejemplo, este otro usuario de mi Windows 10, es un usuario estándar, aunque puedo cambiarlo seleccionando Cambiar el tipo de cuenta y seleccionando Administrador en el desplegable que véis más arriba, todo ello en Usuarios > Familia y otras personas en Configuración. ¿Y qué diferencias hay entre un usuario adminsitrador y un usuario estándar? Eso lo veremos un poco más adelante.

Todo empieza al iniciar sesión

Cuándo iniciamos sesión empieza todo el camino que nos llevará a entender los diferentes entresijos de la seguridad de Windows. Cada vez que inicias sesión en Windows (Bien sea mediante tu PIN, contraseña o sin nada), seas usuario estándar o adminstrador, Windows crea un token (Una especie de llave de seguridad, con nuestra información de usuario, los permisos a los que tenemos… Aquí tenéis más información) para nuestro usuario. Este token se crea como usuario estándard incluso aunque seas administrador. Llamaré a este token a partir de ahora el token estándar.

Sin embargo si el usuario que inicia sesión es también administrador se crea un segundo token que no se crea para los usuarios estándares, el token de administrador. Este token de administrador contiene toda la información necesaria para ejecutar algo como administrador, al contrario que el token estándar que no puede acceder a temas de adminsitración en el equipo. En definitiva, el usuario estándar sólamente tiene el token estándar, mientras que el usuario administrador tiene el token estándar y el token administrador.

Por supuesto, hay que tener en cuenta que el usuario pepito, que es administrador, tiene su propio token estándar (el token estándar de Pepito) y su token administrador (el token adminsitrador de Pepito). Así, en la misma máquina tenemos también el token estándar de Juanito y el token administrador de Juanito y el token estándar de Albertito, que es un usuario estándar y por lo tanto no tiene token de administrador.

Windows pasa el token de una app a otra

Este es un detalle importante para seguir comprendiendo el tema de la seguridad. Si una app abre otra, Windows pasará el token. Esto significa que si una app con un token estándar de Pepito abre otra app o ejecuta otro proceso, esta segunda app o proceso se ejecutará con el tóken estándar de Pepito, y por lo tanto esta app no tendrá acceso a los documentos de Juanito.

Al iniciar sesión se carga el escritorio

Cuando Pepito se dispone a iniciar sesión, lo primero que hace Windows es iniciar el shell, que no es ni más ni menos que aquello que nos permite usar Windows, es decir, el escritorio, la barra de tareas, el menú inicio… Todo esto se encuentra en el ejecutable explorer.exe.

El aspecto a destacar es que explorer.exe se abre usando el token estándar, por lo que cualquier cosa que abra este (Por ejemplo, cuándo haces doble click en un icono en el escritorio, click en un elemento en el menú inicio o cuándo lanzas algo usando “Cortana” en Windows 10) Windows la abrirá usando el mismo token que tiene la app que lo ha abierto, que, siendo explorer.exe, es el token estándar. En definitiva, toda la sesión y el shell del usuario se inicia usando dicho token.

La elevación

No, no estamos levitando ni nada. Seguro que si has cacharreado alguna vez con Windows lo has leído: “La operación solicitada requiere elevación“. Elevar es como llamamos a dejar de usar el token estándar para pasar a usar el token administrador. Si una aplicación nos está diciendo que “requiere elevación”, lo que nos está pidiendo es que la lancemos con el token administrador o no podrá trabajar y hacer sus cosas.

Cada vez que queramos cambiar de token, necesitaremos a nuestro amigo el UAC

No puedes cambiar de token así por las buenas, si no que cada vez que queremos cambiar de token, debemos iniciar sesión, y para ello necesitamos a nuestro amigo el UAC. El UAC (Use Accounts Control) se encarga de cambiar el token previa autentificación del usuario.

En caso de que queramos cambiar al token de administrador, lo que comunmente se conoce como “ejecutar como administrador”, en el momento en el que Pepito quiera usar su token administrador en lugar del token estándar, saltará el UAC. Como pepito ya tiene la sesión iniciada y es la sesión activa, no se le pedirá la contraseña (salvo que se configure lo contrario, claro) y se le mostrará un diálogo Sí/No.

Otro aspecto bastante importante es que en el momento en el que Pepito cierre la aplicación que usa ese token de administrador, este no será heredable nunca más y Pepito tendrá que volver a pasar por el UAC para abrir esa app en modo elevado.

Sin embargo, Albertito no tenía cuenta de administrador, por lo que si solicita elevación (es decir, quiere usar un token administrador) el UAC le pedirá que inicie sesión con una cuenta que sí que tenga dicho token, lo que conlleva introducir la contraseña, PIN o el metodo de seguridad que estuviera configurado, en este caso de la cuenta de Pepito o de Juanito.

En el siguiente capítulo, seguiremos desmenuzando los pormenores del UAC, de la elevación, y de los diferentes modos que tiene el mismo, además de las firmas de los ejecutables. ¡Saludos!

35 Comentarios

  1. Muy buen artículo Antonio, muy técnico y muy explicativo, sólo un apunte: estándar o standard, no nos hables en Spanglish :P

  2. Y una premisa para hacer Windows mas seguro (al igual que cualquier SO), no usarlo con cuenta de administrador, solo dejarla para cuando administremos el SO, a dia de hoy aún existen métodos de que no salte el dialogo de UAC para elevar privilegios, si se usa una cuenta administrador separado, esos métodos no sirven de nada.

    • Windows está preparado para que se use con una cuenta de administrador. Los métodos para saltarse el UAC requieren acceso físico completo al equipo.

        • Todas las formas que has indicado requieren acceso físico al equipo, muchas de ellas están parcheadas y son absolutamente inefectivas si el UAC está situado al nivel máximo.

          • Es lo que mencione al inicio, y no requieren necesariamente acceso físico, con cualquier archivo preparado previamente que se descargue se puede aprovechar esa situación. Como dije al inicio, con no usar una cuenta de administrador para todo, se soluciona. Como sea, buen articulo para introducirnos al tema. Un saludo!

          • Pero Antonio esta diciendo que todos los metodos para saltearse el UAC requieren acceso fisico al equipo. Entonces no tiene sentido hacer eso de tener 2 cuentas.

          • No todas las formas, pero si las mas criticas. Busca sobre UAC si es de tu interés, el enlace que puse es un gran punto de inicio. Saludos!

          • Vamos a ver, si tienes miedo de que alguien con acceso físico te pege un cambiazo a un archivo con una distro Linux o lo que sea, cifra el disco y ya está. :)

          • Eso si, aunque igual el cifrado solo esta disponible para las versiones Pro en Windows, fuera del alcance de las licencias que se venden junto a una PC para hogar. Como dije al inicio, una de las formas de hacer mas seguro el equipo, fuera de que versión sea, respecto al UAC es usar una cuenta sin privilegios para el dia a dia y para administrar una de administrador solo para ese fin. Con el simple principio de menos privilegios, menos expuesto y tan tan. Y también, la seguridad no se debe basar en el miedo, sino en la prevención, un saludo ;)

          • A ver, si pones el UAC en el tramo de seguridad máxima al no haber autoelevación ya no tienes el riesgo de que te paguen un cambiazo. Pero eso es cosa del siguiente artículo

          • Con ansias esperando el siguiente articulo, y genial que te des tiempo para contestar comentarios, un saludo Antonio.!

  3. Muy buen articulo!! :D Esperando con ansias la segunda parte!! :D

    Tengo una duda que aprovecho a hacerla aca. Estoy en creators RTM 15063, y veo la opcion de instalar aplicaciones solo de la tienda. La active por curiosidad y aun asi puedo ejecutar instaladores de programas x86 sin problemas. Que hace realmente esta opcion??

  4. Y otra cosa @antoniodelaiglesia:disqus deberias hacer un articulo explicando lo bueno que es Windows defender, y que para un usuario hogareño no necesita instalar otro antivirus de terceros!! :)

  5. Como puedo hacer que pida contraseña cundo se intenta instalar algo(Solo hay una cuenta y es tipo administrador)?
    Buen articulo

  6. Como puedo hacer que pida contraseña cuando se intenta instalar algo (Solo hay una cuenta y es tipo administrador) ?
    Buen articulo

    • Abres el registro en modo elevado, buscas EquipoHKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem y Cambias ConsentPromptBehaviorAdmin de 2 a 3. O con el editor de políticas de seguridad.

      • Una pregunta, ¿ UAC es igual de efectivo si activas ese método que mencionas, a diferencia de crear las dos cuentas (Admin y estandar) ?

        En mi caso yo tengo cuenta solo admin y siempre pido contraseña por cada elevación y ejecución que necesito pero desconozco si se tiene la misma seguridad que tener una cuenta estándar para ello.

  7. Excelente artículo, aún así habra gente criticando la seguridad y permisos de Windows y aunque les pases este articulo no leerán mas de 4 lineas, pero excelente articulo para quien quiera informarse :)

  8. ¿Y que pasó con Albertito? No nos dejes con la intriga. >:)
    Buen artículo. Hasta un cenutrio como yo ha podido entenderlo a la primera.

Comments are closed.