In der vermeintlich guten Absicht, damit die Ausstellung solcher Zertifikatanforderungen mit einem SAN möglich zu machen, raten leider viel zu viele Anleitungen dazu, auf der Zertifizierungsstelle das Flag EDITF_ATTRIBUTESUBJECTALTNAME2 zu aktivieren.
Aktiviert man dieses Flag, wird eine sehr große Angriffsfläche geboten, da nun jeder Antragsteller die Zertifizierungsstelle anweisen kann, Zertifikate mit beliebigen Inhalten auszustellen. Diese Art von Angriffen ist in der Security-Szene als ESC6 und ESC7 bekannt.
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.
ESC6 and ESC7 nutzen Zertifitzierungsstellen aus, welche das EDITF_ATTRIBUTESUBJECTALTNAME2 flag global aktiviert haben. Wenn dieses Flag in der Konfiguration einer Zertifizierungsstelle aktiviert ist – sei es absichtlich oder aus versehen – kann ein Angreifer einen Antrags-Attribut mit böswilligem Inhalt an die Zertifizierungsstelle senden, während er einen Zertifikatantrag einreicht. Die Zertifizierungsstelle wird dann angewiesen, den Inhalt des übermittelten Attributs in die Subject Alternative Name (SAN) des ausgestellten Zertifikats einzutragen, unabhängig was in der Zertifikatvorlage konfiguriert wurde.
TameMyCerts stellt sicher, dass solche Versuche, die Zertifizierungsstelle auszunutzen erkannt und verhindert werden, wenn das Flag aus der Zertifizierungsstelle aktiviert sein sollte. Der abgelehnte Zertifikatantrag wird wird protokolliert, sodass eine Alarmierung und weitere Maßnahmen erfolgen können.
Der Umstand, dass TameMyCerts böswillige Antrags-Attribute erkennen und entsprechende Versuche protokollieren kann ist Kern des Certiception Honeypot Toolkit für Active Directory Certificate Services und erlaubt so, Angreifer frühzeitig zu entlarven.
Administrators aktivieren das genannte Flag manchmal in der Absicht, somit SAN-Zertifikaterweiterungen an Zertifikatanforderungen anzuhängen, welche diesen nicht beinhalten, beispielsweise weil die verwendete Anwendung oder Appliance keine Zertifikatanträge mit SAN erstellen kann. In den meisten Fällen handelt es sich um Webserver-Zertifikate, welche eine SAN-Erweiterung benötigen, damit moderne Browser die Verbindung akzeptieren. Um dieses Problem zu lösen, hat TameMyCerts eine entsprechende Funktion, um erkannte DNS-Namen und IP-Addressen aus dem Subject Distiguished Name sicher und automatisch in eine neu erstellte SAN-Erweiterung zu übertragen.
Weiterführende Links:
- Ein Policy Modul, um sie zu bändigen: Vorstellung des TameMyCerts Policy Moduls für Microsoft Active Directory Certificate Services
- Wie das TameMyCerts Policy Modul für Active Directory Certificate Services (ADCS) eingehende Zertifikatanträge reparieren kann, um sie RFC-konform zu machen
- Gefährdung der Active Directory Gesamtstruktur durch das Flag EDITF_ATTRIBUTESUBJECTALTNAME2
- Den Subject Alternative Name (SAN) eines Zertifikats vor dessen Ausstellung verändern – aber sicher!