Local Administrator Password Solution - Sichere Passwörter für lokale Admins

Local Administrator Password Solution

Sichere Passwörter für lokale Admins

Michael Schneider
von Michael Schneider
am 13. Juli 2017
Lesezeit: 9 Minuten

Keypoints

  • Angreifer im internen Netz versuchen Systeme als Ausgangslage für weitere Angriffe zu missbrauchen
  • Oftmals werden in Enterprise-Umgebungen die gleichen Passwörter für lokale Admins eingesetzt
  • Mit LAPS stellt Microsoft eine Möglichkeit zur Verfügung, diese zentral und zufällig zu definieren
  • Hierzu werden auf Funktionen von AD und GPO zurückgegriffen

Lateral Movement steht in der IT-Sicherheit dafür, wenn ein Angreifer sich innerhalb einer Infrastruktur von einem System zum nächsten bewegt. Dabei nutzt der Angreifer meistens gültige Zugangsdaten, beispielsweise den Hashwert des lokalen Administratorenkontos. Wir treffen wiederholt bei unseren Kunden die Situation an, dass das Passwort des lokalen Administratorenkontos auf allen Client-Computer, oder sogar Servern, gleich ist. So fällt es einem Angreifer leicht, sich von System zu System zu hangeln. Er kann aufgrund der lokalen Administratorenrechte einfach weitere Zugangsdaten erlangen und so seine Rechte erweitern.

Eine der Gegenmassnahmen ist das Setzen eines unterschiedlichen Passworts für jedes System. Die erste technische Massnahme dagegen war die Verteilung des Passworts via Gruppenrichtlinien. Dies erwies sich jedoch als unsicher, da das jeweilige Passwort ersichtlich für alle Benutzer ist, die Zugriff auf die jeweilige Richtlinie haben. Bei der Verwendung einer Gruppenrichtlinie wird das Passwort zwar verschlüsselt abgelegt, der Schlüssel dafür ist jedoch öffentlich bekannt. Und daher kann ein Passwort einfach entschlüsselt werden.

Local Administrator Password Solution

Im Mai 2015 präsentierte Microsoft mit dem Security Advisory 3062591 die Lösung Local Administrator Password Solution. Mittels LAPS kann für das lokale Administratorenkonto auf jedem System der Domäne ein eindeutiges, zufällig generiertes Passwort gesetzt werden. Dabei wird das Passwort im Active Directory gespeichert. Die Verwaltung des Passworts geschieht danach automatisch. Sobald das Passwort abläuft, wird durch den LAPS-Client ein neues generiert.

Der LAPS-Client ist eine sogenannte GPO client-side extension (CSE), welche währenden einem Gruppenrichtlinienupdate die folgenden Schritte durchläuft:

  1. Prüfen, ob das Passwort des lokalen Administratorenkontos abgelaufen ist
  2. Ein neues Passwort generieren, falls das alte abgelaufen ist, oder eine Änderung erzwungen wird
  3. Prüfen, ob das neue Passwort den definierten Anforderungen der Passwort-Policy entspricht
  4. Das Passwort im Active Directory unter dem Computer Objekt mit dem Attribut Confidential hinterlegen
  5. Das neue Ablaufdatum ebenfalls im Computer Objekt ablegen
  6. Das Passwort des Administratorenkontos ändern

Installation und Konfiguration

Die LAPS-Installation besteht aus zwei Modulen:

Jedes zu administrierende System muss über den LAPS-Client verfügen. Die Verwaltungskomponenten können auf einem beliebigen System installiert werden, und bestehen aus einem GUI-Client, PowerShell-Cmdlets sowie GPO-Templates. Zusätzlich ist eine Active Directory Schemaerweiterung notwendig. Dabei werden die zwei Attribute ms-Mcs-AdmPwd (enthält das Passwort im Klartext) und ms-Mcs-AdmPwdExpirationTime (Zeitstempel zum Ablauf des Passworts) eingeführt. Beide Attribute werden zur Klasse Computer hinzugefügt. Beim Attribut ms-Mcs-AdmPwd handelt es sich um ein sogenanntes vertrauliches Attribut (confidential). Diese Attribute können standardmässig nur von Domänen-Administratoren ausgelesen werden.

Zusammen mit den Setup-Dateien bietet Microsoft einen Operational-Guide zum Download an, welcher die notwendigen Schritte zur Installation ausführlich erklärt.

Die LAPS-Konfiguration wird via Gruppenrichtlinie verteilt. Durch die Einstellung Enable local admin password management wird LAPS grundsätzlich aktiviert. In der Einstellung Password Settings kann die Zusammensetzung des Passworts definiert werden. Unsere Empfehlungen sind für die Komplexität den Wert Large letters + small letters + numbers + specials zu verwenden, ein Passwortalter von 30 Tagen festzulegen, und aufgrund der Research von Rob Fuller die Länge des Passworts auf 28 Zeichen zu setzen. Die Einstellung Do not allow password expiration time longer than required by policy sollte aktiviert werden, da LAPS das aktuell gesetzte Ablaufdatum berücksichtigt und erst dann eine Änderung vornimmt. Wenn nun ein Ablaufdatum über dem definierten Wert existiert, würde LAPS ansonsten erst dann eine Änderung vornehmen.

Falls gewünscht, können auch weitere lokale Konten durch Angabe des Benutzernamens mit LAPS verwaltet werden. Dazu gibt es die Einstellung namens Name of administrator account to manage. Hinweis am Rande bei der Verteilung dieser Richtlinie: Falls diese Richtlinie auch auf Domain Controller zur Anwendung kommen sollte, dann wird das Passwort des Administrator-Accounts der Domäne (“lokaler” Administrator auf einem Domain Controller) durch LAPS ebenso geändert.

Zugriffsrechte verwalten

Die generierten Passworte durch LAPS werden im Klartext gespeichert. Daher ist der Zugriffsschutz auf das Passwort-Attribut besonders wichtig. Nach der Installation müssen die Zugriffsrechte auf die AD-Attribute festgelegt werden.

Einerseits ist es nötig, den Maschinenaccount selbst so zu definieren, dass dieser berechtigt ist, sein neu generiertes Passwort in das entsprechende AD Computerobjekt zu speichern. Dies geschieht wie folgt und muss für jede Organisationseinheit, die mittels LAPS verwaltet wird, festgelegt werden:

PS C:\Users\Administrator> Set-AdmPwdComputerSelfPermission -OrgUnit Policy

Name                 DistinguishedName                                                 Status
----                 -----------------                                                 ------
Policy               OU=Policy,OU=Labs,DC=labs,DC=scip,DC=ch                           Delegated

Wie bereits erwähnt, wird das Passwort in einem vertraulichen Attribut abgelegt. Standardmässig haben nur SYSTEM und die Domänen-Administratoren das Recht vertrauliche Attribute zu lesen. Jedoch ist es so, dass wenn ein Benutzer oder eine Gruppe auf einer OU das Recht All Extended Rights besitzt, diese über die Berechtigung vertrauliche Attribute zu lesen verfügt. Es muss also sichergestellt werden, dass nur berechtigte Gruppen im Besitz dieses Rechts sind. Dies kann mit dem folgenden Befehl überprüft werden:

PS C:\Users\Administrator> Find-AdmPwdExtendedRights -Identity Policy

ObjectDN                                      ExtendedRightHolders
--------                                      --------------------
OU=Policy,OU=Labs,DC=labs,DC=scip,DC=ch       {NT AUTHORITY\SYSTEM, LABS\Domain Admins}

Zusätzliche Gruppen, wie beispielsweise die Gruppe des IT-Supports, können mittels des Befehls Set-AdmPwdReadPasswordPermission hinzugefügt werden.

Nun sind alle Voraussetzungen für die Einführung von LAPS gegeben und in unserem Testlabor konnten wir die Policy auf zwei Clients ausrollen. Nach dem nächsten Neustart wurde das Administratorenpasswort wie erwartet zurückgesetzt. Dies kann mittels PowerShell-Cmdlet Get-AdmPwdPassword überprüft werden. Als Test haben wir den Befehl mit einem normalen Domänenbenutzer namens jdoe ausgeführt:

PS C:\Users\jdoe> Get-AdmPwdPassword -ComputerName client0*

ComputerName         DistinguishedName                             Password           ExpirationTimestamp
------------         -----------------                             --------           -------------------
CLIENT01             CN=CLIENT01,OU=Policy,OU=Labs,DC=labs,DC=s...                    16.07.2017 12:37:38
CLIENT02             CN=CLIENT02,OU=Policy,OU=Labs,DC=labs,DC=s... .3x@+}30dn[Afr8... 16.07.2017 12:34:50

Wie zu erwarten, hat der Benutzer keine Rechte für das Passwort des Client01 auszulesen. Doch warum wird bei Client02 das Passwort angezeigt? Die Ursache hierfür liegt darin, dass der Computer Client02 durch den Benutzer jdoe zur Domäne hinzugefügt wurde (Domain Join), dadurch der Benutzer zum CREATOR OWNER des jeweiligen Objekts wird und über Spezialrechte auf dem Objekt verfügt. Die Standardrechte des Computer Objekts sehen vor, dass der CREATOR OWNER über das Recht All Extended Rights auf dem jeweiligen Objekt selbst verfügt. In dem Blogpost LAPS and permission to join computer to domain erklärt Jiri Formacek, wie die Standardrechte des Computer Objekts verändert werden können, auftritt. Eine weitere Option ist, dass Computer nur mit einem spezifischen Service-Account zur Domäne hinzugefügt werden und nicht mit normalen Benutzer-Accounts.

Fazit

LAPS bietet eine einfache Methode zur automatisierten Verwaltung des Passworts des lokalen Administratorenkontos. Es werden dabei Windows-Bordmittel eingesetzt und die Konfiguration kann über Gruppenrichtlinien verteilt werden.

Negativ ist jedoch, dass das Passwort im Klartext im Computer Objekt gespeichert wird. Die sorgfältige Vergabe der Zugriffsrechte auf das jeweilige Attribut sowie eine Überwachung der Zugriffe ist dementsprechend Pflicht.

Wir sehen dies jedoch auch als einer der typischen Tradeoffs in der IT-Security an. Der Einsatz von LAPS bringt wesentlich mehr Sicherheit für die gesamte Infrastruktur als wenn aufgrund des Speicherns im Klartext auf eine solche Lösung verzichtet wird. Ein alternativer Ansatz, die zusätzlich das Passwort noch sicher verschlüsselt, wäre aber natürlich vorzuziehen.

Über den Autor

Michael Schneider

Michael Schneider arbeitet seit dem Jahr 2000 in der IT. Im Jahr 2010 hat er sich auf die Informationssicherheit spezialisiert. Zu seinen Aufgaben gehören das Penetration Testing, Hardening und das Aufspüren von Schwachstellen in Betriebssystemen. Er ist bekannt für eine Vielzahl in PowerShell geschrieber Tools zum Finden, Ausnutzen und Beheben von Schwachstellen. (ORCID 0000-0003-0772-9761)

Links

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

×
HardeningKitty

HardeningKitty

Michael Schneider

KleptoKitty

KleptoKitty

Michael Schneider

Linux Hardening

Linux Hardening

Michael Schneider

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv