LAPS
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
A Solução de Senha de Administrador Local (LAPS) é uma ferramenta usada para gerenciar um sistema onde senhas de administrador, que são únicas, aleatórias e frequentemente alteradas, são aplicadas a computadores associados ao domínio. Essas senhas são armazenadas de forma segura dentro do Active Directory e são acessíveis apenas a usuários que receberam permissão através de Listas de Controle de Acesso (ACLs). A segurança das transmissões de senha do cliente para o servidor é garantida pelo uso de Kerberos versão 5 e Padrão de Criptografia Avançada (AES).
Na implementação do LAPS nos objetos de computador do domínio, resulta na adição de dois novos atributos: ms-mcs-AdmPwd
e ms-mcs-AdmPwdExpirationTime
. Esses atributos armazenam, respectivamente, a senha de administrador em texto simples e seu tempo de expiração.
Você pode baixar a política LAPS bruta de \\dc\SysVol\domain\Policies\{4A8A4E8E-929F-401A-95BD-A7D40E0976C8}\Machine\Registry.pol
e então usar Parse-PolFile
do pacote GPRegistryPolicyParser para converter este arquivo em um formato legível por humanos.
Além disso, os cmdlets nativos do PowerShell LAPS podem ser usados se estiverem instalados em uma máquina à qual temos acesso:
PowerView também pode ser usado para descobrir quem pode ler a senha e lê-la:
O LAPSToolkit facilita a enumeração do LAPS com várias funções.
Uma delas é a análise de ExtendedRights
para todos os computadores com LAPS habilitado. Isso mostrará grupos especificamente delegados para ler senhas LAPS, que muitas vezes são usuários em grupos protegidos.
Uma conta que juntou um computador a um domínio recebe All Extended Rights
sobre aquele host, e esse direito dá à conta a capacidade de ler senhas. A enumeração pode mostrar uma conta de usuário que pode ler a senha LAPS em um host. Isso pode nos ajudar a mirar usuários específicos do AD que podem ler senhas LAPS.
Se não houver acesso a um powershell, você pode abusar desse privilégio remotamente através do LDAP usando
Isso irá despejar todas as senhas que o usuário pode ler, permitindo que você obtenha uma melhor posição com um usuário diferente.
Uma vez admin, é possível obter as senhas e prevenir que uma máquina atualize sua senha definindo a data de expiração para o futuro.
A senha ainda será redefinida se um admin usar o Reset-AdmPwdPassword
cmdlet; ou se Não permitir que o tempo de expiração da senha seja maior do que o exigido pela política estiver habilitado na GPO do LAPS.
O código-fonte original do LAPS pode ser encontrado aqui, portanto, é possível colocar uma backdoor no código (dentro do método Get-AdmPwdPassword
em Main/AdmPwd.PS/Main.cs
, por exemplo) que de alguma forma exfiltrará novas senhas ou as armazenará em algum lugar.
Em seguida, basta compilar o novo AdmPwd.PS.dll
e enviá-lo para a máquina em C:\Tools\admpwd\Main\AdmPwd.PS\bin\Debug\AdmPwd.PS.dll
(e alterar o horário de modificação).
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)