Huy Kha | Senior Architekt für Identität und Sicherheit

Das Dilemma des Eindringlings ist die Kehrseite des Dilemmas des Verteidigers, das die Herausforderungen der Cybersicherheitsverteidigung erklärt. Während die Verteidigung von Active Directory (AD) gegen alle möglichen Angriffstechniken die Herausforderung für Verteidiger darstellt, haben Angreifer ein anderes Problem: Wenn sie einmal eingebrochen sind, müssen sie vermeiden, erwischt zu werden.

Angreifer müssen vielleicht nur eine Schwachstelle finden, um sich Zugang zu verschaffen, aber es ist viel schwieriger, unentdeckt zu bleiben. Sie müssen den Zugang aufrechterhalten, sich seitlich bewegen, ihre Privilegien ausweiten und ihre Ziele erreichen, ohne Alarme auszulösen oder ausgesperrt zu werden.

Was wäre, wenn wir das Dilemma des Eindringlings zu unserem Vorteil nutzen könnten?

Wie man einen Angriff in eine praktische AD-Verteidigung umwandelt

Die Art und Weise, wie böswillige Akteure nach Schwachstellen suchen und diese nutzen, ist für die AD-Verteidigung entscheidend. Um den Wert dieses Wissens zu veranschaulichen, lassen Sie uns eine gängige Angriffsmethode auf die Identität herausgreifen, die Fehlkonfigurationen von Zertifikaten ausnutzt.

Angriffe auf Active Directory Certificate Services (AD CS) haben große Aufmerksamkeit erregt, nachdem SpecterOps Untersuchungen darüber veröffentlicht hat, wie Fehlkonfigurationen in AD CS zur Privilegienerweiterung und Persistenz ausgenutzt werden können. Ihr Certified Pre-Owned Report1 beschreibt mehrere Techniken, darunter ESC1, ESC4 und Goldene Zertifikate, die es Angreifern ermöglichen, die zertifikatsbasierte Authentifizierung zu missbrauchen, um privilegierte Konten zu kompromittieren. Seit der Veröffentlichung dieser Studie haben Bedrohungsakteure und Red Teams diese Techniken zunehmend als Waffe eingesetzt,2 was AD CS zu einem hochwertigen Ziel macht.

An dieser Stelle können Verteidiger den Spieß umdrehen. Wenn Sie einen Honigtopf einrichten - z. B. eine Scheinzertifikatsvorlage, die angreifbar zu sein scheint - werden Angreifer vor die Wahl gestellt. Sie können entweder versuchen, das auszunutzen, was wie eine Fehlkonfiguration aussieht, und dabei riskieren, enttarnt zu werden, oder sie ignorieren es und suchen nach einer anderen Möglichkeit, ihre Privilegien zu erweitern.

Stellen Sie sich vor, ein Angreifer, der nach falsch konfigurierten Zertifikatsvorlagen sucht, findet eine, bei der er Änderungsrechte hat. Er kann versuchen, das Zertifikat zu aktivieren. Supply in Request Option, die es ihnen ermöglicht, eine privilegierte Identität in einer Zertifikatsanforderung anzugeben.

Die Falle ist gestellt.

HAFTUNGSAUSSCHLUSS: Der Einsatz einer Schein-CA-Vorlage, die absichtlich für Angriffe wie ESC1 und ESC4 anfällig gemacht wird, vergrößert die Angriffsfläche. Mit den richtigen Sicherheitsmechanismen, um diese Bedrohungen zu erkennen und zu beseitigen, kann dies jedoch ein effektiver Ansatz sein.

Erstellen einer Honeypot-Falle mit einer Vorlage für ein Scheinzertifikat: Beispiel 1

Abbildung 1 zeigt, was ein Angreifer findet, wenn er ein Tool wie Certify3 verwendet, um nach ausnutzbaren Zertifikatsvorlagen zu suchen.

Abbildung 1. Diese anfällige Zertifikatsvorlage gibt Domänencomputern volle Kontrolle und erlaubt Änderungen.

Dieses Zertifikat, CiscoSSLVPNunterstützt die Client-Authentifizierung und erlaubt es Domänencomputern, sich zu registrieren. Aber da msPKI-Certificate-Name-Flag ist nicht auf ENROLLEE_SUPPLIES_OBJECTwird der ESC1-Angriff nicht funktionieren.

Wenn der Angreifer sich die AD-Attribute des CiscoSSLVPN Zertifikat (Abbildung 2), sehen sie, dass die msPKI-Certificate-Name-Flag Wert wird festgelegt auf 134217728, das entspricht SUBJECT_ALT_REQUIRE_DNS. Das bedeutet, dass die Supply in Request Option nicht aktiviert ist.

Abbildung 2. Diese PowerShell-Ausgabe zeigt die CiscoSSLVPN Attribute der Zertifikatsvorlage, mit msPKI-Certificate-Name-Flag eingestellt auf 134217728und zeigt an SUBJECT_ALT_REQUIRE_DNS.

Da wir in diesem Beispiel Domänencomputern volle Kontrolle über diese CA-Vorlage gewährt haben, könnte unser Angreifer die Vorteile von msDs-MachineAccountQuota (Abbildung 3), die auf 10 um ein neues Computerobjekt zu erstellen, authentifizieren Sie sich als Computerkonto und ändern Sie dann die CA-Vorlage.

Abbildung 3. Diese PowerShell-Ausgabe zeigt die Verwendung von Powermad zur Erstellung eines neuen Computerkontos (TestPC) durch die Nutzung von msDs-MachineAccountQuota, die auf 10 standardmäßig in AD.

Als nächstes authentifiziert sich der Angreifer als Computerkonto und ändert die CA-Vorlage, um sie für ESC1 angreifbar zu machen(Abbildung 4).

Abbildung 4. Diese PowerShell-Sitzung läuft unter dem Namen TestPC$ Maschinenkonto, das Ändern der msPKI-Certificate-Name-Flag auf der CiscoSSLVPN Zertifikatsvorlage, um sie anfällig für ESC1 zu machen.

Jetzt überprüft unser Angreifer die AD-Attribute der geänderten CA-Vorlage. Sie sehen, dass die msPKI-Certificate-Name-Flag Wert geändert hat (Abbildung 5), die die Modifikation widerspiegelt, die es ausnutzbar macht.

Abbildung 5. Diese PowerShell-Ausgabe zeigt die geänderte CiscoSSLVPN Zertifikatsvorlage, wobei die msPKI-Certificate-Name-Flag Wert hat sich geändert und macht ihn anfällig für ESC1.

Auf der Seite der AD-Verteidigung: In Directory Services Protector DSP)sehen Sie nun einen Eintrag, der die AD-Änderung auf der Lockvogel-CA-Vorlage protokolliert(Abbildung 6) und das spezifische Attribut hervorhebt, das geändert wurde.

Abbildung 6. Unser DSP zeigt die Änderung der CiscoSSLVPN Zertifikatsvorlage, wobei die msPKI-Certificate-Name-Flag Wert geändert wurde, was eine weitere Untersuchung des für die Aktion verantwortlichen Kontos ermöglicht.

DSP zeigt auch an, wer die CA-Vorlage geändert hat(Abbildung 7). So können Sie das für die Änderung verantwortliche Konto untersuchen und weitere verdächtige Aktivitäten aufdecken.

Abbildung 7. Unser DSP bestätigt auch, dass die CiscoSSLVPN Zertifikatsvorlage wurde von der TestPC$ Computerkonto.

Erstellen einer Honeypot-Falle mit einer Vorlage für ein Scheinzertifikat: Beispiel 2

Die WebServer Zertifikatsvorlage wird üblicherweise für die Ausstellung von SSL/TLS-Zertifikaten für Windows Server Update Services (WSUS), Active Directory Federation Services (ADFS), Internet Information Services (IIS) Webserver und Load Balancer verwendet. Es gewährleistet eine verschlüsselte Kommunikation über HTTP. Standardmäßig ist es konfiguriert mit Supply in Requestaber da die erweiterte Schlüsselverwendung (EKU) auf Server Authentication, ESC1 kann nicht ausgenutzt werden (Abbildung 8).

Abbildung 8. Hier zeigt PowerShell die Attribute des WebServer Zertifikatsvorlage, die zeigt, dass Supply in Request (CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT) ist aktiviert, aber die EKU ist auf Server Authentication.

Um unsere Falle aufzustellen, können Sie damit beginnen, die Datei WebServer Vorlage und geben ihr einen realistischen Namen, um sie legitim erscheinen zu lassen. Ändern Sie dann die DACL, um sie wie eine legitime Konfiguration aussehen zu lassen, indem Sie ein gefälschtes Computerkonto zulassen, z.B. WSUS-2016, um sich einzuschreiben.

Gleichzeitig konfigurieren Sie die Vorlage absichtlich falsch, indem Sie authentifizierten Benutzern Schreibrechte gewähren(Abbildung 9), was eine Gelegenheit zur Ausnutzung bietet.

Abbildung 9. Unsere PowerShell-Ausgabe zeigt die modifizierte WebServer-Zertifikatsvorlage, bei der ein gefälschtes Computerkonto (WSUS-2016$) verfügt über Enroll-Berechtigungen und Authenticated Users wurde fälschlicherweise mit Schreibberechtigungen konfiguriert, wodurch die Vorlage anfällig für Angriffe ist.

Abbildung 10 zeigt, wie die Erkundung durch einen Angreifer aussieht, der ausnutzbare CA-Templates identifiziert, bei denen Authentifizierte Benutzer Schreibrechte auf dem Decoy haben WSUSSSLCert Vorlage.

Abbildung 10. Diese PowerShell-Ausgabe zeigt die WSUSSSLCert Zertifikatsvorlage, bei der Authentifizierte Benutzer über WriteProperty Berechtigungen, die es ihnen erlauben, Attribute wie EKU zu ändern.

Nun untersucht unser Angreifer die aktuellen AD-Attributwerte dieser CA-Vorlage und konzentriert sich dabei speziell auf die msPKI-Certificate-Application-Policy Wert, der die erlaubte Zertifikatsverwendung definiert (Abbildung 11).

Abbildung 11. PowerShell-Ausgabe zur Anzeige der Attribute des WSUSSSLCert Zertifikatsvorlage, wobei die msPKI-Certificate-Application-Policy Wert. Der Objektbezeichner 1.3.6.1.5.5.7.3.1 entspricht der Server-Authentifizierung.

Nun modifizieren sie diese CA-Vorlage, um sie für ESC1 ausnutzbar zu machen, und prüfen dann, wie die msPKI-Certificate-Application-Policy Wertänderungen (Abbildung 12).

Abbildung 12. PowerShell zeigt die Änderung der WSUSSSLCert Zertifikatsvorlage, wobei die msPKI-Certificate-Application-Policy wurde geändert in 1.3.6.1.5.5.7.3.2und aktivieren Sie die Client-Authentifizierung. Diese Änderung macht die Vorlage anfällig für ESC1.

Als Abbildung 13 zeigt, die msPKI-Certificate-Application-Policy wurde auf einen anderen Object Identifier aktualisiert, der nun der Client-Authentifizierung entspricht.

Abbildung 13. PowerShell zeigt die aktualisierte WSUSSSLCert Zertifikatsvorlage, wobei die msPKI-Certificate-Application-Policy wurde geändert in 1.3.6.1.5.5.7.3.2und aktivieren Sie die Client-Authentifizierung. Jetzt ist die Vorlage nicht nur anfällig, sondern auch für ESC1 ausnutzbar.

Der letzte Schritt, den unser Angreifer unternimmt, ist die Erteilung von Anmeldeberechtigungen für die CA-Vorlage, damit er sie ausnutzen kann(Abbildung 14).

Abbildung 14. Dieser Ausschnitt zeigt, wie der Angreifer den Authentifizierten Benutzern Anmelderechte für die Datei WSUSSSLCert Vorlage mit PowerView.

Auf der Seite der AD-Verteidigung: In DSP gibt es jetzt einen Eintrag im AD-Änderungsprotokoll, der anzeigt, dass jemand dieses spezifische AD-Attribut auf der CA-Vorlage geändert hat(Abbildung 15).

Abbildung 15. Unser DSP zeigt eine Änderung der WSUSSSLCert Zertifikatsvorlage, wobei die msPKI-Certificate-Application-Policy Wert wurde von Server-Authentifizierung in Client-Authentifizierung geändert.

In DSP wird ein weiterer Eintrag protokolliert, der angibt, dass das Attribut Security Descriptor auf der Decoy CA-Vorlage geändert wurde(Abbildung 16).

Abbildung 16. Das DSPzeigt die Änderung des Sicherheitsdeskriptors auf dem WSUSSSLCert CA-Vorlage.

Der Schlüssel zu Decoys in der AD-Verteidigung: Erstellen Sie eine Benachrichtigungsregel in DSP

In DSP können Sie eine Benachrichtigungsregel für Lockvogel-Zertifikatsvorlagen erstellen(Abbildung 17), so dass jede Änderung an diesen Vorlagen einen Alarm auslöst.

Abbildung 17. Diese DSP , die für die WSUSSSLCert Zertifikatsvorlage, ist so konfiguriert, dass ein Alarm ausgelöst wird, sobald eine Änderung an der Zertifikatsvorlage vorgenommen wird. msPKI-Certificate-Application-Policy Attribut.

Sobald jemand dieses AD-Attribut auf der Lockvogel-CA-Vorlage ändert, sendet DSP eine E-Mail-Benachrichtigung mit Details darüber, wer die Änderung vorgenommen hat, auf welchem Domain Controller sie stattgefunden hat, und anderen relevanten Informationen(Abbildung 18).

Abbildung 18. Eine E-Mail-Benachrichtigung von DSP informiert Sie über Änderungen an der Decoy CA-Vorlage.

Semperis Schnappschuss

Für Unternehmen, die ADCS einsetzen, kann die Einrichtung von Honeypot-Fallen eine wertvolle Möglichkeit sein, Angreifer zu entdecken, bevor sie ihre Privilegien ausweiten können. ADCS-Fehlkonfigurationen werden zunehmend in realen Angriffen ausgenutzt, wie der Bericht4 von Mandiant über die Taktiken von Ivanti nach der Ausnutzung des Systems zeigt. Durch den Einsatz von Scheinzertifikatsvorlagen, die anfällig erscheinen, aber genau überwacht werden, können AD-Verteidiger Angreifer dazu bringen, sich in dem Moment zu offenbaren, in dem sie versuchen, das System auszunutzen.

Erfahren Sie mehr über proaktiven Active Directory-Schutz

Referenzen

  1. https://specterops.io/wp-content/uploads/sites/3/2022/06/Certified_Pre-Owned.pdf
  2. https://attack.mitre.org/techniques/T1649/
  3. https://github.com/GhostPack/Certify
  4. https://cloud.google.com/blog/topics/threat-intelligence/ivanti-post-exploitation-lateral-movement