Angriffe auf Microsoft Zertifizierungsstellen können auf das Ausnutzen von Berechtigungen auf Zertifikatvorlagen abzielen. In vielen Fällen müssen Zertifikatvorlagen konfiguriert werden, dem Antragsteller das Recht einzuräumen, beliebige Identitäten beantragen zu können. Dies kann zur Übernehme der Identitäten von Active Directory Konten und in Folge zur Erhöhung von Rechten durch den Angreifer führen. Angriffe dieser Art werden in der Security Szene als "ESC1" bezeichnet.
TameMyCerts ist ein Policy Modul, um die Microsoft Zertifizierungsstelle (Active Directory Certificate Services) abzusichern. Es erweitert die Funktionen der Zertifizierungsstelle und ermöglicht die erweitere Anwendung von Regelwerken, um die sichere Automatisierung von Zertifikatausstellungen zu ermöglichen. TameMyCerts ist einzigartig im Microsoft-Ökosystem und steht unter einer freien Lizenz. Es kann über GitHub heruntergeladen und kostenlos verwendet werden.
TameMyCerts ist Open Source und kann kostenfrei verwendet werden. Für den Einsatz im Unternehmensbereich empfiehlt sich jedoch der Abschluss eines Wartungsvertrags. Dies stellt sicher, dass Sie qualifizierte Unterstützung erhalten und dass das Modul langfristig in hoher Qualität weiterentwickelt werden kann.
ESC1 zielt auf Zertifikatvorlagen ab, welche die Einstellung "Enrollee supplies subject" konfiguriert haben (auch "Offline"-Zertifikatvorlage genannt, da die Identität im ausgestellten Zertifikat durch den Antragsteller bestimmt wird, im Gegensatz zur "Online"-Zertifikatvorlage, wo diese aus dem Active Directory basierend auf den Anmeldedaten des Antragstellers gebildet wird).
Hat der Angreifer eine Zertifikatvorlage ausfindig gemacht, die entsprechend konfiguriert ist und ihm "Enroll" Berechtigungen gewährt, muss er nur noch einen entsprechenden Zertifikatantrag mit der gewünschten Identität bei der Zertifizierungsstelle einreichen.
TameMyCerts kann Angriffe gegen ESC1 entweder ganz verhindern, oder den entstehenden Schaden drastisch reduzieren:
- TameMyCerts kann Identitätstypen erzwingen und somit dafür sorgen, dass ausgestellte Zertifikate nur bestimmte definierte Feldtypen beinhalten.
- TameMyCerts kann Syntaxregeln auf Zertifikatanträge anwenden und somit sicherstellen, dass nur Zertifikatinhalt ausgestellt wird, der mit den definierten Namenskonventionen übereinstimmt.
- TameMyCerts kann im Zertifikatbeantragte Identitäten rückwärts gegen das Active Directory mappen und Regeln basierend auf Status, Mitgliedschaften von Sicherheitsgruppen oder Organisationseinheiten und Konto-Attributen anwenden.
Ohne TameMyCerts ist mit einer Microsoft-Zertifizierungsstelle diese feingranulare Kontrolle über den Zertifikatinhalt nicht möglich, sodass ein großes Fenster für Angriffe besteht, welches einem Angreifer im schlimmsten Fall die Übernahme der gesamten Active Directory Gesamtstruktur ermöglichen kann.
Regelverstöße werden im Ereignisprotokoll der Zertifizierungsstelle protokolliert und erlauben somit eine Alarmierung auf Regelverstöße.
Weiterführende Links:
- Ein Policy Modul, um sie zu bändigen: Vorstellung des TameMyCerts Policy Moduls für Microsoft Active Directory Certificate Services
- Angriffsvektor auf den Active Directory Verzeichnisdienst über den Smartcard Logon Mechanismus