Llegamos a ustedes gracias a:



Reportajes y análisis

Una mirada a la solución 'Contraseña de administrador local' de Microsoft

Microsoft 'Contraseña de administrador local

[15/07/2016] Los administradores de Windows tienen un problema -las contraseñas. En concreto, las contraseñas de administrador que se esconden por ahí, idénticas a través de máquinas, simplemente listas para ser comprometidas. Pero por fin hay una solución al precio justo que mitiga este problema casi por completo. ¿Interesado? Vamos a bucear en ella.

El escenario

El tema en cuestión es simple: Cada cuadro basado en Windows NT -desde Windows 2000 y hasta Windows 10, incluyendo todas las versiones de servidor- tiene una cuenta de administrador local. Esta cuenta, a veces llamada "500" por el número de ID de grupo que tiene dentro de las entrañas del sistema operativo Windows, tiene el control total de la máquina en la que se encuentra. Por defecto, no tiene ningún privilegio de dominio. (Cuentas de administrador de dominio, por supuesto, también tienen por defecto un control total sobre las máquinas locales que son miembros del dominio -pero esto generalmente se puede distribuir a un conjunto más limitado de permisos, si es necesario.)

Una vez que une una máquina a un dominio, la cuenta de administrador local no desaparece. Se queda allí, habilitada en la mayoría de los casos a menos que la deshabilite explícitamente o cambie de nombre o active otros métodos de ofuscación.

Dado que es una cuenta local, sin embargo, no obtiene la ventaja de ser capaz de sincronizar las contraseñas y centralizarlas entre los controladores de dominio. Cada contraseña de la cuenta de administrador local solo se sienta allí. Esto crea una situación incómoda donde la falta de otros recursos, la mayoría de instalaciones e implementaciones (hola implementación de Windows Services) simplemente colocan una contraseña segura, pero idéntica para todos y cada sistema automatizado que tocan.

No es lo ideal, pero podría estar pensando que al menos la contraseña es segura. O tal vez en realidad trata de mantener un seguimiento de diferentes contraseñas de administrador local en una hoja de cálculo.

La gestión de estas cuentas de administrador local ha sido un problema por mucho tiempo, incluso cuando era parte del equipo administrador en una universidad de investigación importante en Carolina del Norte. Ha pasado más de una década, por lo que no recuerdo exactamente cómo manejamos las distintas contraseñas, pero por lo que recuerdo fue hecho con una hoja de cálculo masiva y un intervalo regular de cambio de contraseña para todas las cuentas de administrador local a través de las cientos de máquinas del departamento.

El problema

Sin embargo, ha surgido un elemento nuevo en los últimos años. Lo que es diferente en estos días es la automatización de ataques pass-the-hash. Lo que antes era una especie de ataque esotérico que no era una gran amenaza a distancia, se ha convertido básicamente en un procedimiento operativo estándar para los crackers una vez que consiguen el acceso a una caja de Windows comprometida. Y esas máquinas Windows crakeadas están ampliamente disponibles, incluso dentro de grandes organizaciones con seguridad general decente y prácticas TI.

En esencia, dentro de Windows, las contraseñas se convierten por Windows en un "hash" -una cadena de tamaño fijo de datos criptográficamente transformados- cada vez que se crean. De esta manera, las contraseñas no están sentadas en texto plano en cualquier lugar en el equipo, ni tampoco se transmiten en texto claro cuando sucede la autenticación sobre el cable.

Cuando la autenticación tiene que ocurrir en contra de uno u otro recurso, Windows "pica la contraseña que proporciona y luego somete ese hash, o picadillo, al anfitrión. Entonces el anfitrión lo compara con el hash que tiene grabado; si es el mismo, se concede el acceso; si no, por supuesto, es rechazado.

¿Pero qué pasa si fue capaz de acceder a la base de datos de hash para las cuentas con privilegios -como administrador-, y pasar ese hash directamente a un recurso? Recuerde, Windows no transmite las mismas contraseñas. El único cálculo que se hace es coincidente con el hash transmitido a un hash que se almacena en una base de los datos de autenticación válidos. Si se conecta y pasa un nombre de usuario administrativo y el hash de un administrador, eso es todo lo que necesita para obtener acceso privilegiado a un sistema. No es necesario conocer la contraseña; solo el hash.

Todo este escenario se transforma de teórico y práctico a probable con la llegada de las herramientas que están libremente disponibles, y se pueden descargar desde Internet. Por ejemplo, aquí está una narración rápida de cómo funcionaría: Inicie sesión en su servidor miembro con la cuenta de administrador local. A continuación, cierre la sesión y a continuación, inicie sesión en el servidor miembro con la cuenta de administrador de dominio. A continuación, cierre la sesión allí, y luego vuelva a iniciar sesión en el servidor miembro con la cuenta de administrador local.

Busque en Google y encontrará la utilidad lslsass64.exe y ejecútela con la opción de volcado para vaciar los hashes almacenados actualmente en la memoria. Busque cosas como DOMINIO\administrador. Busque en Google nuevamente y encuentre la utilidad runhash64.exe y, a continuación, ejecútela para pasar el hash.

El nuevo símbolo del sistema resultante que se abre tiene inyectado el hash de la cuenta de administrador de dominio, para que pueda ejecutar comandos privilegiados en contra de su controlador de dominio de este símbolo del sistema. Windows los ejecutará fielmente como si estuviera conectado directamente con la cuenta de administrador.

Listo, ya ha pasado el hash. Ahora usted es un cracker. Con suerte, de sombrero blanco.

Ahora imagine este escenario de ataque en el que un cracker compromete una máquina Windows unida al dominio -y todas las máquinas Windows unidas a un dominio tienen cuentas de administrador local idénticas. El cracker usa las herramientas anteriores, o algunas otras que son aún más fáciles y más orientadas hacia el lanzamiento de ataques remotos en múltiples máquinas comprometidas, y por lo tanto ya sabe el hash correcto.

Al hacerlo, él o ella posee, básicamente, todas las computadoras de la empresa.

La solución

Ahora tiene una solución elegante a su disposición: la solución de contraseña de administrador local o Local Administrator Password Solution - LAP, que puede llevarse el premio al nombre más obvio que haya sacado Microsoft fuera de Redmond. "En esencia, el LAPS utiliza extensiones políticas de grupo del lado del cliente para generar una contraseña aleatoria para cada miembro de dominio individual, y luego establece la contraseña aleatoria para la cuenta de administrador local.

Después, coloca esa contraseña al azar en un atributo confidencial, seguro (aunque no cifrado) en el interior de la cuenta de Active Directory de la computadora. Se conceden los permisos adecuados, por lo que la propia computadora puede cambiar sus propios datos de contraseña de administrador local que se almacena dentro del objeto Active Directory de la computadora, y los administradores de dominio o administradores delegados pueden conceder permisos de lectura sobre este atributo especial para los administradores de estaciones de trabajo, la mesa de ayuda o cualquier persona que legítimamente necesita acceder a la cuenta de administrador local en las máquinas unidas a un dominio.

Para empezar a trabajar con él, descargue el archivo LAPS MSI que está disponible en ediciones x86 y x64. A continuación, ejecute el archivo MSI para instalarlo. En la primera máquina que ejecute esto, debe instalar todos los componentes, de manera que se obtiene la interfaz de usuario de gestión, así como la extensión de cliente de GPO. En todas las demás computadoras, sólo necesita la extensión de cliente de GPO.

También puede realizar una instalación silenciosa, perfecta para secuencias de comandos, utilizando el siguiente comando:

Msiexec/ilaps.x64.msi/quiet

A continuación, tiene que actualizar el esquema de Active Directory. Si bien esto no es un paso para tomarse a la ligera, estas modificaciones son mínimas: Dos atributos se añadirán a la estructura actual dentro de la clase computacional de AD:

  • ms-Mcs-AdmPwd, donde se almacena la contraseña real
  • ms-Mcs-AdmPwdExpirationTime, donde se almacena el tiempo para restablecer la contraseña a algo diferente

Puede realizar la actualización del esquema de PowerShell; abrir PowerShell como administrador y luego utilizar los siguientes cmdlets:

  • Import-module AdmPwds.PS
  • Update-AdmPwdADSchema

A continuación, tendrá que ajustar los permisos para usuarios y grupos que no deberían tener acceso al atributo de contraseña. De manera específica necesita quitar "Todos los derechos extendidos". Normalmente, los usuarios no tienen este derecho concedido pero los administradores sí, y si desea limitar el alcance de quién realmente puede ver la contraseña, tendrá que quitar ese derecho.

Puede encontrar una lista de usuarios que tienen este derecho en la ventana de PowerShell:

Find-AdmPwdExtendedrights -identity [nombre de la unidad organizativa] | Format-Table

Si es necesario ajustarlo, entonces, utilice los siguientes pasos:

  1. Abra ADSIEdit desde el escritorio de Windows
  2. Haga clic derecho en la unidad organizativa relevante y seleccione Propiedades
  3. Haga clic en la pestaña Seguridad, haga clic en Opciones avanzadas y, a continuación, seleccione los usuarios o grupos que no deberían leer la contraseña
  4. Haga clic en Editar y, a continuación, desactive todos los derechos ampliados

Ahora, es necesario configurar permisos para que los propios equipos puedan actualizar ese atributo de contraseña en Active Directory para sus objetos de computadora. Esto se hace también a través de PowerShell:

Set-AdmPwdComputerSelfPermission -OrgUnit [insertar nombre de la unidad organización aquí]

A continuación, utilice PowerShell para configurar qué usuarios pueden ver el atributo de contraseña -esto es para los administradores delegados, empleados de mesa de ayuda, y similares que necesitan llevar a cabo sus funciones. Separe a los usuarios y grupos con una sola coma.

Set-AdmPwdReadPasswordPermission -OrgUnit [insertar nombre de la unidad organización aquí] - AllowedPrincipals [lista de usuarios y grupos relevantes aquí]

Por último, conceda permiso a los mismos usuarios para forzar un cambio de contraseña de la cuenta de administrador local.

Set-AdmPwdResetPasswordPermission -OrgUnit OrgUnit [insertar nombre de la unidad organización aquí] - AllowedPrincipals [lista de usuarios y grupos relevantes aquí]

Ha terminado con la configuración de back-end. A continuación, necesita configurar la política de grupo. Establezca un nuevo objeto de directiva de grupo dentro de la consola de administración de directivas de grupo, y luego edítela. Navegue a Configuración del equipo\Plantillas administrativas\LAPS. Luego:

  • Habilite "Habilitar la administración local de la contraseña de administrador".
  • Configure los "ajustes de contraseña como desee; aquí es donde se puede elegir la complejidad requerida de la contraseña.
  • Si le ha cambiado el nombre a una cuenta de administrador local, entonces, introduzca el nuevo nombre en el campo "Nombre de cuenta de administrador para gestionar". Solo debe utilizarse si tiene una cuenta personalizada de administrador local; si lo único que ha cambiado es el nombre de la cuenta de la bandeja de entrada original, entonces, salga de esto por sí solo, ya que Windows será capaz de detectarlo incluso a través del cambio de nombre.
  • En función de las preferencias de seguridad, se puede activar o desactivar (o dejar sin configurar) el "No permita caducidad de la contraseña más allá de lo requerido por la política".

La próxima vez que se actualiza la política de grupo, por lo tanto, se gestionarán las contraseñas. ¿Cómo las ve? A través de la interfaz de usuario LAPS, una pequeña utilidad que se instala en la computadora de administración. También puede ver la contraseña examinado las propiedades de cualquier objeto de la computadora en Active Directory.

La evaluación de LAPS

Veo tres razones principales por las que debe comenzar de inmediato el despliegue de esto. Los beneficios generales incluyen:

* Es gratis. Compra las licencias de Windows, por supuesto, pero no hay ningún cargo adicional por el uso de la solución de contraseña de administrador local. Puede implementarlas el mismo día, por lo que cuesta muy poco en horas de personal para que esté en marcha y funcionando en su tienda.

* No requiere servidores adicionales de infraestructura. Esta solución se conecta directamente a la directiva de grupo de Active Directory y, por lo que utiliza los mismos controladores de dominio y las máquinas que ya tiene, y presenta una carga adicional insignificante sobre ellas. Y ya que está utilizando las características estándar en la caja, pueden funcionar otras herramientas de gestión sin necesidad de reprogramación. Es verdaderamente una respuesta estilo "drop-in" a este problema.

* No requiere nuevo software de gestión. El software de gestión de ciclo de vida de la identidad existente funcionará bien. Los Scripts de implementación de software funcionan bien. Sus procesos y secuencias de comandos y utilidades para la realización de tareas en las máquinas locales que requieren privilegios administrativos funcionarán bien también, debido a que hay una contraseña -nada ha cambiado realmente desde la perspectiva de autenticación y autorización- y una vez que la tiene, usted es especial.

La última palabra

En cierto sentido, es extraño que finalmente hayamos encontrado una manera agradable y elegante de resolver un problema real que existía en muchas implementaciones, simplemente por ignorancia o falta de atención, o que se resolvía mediante la fuerza bruta terriblemente tediosa con hojas de cálculo Excel y muchas horas de prácticas pagadas. Pero miremos el lado positivo: La solución de la contraseña de administrador local está aquí. En general, es un seguro muy barato para evitar casi por completo un ataque extraordinariamente devastador que podría traerse abajo a su organización durante semanas, meses -e incluso de forma permanente. Debido a que es libre, no puede elogiarse lo suficiente. Dele un vistazo y haga planes para comenzar a utilizarla hoy.

Jonathan Hassell, Computerworld (EE.UU.)