LAPS
Información Básica
Local Administrator Password Solution (LAPS) es una herramienta utilizada para gestionar un sistema donde las contraseñas de administrador, que son únicas, aleatorias y cambiadas con frecuencia, se aplican a computadoras unidas a un dominio. Estas contraseñas se almacenan de forma segura dentro de Active Directory y solo son accesibles para usuarios que han sido otorgados permiso a través de Listas de Control de Acceso (ACLs). La seguridad de las transmisiones de contraseñas desde el cliente hasta el servidor está garantizada por el uso de Kerberos versión 5 y Estándar de Cifrado Avanzado (AES).
En los objetos de computadora del dominio, la implementación de LAPS resulta en la adición de dos nuevos atributos: ms-mcs-AdmPwd
y ms-mcs-AdmPwdExpirationTime
. Estos atributos almacenan la contraseña de administrador en texto plano y su tiempo de expiración, respectivamente.
Comprobar si está activado
Acceso a Contraseñas de LAPS
Podrías descargar la directiva LAPS en bruto desde \\dc\SysVol\domain\Policies\{4A8A4E8E-929F-401A-95BD-A7D40E0976C8}\Machine\Registry.pol
y luego utilizar Parse-PolFile
del paquete GPRegistryPolicyParser para convertir este archivo a un formato legible por humanos.
Además, los cmdlets nativos de LAPS en PowerShell pueden ser utilizados si están instalados en una máquina a la que tenemos acceso:
PowerView también se puede utilizar para averiguar quién puede leer la contraseña y leerla:
LAPSToolkit
El LAPSToolkit facilita la enumeración de LAPS con varias funciones. Uno de ellos es analizar ExtendedRights
para todos los equipos con LAPS habilitado. Esto mostrará los grupos específicamente delegados para leer contraseñas de LAPS, que a menudo son usuarios en grupos protegidos. Una cuenta que ha unido un equipo a un dominio recibe Todos los derechos extendidos
sobre ese host, y este derecho le otorga a la cuenta la capacidad de leer contraseñas. La enumeración puede mostrar una cuenta de usuario que puede leer la contraseña de LAPS en un host. Esto puede ayudarnos a apuntar a usuarios AD específicos que pueden leer contraseñas de LAPS.
Volcado de Contraseñas LAPS con Crackmapexec
Si no hay acceso a un powershell, puedes abusar de este privilegio de forma remota a través de LDAP utilizando
Persistencia de LAPS
Fecha de Expiración
Una vez que se es administrador, es posible obtener las contraseñas y evitar que una máquina actualice su contraseña al establecer la fecha de expiración en el futuro.
La contraseña aún se restablecerá si un administrador utiliza el cmdlet Reset-AdmPwdPassword
; o si está habilitada la opción No permitir que la contraseña caduque más tiempo del requerido por la política en la directiva de LAPS.
Puerta trasera
El código fuente original de LAPS se puede encontrar aquí, por lo tanto es posible colocar una puerta trasera en el código (dentro del método Get-AdmPwdPassword
en Main/AdmPwd.PS/Main.cs
por ejemplo) que de alguna manera exfiltre nuevas contraseñas o las almacene en algún lugar.
Luego, simplemente compile el nuevo AdmPwd.PS.dll
y súbalo a la máquina en C:\Tools\admpwd\Main\AdmPwd.PS\bin\Debug\AdmPwd.PS.dll
(y cambie la hora de modificación).
Referencias
Última actualización