Active Directory-Zertifikatsdienste
Eric Maurer
Einführung in AD CS - aus Perspektive der Sicherheit betrachtet.
Ziel dieses Beitrags ist es, eine kurze Einführung in dieses komplexe und offen gesagt manchmal etwas trockene, aber sehr wichtige Thema zu geben. Wir werden einige grundlegende Funktionen behandeln, wie Zertifikate aussehen und wie sie ge- und missbraucht werden können.
AD CS kann entweder als Standalone Certificate Authority (CA) oder als Enterprise CA eingesetzt werden. Eine Standalone CA verfügen nicht über Funktionen wie Zertifikatsvorlagen und AutoEnrollment, weshalb sie eher als Root- und Policy-CAs eingesetzt werden und nur Zertifikate für andere CAs ausstellen. Die Enterprise CA verfügt über Funktionen wie Zertifikatsvorlagen und AutoEnrollment, die in den meisten Fällen für Unternehmensumgebungen entscheidend sind. Was sind diese Funktionen und wie funktionieren sie?
Zertifikatsvorlagen
können als Blaupausen mit vordefinierten Einstellungen für Zertifikate betrachtet werden. Die Einstellungen definieren Dinge wie Wofür wird das Zertifikat verwendet, Wer kann ein Zertifikat beantragen, Wie lange ist das Zertifikat gültig und so weiter. Je nach Verwendung eines Zertifikats können die Einstellungen in diesen Blaupausen angepasst werden.AutoEnrollment
ermöglicht es Clients (Benutzern und Computern), automatisch Zertifikate in einer Active Directory-Domäne auf der Grundlage vordefinierter Zertifikatsvorlagen anzufordern und zu erhalten.Wie bereits erwähnt, enthält ein Zertifikat verschiedene Felder mit Informationen darüber, wie und wofür das Zertifikat verwendet werden soll. Schauen wir uns einige dieser Felder und die erwarteten Werte genauer an:
Seriennummer
Kennung für ein von der Zertifizierungsstelle zugewiesenes ZertifikatIssuer
Gibt an, wer das Zertifikat ausgestellt hat, normalerweise eine ZertifizierungsstelleGültig von
und Gültig bis
Gibt das Datum an, ab dem das Zertifikat gültig ist, bis es abläuft.Subject
Eigentümer des ZertifikatsEnhanced Key Usages
auch bekannt als Extended Key Usages (EKUs) – Objektbezeichner (OIDs) beschreiben, wofür das Zertifikat verwendet werden kann.Die im Zertifikat enthaltenen Informationen binden eine Identität – das Subject – an das Schlüsselpaar.
EKUs und OIDs stehen in Beziehung zueinander, eine OID ist im Grunde eine Kette von Dezimalzahlen, die ein Objekt eindeutig identifiziert. Im Moment sind die EKUs, die die Authentifizierung bei AD ermöglichen, interessant und wir konzentrieren uns auf folgende:
EKU Wert | OID |
---|---|
Client-Authentifizierung | 1.3.6.1.5.5.7.3.2 |
Smart Card-Anmeldung | 1.3.6.1.4.1.311.20.2.2 |
Beliebiger Zweck | 2.5.29.37.0 |
Weitere Informationen über OIDs in PKI finden Sie in diesem PKI Solutions Post.
Nach der Installation der AD CS-Rolle als Enterprise CA muss ein Administrator zunächst Zertifikatsvorlagen erstellen und definieren. Diese werden dann von der Enterprise CA veröffentlicht und den Benutzern und Computern zur Registrierung zur Verfügung gestellt. Ohne zu sehr ins Detail zu gehen, ein Client kann nur dann ein Zertifikat anfordern, wenn er sowohl auf der Enterprise CA als auch in der Zertifikatsvorlage selbst berechtigt ist, ein solches Zertifikat zu beantragen. Weitere technische Informationen darüber, wie diese Berechtigungen festgelegt werden, können im Whitepaper im Kapitel Certificate Enrollment gefunden werden.
Wenn die Berechtigungen erteilt sind und ein Client ein Zertifikat anfordern darf, kann dies je nach AD CS-Umgebung auf unterschiedliche Weise geschehen:
Ein Beispiel: Ein Benutzer muss manuell ein neues Zertifikat für seinen Windows-Rechner anfordern. Der erste Schritt besteht darin, die grafische Benutzeroberfläche zu öffnen, indem certmgr.msc
(certlm.msc
für Computerzertifikate) in das Suchfeld von Windows eingeben wird. Öffnen Sie den Ordner Persönlich, klicken Sie mit der rechten Maustaste auf den Ordner Zertifikate und wählen Sie Alle Aufgaben, Neues Zertifikat anfordern.
Nun öffnet sich ein weiterer Assistent und alle veröffentlichten Zertifikatsvorlagen, die der Benutzer anfordern darf, werden angezeigt und können angefordert werden. Standardmässig fordert Windows dann das Zertifikat mit MS-WCCE an.
Die Angriffstechniken werden in vier verschiedene Kategorien, basierend auf den verschiedenen Angriffstechniken aus dem Whitepaper, unterteilt: Diebstahl, Persistenz, Eskalation und Domänenpersistenz. Die folgende Tabelle hilft, die Unterschiede zwischen den Kategorien zu verstehen.
Technik | Beschreibung |
---|---|
Diebstahl | Stehlen, Extrahieren und Exportieren bereits ausgestellter Computer- oder Benutzerzertifikate und privater Schlüssel. Dies geschieht mit Window’s Crypto APIs, DPAPI und PKINIT |
Persistenz | Kontopersistenz über Authentifizierungszertifikate für einen Benutzer und/oder Computer |
Eskalation | Domänen-Eskalation über anfällige/fehlkonfigurierte AD CS-Komponenten. Dazu gehören falsch konfigurierte Zertifikatsvorlagen, AD-Objekte und Zertifikatsregistrierungsoptionen. |
Domänenpersistenz | Möglichkeit, Domänenpersistenz über Zertifikatsfälschung zu erreichen, entweder durch gestohlene private CA-Schlüssel, bösartige Zertifikate oder Fehlkonfigurationen |
Um zu verstehen, welche Techniken in diesen Kategorien enthalten sind, sehen wir uns eine der Eskalations-Möglichkeiten an, wenn AD CS falsch konfiguriert ist.
Wie im Kapitel Zertifikatsregistrierung erwähnt, stehen mehrere HTTP-basierte Schnittstellen für die Zertifikatsregistrierung zur Verfügung, sofern sie installiert sind. Diese HTTP-Schnittstellen sind im Allgemeinen anfällig für NTLM-Relay-Angriffe. Ein Angreifer auf einem kompromittierten Rechner könnte die Net-NTLMv2-Authentifizierung manipulieren und sich als dieses AD-Konto ausgeben, um Zugriff auf Zertifikatsanforderungen zu erhalten oder andere Operationen im Namen des Benutzers durchzuführen. Dies könnte zu Sicherheitsproblemen wie unbefugtem Zugriff und der Ausstellung nicht autorisierter Zertifikate führen.
Gehen wir einen möglichen Angriff durch, bei dem AD CS für ESC8 anfällig ist:
Wenn die Angriffstechniken bekannt sind, ist es etwas einfacher, sich gegen sie zu schützen. Will Schroeder und Lee Christensen haben diese Abwehrtechniken bereits nummeriert und kategorisieren diese defensiven Techniken in präventive und detektive Massnahmen. Das Tool PSPKIAudit kann zur Auflistung von fehlkonfigurierten Vorlagen verwendet werden. Nach der Identifizierung von Fehlkonfigurationen ist es empfehlenswert, sich mit den Defensivtechniken zu befassen und den Abschnitt Defensive Guidance zu befolgen, um sie entsprechend zu verwalten. Wir werden nicht auf die verschiedenen Kontrollen eingehen und wie sie den offensiven Techniken zugeordnet werden, da dies im Whitepaper gut beschrieben ist, ich möchte jedoch kurz auf die Präventivmassnahmen gegen die ESC8-Schwachstelle eingehen.
Die effektivste Methode, um die ESC8-Schwachstelle zu verhindern, besteht darin die AD CS HTTP-Endpunkte gar nicht erst zu aktivieren. Um zu ermitteln welche Endpunkte aktiviert sind, und sie zu entfernen, verbinden Sie sich mit dem Server, auf dem die AD CS-Rolle ausgeführt wird, öffnen Sie die App Server Manager und verwenden Sie den Assistenten Rollen und Funktionen entfernen.
Wenn die Endpunkte notwendig sind und es nicht möglich ist, sie zu entfernen, könnten diese Abwehrmassnahmen gegen ESC8 in Betracht gezogen werden.
Active Directory Certificate Services können sehr schnell komplex werden und sind in den meisten Umgebungen nicht einfach zu implementieren und zu sichern. Die verschiedenen Möglichkeiten, wie AD CS konfiguriert, erweitert und für verschiedene Anwendungsfälle angepasst werden kann, machen es schwer, dies effektiv abzusichern. Die verschiedenen Techniken des Zertifikatsmissbrauchs ermöglichen Angreifern in kurzer Zeit von Credential Theft über Domain Persistence bis hin zu Domain Escalation zu gelangen. Die erwähnten Tools Certify (AD CS Enumeration) und PSPKIAudit (Auditing AD CS) eignen sich hervorragend, um etwaige Schwachstellen in der Infrastruktur aufzuzeigen, die dann behoben werden können. Falls noch nicht geschehen, empfiehlt es sich, die AD CS-Umgebung und die Zertifikatsvorlagen kontinuierlich zu überprüfen. Zusammengefasst: Nicht nur die Domänencontroller müssen geschützt werden, sondern auch die CA-Server, behandeln Sie sie wie ein Tier 0 System
Unsere Spezialisten kontaktieren Sie gern!
Eric Maurer
Unsere Spezialisten kontaktieren Sie gern!