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)
Die Local Administrator Password Solution (LAPS) ist ein Tool zur Verwaltung eines Systems, bei dem Administratorpasswörter, die einzigartig, zufällig und häufig geändert werden, auf domänenverbundenen Computern angewendet werden. Diese Passwörter werden sicher in Active Directory gespeichert und sind nur für Benutzer zugänglich, die durch Access Control Lists (ACLs) die Berechtigung erhalten haben. Die Sicherheit der Passwortübertragungen vom Client zum Server wird durch die Verwendung von Kerberos Version 5 und Advanced Encryption Standard (AES) gewährleistet.
Bei den Computerobjekten der Domäne führt die Implementierung von LAPS zur Hinzufügung von zwei neuen Attributen: ms-mcs-AdmPwd
und ms-mcs-AdmPwdExpirationTime
. Diese Attribute speichern das Klartext-Administratorpasswort und seine Ablaufzeit.
Sie könnten die rohe LAPS-Richtlinie herunterladen von \\dc\SysVol\domain\Policies\{4A8A4E8E-929F-401A-95BD-A7D40E0976C8}\Machine\Registry.pol
und dann Parse-PolFile
aus dem GPRegistryPolicyParser Paket verwenden, um diese Datei in ein menschenlesbares Format zu konvertieren.
Darüber hinaus können die nativ LAPS PowerShell-Cmdlets verwendet werden, wenn sie auf einem Rechner installiert sind, auf den wir Zugriff haben:
PowerView kann auch verwendet werden, um herauszufinden wer das Passwort lesen kann und es lesen kann:
Das LAPSToolkit erleichtert die Enumeration von LAPS mit mehreren Funktionen.
Eine davon ist das Parsen von ExtendedRights
für alle Computer mit aktivierten LAPS. Dies zeigt Gruppen, die speziell delegiert sind, um LAPS-Passwörter zu lesen, die oft Benutzer in geschützten Gruppen sind.
Ein Konto, das einen Computer zu einer Domäne hinzugefügt hat, erhält All Extended Rights
über diesen Host, und dieses Recht gibt dem Konto die Fähigkeit, Passwörter zu lesen. Die Enumeration kann ein Benutzerkonto anzeigen, das das LAPS-Passwort auf einem Host lesen kann. Dies kann uns helfen, spezifische AD-Benutzer zu identifizieren, die LAPS-Passwörter lesen können.
Wenn kein Zugriff auf PowerShell besteht, können Sie dieses Privileg remote über LDAP ausnutzen, indem Sie
Dies wird alle Passwörter ausgeben, die der Benutzer lesen kann, sodass Sie mit einem anderen Benutzer einen besseren Fuß in die Tür bekommen.
Sobald man Admin ist, ist es möglich, die Passwörter zu erhalten und einen Computer daran zu hindern, sein Passwort zu aktualisieren, indem man das Ablaufdatum in die Zukunft setzt.
Das Passwort wird weiterhin zurückgesetzt, wenn ein Admin das Reset-AdmPwdPassword
Cmdlet verwendet; oder wenn Nicht erlauben, dass die Passwortablaufzeit länger ist als von der Richtlinie erforderlich in der LAPS GPO aktiviert ist.
Der ursprüngliche Quellcode für LAPS ist hier zu finden, daher ist es möglich, eine Hintertür in den Code einzufügen (innerhalb der Get-AdmPwdPassword
Methode in Main/AdmPwd.PS/Main.cs
zum Beispiel), die irgendwie neue Passwörter exfiltriert oder sie irgendwo speichert.
Dann einfach die neue AdmPwd.PS.dll
kompilieren und auf die Maschine in C:\Tools\admpwd\Main\AdmPwd.PS\bin\Debug\AdmPwd.PS.dll
hochladen (und die Änderungszeit ändern).
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)