In der Standardkonfiguration befinden sich alle Zertifizierungsstellen-Zertifikate von ins Active Directory integrierten Zertifizierungsstellen (Enterprise Certification Authority) in einem Objekt vom Typ CertificationAuthority namens NTAuthCertificates innerhalb der Configuration Partition der Active Directory Gesamtstruktur.
„Bearbeiten des NTAuthCertificates Objektes im Active Directory“ weiterlesenKategorie: Active Directory
Angriffsvektor auf den Active Directory Verzeichnisdienst über den Smartcard Logon Mechanismus
Vereinfacht ausgedrückt kann man Public Key Kryptographie auf die Annahme reduzieren, dass der private Teil eines jeden Schlüsselpaares nur dessen Inhaber bekannt ist.
Eine Zertifizierungsstelle ist für die korrekte Identifikation von Benutzern, Computern oder Ressourcen zuständig. Ihren ausgestellten Zertifikaten wird deshalb ein Vertrauensstatus eingeräumt, weil alle Teilnehmer der Annahme sind, dass ihr privater Schlüssel nur ihr bekannt ist.
Gelingt es einem Angreifer, Kenntnis des privaten Schlüssels einer Zertifizierungsstelle zu erlangen, oder zumindest Signaturen mittels des privaten Schlüssels durchzuführen, ist die Integrität der Zertifizierungsstelle nicht länger gewährleistet.
„Angriffsvektor auf den Active Directory Verzeichnisdienst über den Smartcard Logon Mechanismus“ weiterlesenDen Registrierungsdienst für Netzwerkgeräte (NDES) ohne Enterprise Administrator Berechtigungen installieren
Folgendes Szenario angenommen:
- Man installiert einen Network Device Enrollment Service (NDES) Server.
- Die Rollenkonfiguration schlägt mit folgender Fehlermeldung fehl:
Insufficient access rights to perform this operation. 0x80072098 (WIN32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS
Üblicherweise erfordert die NDES-Rollenkonfiguration, dass der installierende Benutzer Mitglied der Gruppe "Enterprise Admins" ist. Dies ist technisch jedoch nicht notwendig und widerspricht den Sicherheits-Härtungs-Empfehlungen von Microsoft, da es sich bei NDES nicht (unbedingt) um ein System handelt, welches der höchsten Sicherheitsschicht (Tier-0) zugeordnet wird.
Nachfolgend wird ein Weg beschrieben, wie man die NDES-Rolle auch ohne die geforderten Rechte konfigurieren kann.
„Den Registrierungsdienst für Netzwerkgeräte (NDES) ohne Enterprise Administrator Berechtigungen installieren“ weiterlesenDie Veröffentlichtung einer Zertifikatsperrliste (CRL) schlägt fehl mit der Fehlermeldung "Insufficient access rights to perform the operation. 0x80072098 (WIN32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS)"
Folgendes Szenario angenommen:
- Man versucht, auf einer Zertifizierungsstelle eine neue Zertifikatsperrliste (CRL) zu veröffentlichen
- Die Zertifizierungsstelle ist für die Veröffentlichung der Zertifikatsperrlisten ins Active Directory (LDAP CDP) konfiguriert.
- Die Veröffentlichung der Zertifikatsperrliste schlägt mit folgender Fehlermeldung fehl:
Insufficient access rights to perform the operation. 0x80072098 (WIN32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS)„Die Veröffentlichtung einer Zertifikatsperrliste (CRL) schlägt fehl mit der Fehlermeldung "Insufficient access rights to perform the operation. 0x80072098 (WIN32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS)"“ weiterlesen
Die Veröffentlichtung einer Zertifikatsperrliste (CRL) schlägt fehl mit der Fehlermeldung "Directory object not found. 0x8007208d (WIN32: 8333 ERROR_DS_OBJ_NOT_FOUND)"
Folgendes Szenario angenommen:
- Man versucht, auf einer Zertifizierungsstelle eine neue Zertifikatsperrliste (CRL) zu veröffentlichen.
- Die Zertifizierungsstelle ist für die Veröffentlichung der Zertifikatsperrlisten ins Active Directory (LDAP CDP) konfiguriert.
- Die Veröffentlichung der Zertifikatsperrliste schlägt mit folgender Fehlermeldung fehl:
Directory object not found. 0x8007208d (WIN32: 8333 ERROR_DS_OBJ_NOT_FOUND)„Die Veröffentlichtung einer Zertifikatsperrliste (CRL) schlägt fehl mit der Fehlermeldung "Directory object not found. 0x8007208d (WIN32: 8333 ERROR_DS_OBJ_NOT_FOUND)"“ weiterlesen
Domänencontroller überprüfen erweiterte Schlüsselverwendung (Extended Key Usage) bei Smartcard Anmeldung nicht
Wer die Smartcard Logon Funktion im Unternehmen verwenden möchte, ist gut beraten, für eine möglichst starke Sicherheitshärtung seiner Zertifizierungsstelle zu sorgen. Hierzu zählen einige essentielle Maßnahmen:
- Entfernen aller nicht notwendigen Zertifizierungsstellen-Zertifikate aus dem NTAuthCertificates Objekt im Active Directory: Jede Zertifizierungsstelle, welche sich in diesem Speicher befindet, ist im Active Directory für die komplette Gesamtstruktur für die Ausstellung von Smartcard Logon Zertifikaten berechtigt.
- Verwenden von qualifizierter Subordinierung: Einschränken der Zertifizierungsstellen-Zertifikate, sodass diesen nur für die tatsächlich ausgestellten Extended Key Usages vertraut wird. Im Fall einer Kompromittierung der Zertifizierungsstelle ist der Schaden dann auf diese Extended Key Usages beschränkt. Das "Smart Card Logon" Extended Key Usage wäre dann nur in dem Zertifizierungsstellen-Zertifikat derjenigen Zertifizierungsstelle, die auch tatsächlich solche Zertifikate ausstellt, vorhanden.
Interessant bei diesen Gedanken ist jedoch, dass die Domänencontroller bei der Anmeldung via Smartcard die Extended Key Usages überhaupt nicht überprüfen.
„Domänencontroller überprüfen erweiterte Schlüsselverwendung (Extended Key Usage) bei Smartcard Anmeldung nicht“ weiterlesenGefährdung der Active Directory Gesamtstruktur durch das Flag EDITF_ATTRIBUTESUBJECTALTNAME2
In Netz kursieren leider viel zu viele Anleitungen (auch die großen Player sind hiervon nicht ausgenommen, nicht einmal Microsoft selbst oder der Großmeister Komar), welche fatalerweise empfehlen, dass das Flag EDITF_ATTRIBUTESUBJECTALTNAME2 auf der Zertifizierungsstelle gesetzt werden sollte – angeblich damit man in der Lage wäre, für manuell gestellte Zertifikatanforderungen Zertifikate mit Subject Alternative Name (SAN) Erweiterung ausstellen zu können.
Leider ist diese Vorgehensweise nicht nur unnötig, sie hat auch einige unangenehme Nebenwirkungen, welche einem Angreifer im schlechtesten Fall dazu verhelfen können, die gesamte Active Directory Gesamtstruktur zu übernehmen.
„Gefährdung der Active Directory Gesamtstruktur durch das Flag EDITF_ATTRIBUTESUBJECTALTNAME2“ weiterlesenWelche Voraussetzungen müssen auf Infrastruktur-Seite erfüllt sein, damit Smartcard-Anmeldungen möglich sind?
Damit eine Smartcard Anmeldung erfolgreich ist, müssen in der Active Directory Umgebung einige Voraussetzungen erfüllt sein:
Übersicht über die verschiedenen Generationen von Domänencontroller-Zertifikaten
Über die Generationen der Windows-Betriebssysteme wurden verschiedene Zertifikatvorlagen für Domänencontroller etabliert. In einem aktuellen Active Directory Verzeichnisdienst wird man drei verschiedene Vorlagen für diesen Zweck finden.
- Domain Controller
- Domain Controller Authentication
- Kerberos Authentication
Nachfolgend eine Beschreibung der einzelnen Vorlagen und eine Empfehlung für die Konfiguration von Domänencontroller-Zertifikatvorlagen.
„Übersicht über die verschiedenen Generationen von Domänencontroller-Zertifikaten“ weiterlesenWarum Active Directory integrierte Zertifizierungsstellen Mitglieder der "Pre-Windows 2000 Compatible Access" Sicherheitsgruppe sind
Im Rahmen von Sicherheitshärtungsmaßnahmen gegen den Active Directory Verzeichnisdienst kommt des Öfteren die Frage auf, warum Active Directory integrierte Zertifizierungsstellen (Enterprise Certification Authority) Mitglieder der Sicherheitsgruppe Pre-Windows 2000 Compatible Access sind.
„Warum Active Directory integrierte Zertifizierungsstellen Mitglieder der "Pre-Windows 2000 Compatible Access" Sicherheitsgruppe sind“ weiterlesencertutil -dcinfo schlägt fehl mit Fehlermeldung "KDC certificates: Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)"
Folgendes Szenario angenommen:
- Domänencontroller verfügen über Zertifikate für LDAP über SSL.
- Die Zertifikate beinhalten weder das Extended Key Usage "Smart Card Logon" noch "Kerberos Authentication".
- Führt man certutil -dcinfo aus, meldet der Befehl folgende Fehlermeldung:
0 KDC certificates for DC01„certutil -dcinfo schlägt fehl mit Fehlermeldung "KDC certificates: Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)"“ weiterlesen
No KDC Certificate in MY store
KDC certificates: Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)
Die manuelle Veröffentlichung einer Zertifikatsperrliste (CRL) ins Active Directory schlägt fehl mit Fehlermeldung 0x8007202b (WIN32: 8235 ERROR_DS_REFERRAL)
Folgendes Szenario angenommen:
- Es wurde eine Offline Root Zertifizierungsstelle installiert. Der Server, auf welchem die Zertifizierungsstelle installiert ist, ist kein Domänenmitglied.
- Diese ist für die Veröffentlichungen von Sperrlisten im Active Directory konfiguriert.
- Die Sperrlisten werden mittels certutil -dspublish ins Active Directory hochgeladen.
- Der Vorgang schlägt fehl mit der folgenden Fehlermeldung:
certutil -dspublish "ADCS Labor Root CA.crl"„Die manuelle Veröffentlichung einer Zertifikatsperrliste (CRL) ins Active Directory schlägt fehl mit Fehlermeldung 0x8007202b (WIN32: 8235 ERROR_DS_REFERRAL)“ weiterlesen
ldap:///CN=ADCS Labor Root CA,CN=ADCS Labor Root CA,CN=cdp,CN=Public Key Services,CN=Services,DC=UnavailableConfigDN?certificateRevocationList?base?objectClass=cRLDistributionPoint?certificateRevocationList
ldap: 0xa: LDAP_REFERRAL: 0000202B: RefErr: DSID-03100835, data 0, 1 access points
ref 1: 'unavailableconfigdn'
CertUtil: -dsPublish command FAILED: 0x8007202b (WIN32: 8235 ERROR_DS_REFERRAL)
CertUtil: A referral was returned from the server.
Manuelle Beantragung eines Domänencontroller-Zertifikats
Es gibt Fälle, in welchen man Domain Controller Zertifikate nicht von einer Zertifizierungsstelle in der eigenen Active Directory Gesamtstruktur beziehen kann oder möchte.
In diesem Fall ist die Verwendung von Zertifikatvorlagen nicht möglich, und man muss manuell einen Zertifikatantrag (Certificate Signing Request, CSR erstellen).
Die Beantragung eines Zertifikats schlägt fehl mit der Fehlermeldung "The requested operation cannot be completed. The computer must be trusted for delegation and the current user account must be configured to allow delegation. 0x80090345 (-2146892987 SEC_E_DELEGATION_REQUIRED).". Beim Import von PFX-Dateien fehlt der private Schlüssel.
Folgendes Szenario:
- Der Import einer PFX-Datei scheint zwar erfolgreich, jedoch fehlt anschließend der private Schlüssel. Eine Überprüfung mit certutil endet mit der Fehlermeldung "Missing stored keyset".
- Die Beantragung eines Zertifikats auf einem Client schlägt mit folgender Fehlermeldung fehl:
The requested operation cannot be completed. The computer must be trusted for delegation and the current user account must be configured to allow delegation. 0x80090345 (-2146892987 SEC_E_DELEGATION_REQUIRED).„Die Beantragung eines Zertifikats schlägt fehl mit der Fehlermeldung "The requested operation cannot be completed. The computer must be trusted for delegation and the current user account must be configured to allow delegation. 0x80090345 (-2146892987 SEC_E_DELEGATION_REQUIRED).". Beim Import von PFX-Dateien fehlt der private Schlüssel.“ weiterlesen
Die Beantragung eines Zertifikats schlägt fehl mit der Fehlermeldung "A valid certification authority (CA) configured to issue certificates based on this template cannot be located, or the CA does not support this operation, or the CA is not trusted."
Folgendes Szenario angenommen:
- Man versucht, ein Zertifikat von einer Active Directory-integrierten Zertifizierungsstelle (Enterprise Certification Authority) zu beantragen.
- Hierzu verwendet man die Microsoft Management Konsole (MMC), entweder für den angemeldeten Benutzer (certmgr.msc) oder für den Computer (certlm.msc).
- Man bekommt die gewünschte Zertifikatvorlage jedoch nicht zur Auswahl angezeigt, obwohl sie korrekt auf der Zertifizierungsstelle veröffentlicht wurde.
- Der angemeldete Benutzer (oder Computer) hat auch die notwendigen Berechtigungen, Zertifikate von der betreffenden Zertifikatvorlage zu beantragen (Enroll).
- In der Liste der verfügbaren Zertifikatvorlagen innerhalb der MMC lässt man sich alle Zertifikatvorlagen anzeigen. Bei der gewünschten Zertifikatvorlage steht:
A valid certification authority (CA) configured to issue certificates based on this template cannot be located, or the CA does not support this operation, or the CA is not trusted.„Die Beantragung eines Zertifikats schlägt fehl mit der Fehlermeldung "A valid certification authority (CA) configured to issue certificates based on this template cannot be located, or the CA does not support this operation, or the CA is not trusted."“ weiterlesen