Quelle: microsoft.com
Am 24. April 2022 veröffentlichte der Sicherheitsforscher Mor Davidovich auf GitHub ein Hacking-Tool zur Privilegienerweiterung, KrbRelayUp. KrbRelayUp ist ein Wrapper, der die Verwendung einiger Funktionen der Tools Rubeus, KrbRelay, SCMUACBypass, PowerMad/SharpMad, Whisker und ADCSPwn in Angriffen rationalisieren kann.
Obwohl dieser Angriff auf Geräten, die mit Azure Active Directory (Azure AD) verbunden sind, nicht funktioniert, sind hybride Geräte mit lokalen Domänencontrollern weiterhin anfällig. Microsoft Defender for Identity erkennt Aktivitäten in den frühen Stadien der Angriffskette, indem es anomales Verhalten überwacht, das vom Domänencontroller erkannt wird. Darüber hinaus fließen die Signale von Defender for Identity auch in Microsoft 365 Defender ein, sodass Unternehmen über eine umfassende Lösung verfügen, die verdächtige Netzwerkaktivitäten, bösartige Dateien und andere Komponenten dieses Angriffs erkennt und blockiert. Microsoft Defender Antivirus erkennt dieses Angriffstool als die HackTool:MSIL/KrbUpRly-Malwarefamilie.
Davidovich veröffentlichte am Montag eine aktualisierte Version von KrbRelayUp, die auch dann funktioniert, wenn die LDAP-Signierung erzwungen wird, und Angreifern SYSTEM-Rechte verschafft, wenn Extended Protection for Authentication (EPA) für Active Directory Certificate Services (AD CS) nicht aktiviert ist.
Kevin Beaumont @GossiTheDog auf Twitter:
Funktioniert auch unter Windows 11. Dies wird sich auf fast jedes Unternehmenssystem auswirken, le seufz.
Ja, also KrbRelayUp funktioniert ganz hervorragend. Alles, was ein Angreifer braucht, ist die Fähigkeit, Code auf einem Domain-joined Host auszuführen, und das Ergebnis ist, dass man SYSTEM auf diesem Rechner bekommt.
Diese wurde übrigens als nicht behebbar deklariert, so dass sie für immer ein Zero-Day in allen Standardkonfigurationen von Windows ist.
Den Angriff verstehen: Was ist ressourcenbasierte eingeschränkte Delegation?
Die ressourcenbasierte eingeschränkte Delegation (RBCD) ist der Schlüssel zu dieser Angriffsmethode. Sie ermöglicht es dem Tool, sich als Administrator auszugeben und schließlich einen Code als SYSTEM-Konto eines kompromittierten Geräts auszuführen.
Grundlagen des Authentifizierungsprotokolls
Ein Authentifizierungsprotokoll verifiziert die Legitimität einer Ressource oder Identität. Wenn sich ein Benutzer bei einer Website anmeldet, verwendet diese Website eine Methode, um die Authentizität der Ressource zu bestätigen, die den Zugriff verlangt. Vereinfacht ausgedrückt besteht der Authentifizierungsprozess darin, sich mit einem Passwort anzumelden - was dadurch möglich wird, dass der Benutzer das von der Website erwartete Passwort kennt. Das Kerberos-Protokoll dient als Hauptauthentifizierungsrahmen für diesen Prozess in Active Directory vor Ort.
Delegation
Manchmal muss jedoch eine Ressource den Zugriff auf eine andere Ressource im Namen einer anderen Identität anfordern. Ein gängiges Beispiel hierfür ist die E-Mail-Delegation, bei der Führungskräfte ihren Assistenten häufig Delegationsrechte erteilen, um in ihrem Namen E-Mails zu senden und zu empfangen, ohne dem Assistenten das Kennwort der Führungskraft mitzuteilen. Der Assistent der Führungskraft authentifiziert sich nicht als die Führungskraft; die Führungskraft hat dem Konto des Assistenten lediglich erlaubt, so zu tun, als ob sie es wäre.
Ressourcenbasierte eingeschränkte Delegation
Ursprünglich konnten nur Benutzer mit der Rolle SeEnableDelegation die Delegation konfigurieren, in der Regel Domänenadministratoren. Diese Domänenadministratoren können Ressourcen verwalten und festlegen, welche Identitäten im Namen einer anderen Ressource handeln können. Sie erreichen dies, indem sie die Eigenschaft msDS-AllowedToDelegateTo eines Benutzerkontos oder Geräts aktualisieren. Diese Eigenschaft enthält eine Liste aller eindeutigen Identifikatoren (Service Principal Names oder SPNs), an die dieses Objekt delegieren oder in deren Namen handeln kann.
Mit zunehmender Größe der Organisation hatten die Administratoren jedoch Schwierigkeiten, alle Delegationsanforderungen zu bewältigen, so dass eine neue Art der Delegation erforderlich wurde: die ressourcenbasierte Delegation. In einer Organisation mit mehreren Dateiservern, die alle einem Webserver für die Delegation vertrauen, müsste ein Administrator beispielsweise die Priorität msDS-AllowedToDelegateTo in allen verschiedenen Dateiservern ändern, um einen zweiten Webserver einzuführen. Bei der ressourcenbasierten Delegation wird die Liste der vertrauenswürdigen Computer auf der Empfängerseite geführt. In unserem Beispiel würde also nur der neu eingerichtete Server eine Änderung der Einstellungen erfordern.
Unsigniertes LDAP und Relay-Angriffe
Damit die RBCD-Methode des KrbRelayUp-Tools funktioniert, darf das LDAP-Protokoll keine Signierung für die Kommunikation zwischen LDAP-Clients und Domänencontrollern verwenden. Während diese Einstellung unter Windows noch die Standardeinstellung ist, empfiehlt Microsoft ab 2019, LDAP so zu konfigurieren, dass LDAP-Kanalbindung und Signierung verwendet werden.
LDAP ist eines der Hauptprotokolle, das Verzeichnisdienst-Tools wie Active Directory für die Abfrage und den Zugriff auf Verzeichnisinformationen verwenden. Standardmäßig ist LDAP anfällig für Credential Relaying-Angriffe. Bei einem Credential-Relaying-Angriff würde beispielsweise ein Webserver, der ein Passwort für die Anmeldung anfordert, seine Anfrage von einem Angreifer an einen autorisierten Client weiterleiten lassen. Der Angreifer leitet dann die Antwort des Clients mit dem richtigen Kennwort an den Server zurück und meldet sich damit an. Sobald der Angreifer angemeldet ist, verfügt er über dieselben Berechtigungen wie der Benutzer, dessen Anmeldedaten weitergeleitet wurden.
Wenn eine LDAP-Signierung erforderlich ist, muss jede Anfrage an den Server kryptografisch signiert werden. In diesem Fall könnte der Angreifer zwar die Anmeldeanforderung und die Antwort weiterleiten, aber alle weiteren Anforderungen des Angreifers würden ignoriert, da jede Anforderung signiert werden muss und der Angreifer nicht über die richtigen Schlüssel für die Signierung verfügt.
Ms-DS-MachineAccountQuota
Das letzte Schlüsselkonzept hinter der RBCD-Methode des KrbRelayUp-Tools ist das Attribut ms-DS-MachineAccountQuota, das alle Active Directory-Benutzerobjekte haben. Dieses Attribut ist standardmäßig auf 10 gesetzt, was bedeutet, dass jeder Benutzer in Active Directory bis zu 10 mit ihm verbundene Computerkonten erstellen kann. Der legitime Zweck dieses Attributs besteht darin, Benutzern die Möglichkeit zu geben, mehrere Geräte in einem Netzwerk zu haben, die ihnen gehören und die sie verwalten können. Wenn jedoch ein kompromittierter Benutzer nicht über 10 tatsächliche Geräte verfügt, die mit seinem Konto verbunden sind, kann ein Angreifer ein Konto für ein nicht vorhandenes Gerät erstellen, das ein Objekt in Active Directory ist. Dieses gefälschte Computerkonto ist nicht mit einem echten Gerät verknüpft, kann aber Active Directory-Authentifizierungsanfragen durchführen, als ob es eines wäre.
Ursprünglich war die Fähigkeit, ein solches Konto zu erhalten, eine Voraussetzung für diese Angriffsmethode, aber seit der Veröffentlichung des Tools haben andere Sicherheitsforscher Wege gefunden, diese Anforderung zu umgehen.
KrbRelayUp-Angriffsablauf
Um einen Angriff mit der RBCD-Methode von KrbRelayUp zu starten, führt ein Angreifer vier Hauptschritte durch:
Schritt 1: Beschaffung einer geeigneten Ressource Der Angreifer beschafft sich zunächst eine Ressource, die als Quelle für einen RBCD geeignet ist. Es gibt mehrere Möglichkeiten, eine solche Ressource zu erhalten; die einfachste Möglichkeit ist die Erstellung eines neuen Computerkontos, wie oben beschrieben.
Schritt 2: Modifikation des Attributs msDS-AllowedToActOnBehalfOfOtherIdentity Als nächstes fügt der Angreifer seine Ressource zur Liste der vertrauenswürdigen Ressourcen des aktuellen Geräts hinzu. Zu diesem Zweck startet der Angreifer eine LDAP-Sitzung und übermittelt die Anmeldeinformationen des aktuellen Geräts an den LDAP-Server.
Das neue KrbRelayUp-Tool implementiert diesen Schritt mit diesen zwei kleineren, aufeinander folgenden Aktionen:
- Authentifiziert sich gegenüber dem LDAP-Dienst, indem es einen Kerberos-Relay-Angriff auslöst und durchführt
- Ändert das Attribut msDS-AllowedToActOnBehalfOfOtherIdentity, um die Ressource des Angreifers in die Liste der Entitäten aufzunehmen, die das Zielgerät delegieren dürfen.
Schritt 3: Erwerb eines privilegierten Tickets Hier nutzt der Angreifer seine im ersten Schritt erlangte Kontrolle über seine Ressource mit dem im zweiten Schritt gewonnenen Vertrauen in seine Ressource. So vertraut das lokale Gerät der Ressource des Angreifers, um ein Ticket anzufordern, das an den SPN des Hosts als Domänenadministrator adressiert ist. Die Anfrage wird gestellt, indem zunächst vorgegeben wird, die Ressource des Angreifers zu sein, und besteht aus drei Anfragen:
- AS-Req - Eine Anforderung, ein Ticket Granting Ticket (TGT) für die vom Angreifer verkörperte Ressource zu erzeugen.
- S4U2self - Eine Anfrage zur Erstellung eines Ticket Granting Service (TGS) Tickets von einem Administrator für die Ressource.
- S4U2proxy - Eine Anfrage zur Generierung eines TGS-Tickets für den SPN des Hosts als Administrator, der seinen Zugriff über die unpersönliche Ressource delegiert.
Nach diesem Schritt verfügt der Angreifer über ein gültiges Ticket für das lokale Gerät, mit dem er sich als Administrator ausgeben kann.
Schritt 4: Privilegiertes Ticket ausnutzen Im letzten Schritt wird das neu erworbene Ticket des Angreifers genutzt, um Code auf dem Gerät auszuführen. Bei diesem Angriff wird der Service Control Manager (SCM) aufgefordert, einen neuen Dienst mit SYSTEM-Berechtigungen zu erstellen.
Schutz vor KrbRelayUp-Angriffen durch koordinierte Bedrohungsabwehr
Es ist wichtig zu beachten, dass KrbRelayUp nicht für Angriffe auf Organisationen verwendet werden kann, die nur Azure AD verwenden. In hybriden Identitätsumgebungen, in denen Unternehmen ihre Domänencontroller mit Azure AD synchronisieren, erhält ein Angreifer, der eine virtuelle Azure-Maschine mit einem synchronisierten Konto kompromittiert, SYSTEM-Rechte auf der virtuellen Maschine.
Um die Auswirkungen dieser Bedrohung zu verringern, sollten Unternehmen die folgenden Abhilfemaßnahmen anwenden. Microsoft 365 Defender-Kunden können auf der Empfehlungskarte den Bereitstellungsstatus der überwachten Abhilfemaßnahmen überprüfen.
- Microsoft hat eine Anleitung zur Aktivierung der LDAP-Kanalbindung und LDAP-Signierung bereitgestellt. Microsoft empfiehlt, dass Administratoren die LDAP-Signierung und LDAP-Kanalbindung gemäß den Empfehlungen und der ausführlichen Beschreibung in 2020 LDAP-Kanalbindung und LDAP-Signierungsanforderungen für Windows (KB4520412) konfigurieren.
- Unternehmen sollten außerdem in Erwägung ziehen, das Attribut ms-DS-MachineAccountQuota auf 0 zu setzen, um es einem Angreifer zu erschweren, das Attribut für Angriffe zu nutzen. Wenn das Attribut auf 0 gesetzt wird, können Benutzer, die keine Administratoren sind, keine neuen Geräte zur Domäne hinzufügen, wodurch die effektivste Methode zur Durchführung des ersten Schrittes des Angriffs blockiert wird und Angreifer gezwungen werden, komplexere Methoden zu wählen, um eine geeignete Ressource zu erhalten.