
Ein AD CS-Toolkit für AD-Administratoren, Defensive-Security-Fachleute und verdorbene Red Teamer

Locksmith 2 ist ein umfassendes PowerShell-Modul zur Prüfung der Active Directory Certificate Services (AD CS)-Infrastruktur. Es identifiziert Sicherheitsfehlkonfigurationen in Zertifikatsvorlagen, Zertifizierungsstellen und PKI-Infrastrukturobjekten basierend auf etablierten ESC-(Escalation-)Techniken.
Locksmith 2 wurde für AD-Administratoren, Sicherheitsfachleute und Penetrationstester entwickelt und bietet:
Locksmith 2 repräsentiert die nächste Generation der Open-Source-AD CS-Sicherheitstooling-Reihe Locksmith und verbessert das Original durch bessere Codeorganisation, erweiterte Berichterstattung und tiefergehende Risikoanalyse.
Install-Module -Name Locksmith2 -Scope CurrentUser -Force
git clone https://github.com/jakehildreth/Locksmith2.git
cd Locksmith2
Import-Module .\Locksmith2.psd1
Invoke-Locksmith2
New-LS2Dashboard
| Technik | Beschreibung | Zielobjekte | Untertechniken |
|---|---|---|---|
| ESC1 | Fehlkonfigurierte Zertifikatsvorlagen | Vorlagen | — |
| ESC2 | Missbrauch von Zertifikat-SubCAs | Vorlagen | — |
| ESC3 | Einschränkungen für Registrierungsagenten | Vorlagen | ESC3c1, ESC3c2 |
| ESC4 | Anfällige Zugriffskontrolle | Vorlagen | ESC4a (ACL), ESC4o (Besitzer) |
| ESC5 | Anfällige Zugriffskontrolle auf PKI-Objekte | Infrastrukturobjekte | ESC5a (ACL), ESC5o (Besitzer) |
| ESC6 | EDITF_ATTRIBUTESUBJECTALTNAME2 aktiviert | CAs | — |
| ESC7 | Anfällige CA-Administrator-/Manager-Rollen | CAs | ESC7a (Administrator), ESC7m (Manager) |
| ESC8 | Anfällige Webregistrierungs-Endpunkte | CAs | — |
| ESC9 | Schwache Zertifikatszuordnungen | Vorlagen | — |
| ESC11 | Fehlende RPC-Verschlüsselung | CAs | — |
| ESC13 | Gruppenverknüpfte OID-Anwendungsrichtlinie | Vorlagen | — |
| ESC16 | Deaktivierte CRL/AIA-Sicherheitserweiterungen | CAs | — |
Detaillierte Informationen zu ESC-Techniken finden Sie in Certified Pre-Owned von SpecterOps.
Invoke-Locksmith2Führt einen umfassenden AD CS-Sicherheitsaudit-Scan auf alle bekannten ESC-Schwachstellen durch.
Invoke-Locksmith2 [-Forest <String>] [-Credential <PSCredential>] [-Mode <Int>]
[-SkipVersionCheck] [-SkipPowerShellCheck]
[-ExpandGroups] [-Rescan]
# -Mode values:
# (omit) = return LS2Issue objects to the pipeline (default)
# 0 = Emulates Mode 0/no parameters from the original Locksmith: output issues to console as table
# 1 = Emulates Mode 1 from the original Locksmith: output issues + fix scripts to console as list
Find-LS2VulnerableTemplateDurchsucht Zertifikatsvorlagen nach bestimmten ESC-Schwachstellen.
Find-LS2VulnerableTemplate -Technique <String>
# Supported: ESC1, ESC2, ESC3c1, ESC3c2, ESC4a, ESC4o, ESC9, ESC13
Gibt zurück: LS2Issue-Objekte für die programmatische Nutzung
Find-LS2VulnerableCADurchsucht Zertifizierungsstellen nach Konfigurationsproblemen und gefährlichen Rollenzuweisungen.
Find-LS2VulnerableCA -Technique <String>
# Supported: ESC6, ESC7a, ESC7m, ESC8, ESC11, ESC16
Gibt zurück: LS2Issue-Objekte für die programmatische Verwendung
Find-LS2VulnerableObjectDurchsucht PKI-Infrastrukturobjekte (Container, Computerkonten) nach Sicherheitsproblemen.
Find-LS2VulnerableObject -Technique <String>
# Supported: ESC5a, ESC5o
Gibt zurück: LS2Issue-Objekte für die programmatische Nutzung
Get-LS2StoresGibt interne Datenspeicher zurück, die während der Audits für Inspektion und Analyse befüllt werden.
Get-LS2Stores [-Name <String>]
# Valid -Name values: PrincipalStore, AdcsObjectStore, DomainStore, IssueStore,
# SafePrincipals, DangerousPrincipals, StandardOwners
# Omit -Name to return all stores.
Gibt zurück:
Set-LS2ForestLegt die Ziel-Gesamtstruktur für das Scannen fest. Nützlich, um mehrere Scans auszuführen oder die Funktionen Find-LS2Vulnerable* unabhängig voneinander zu verwenden.
Set-LS2Forest -Forest <String>
Set-LS2CredentialLegt Anmeldeinformationen für AD-Abfragen fest. Nützlich für die Ausführung mehrerer Scans oder die unabhängige Verwendung der Funktionen Find-LS2Vulnerable*.
Set-LS2Credential -Credential <PSCredential>
Find-LS2RiskyPrincipalWechselt von der konfigurationszentrierten zur principalzentrierten Risikoanalyse. Aggregiert Schwachstellen nach einzelnen Prinzipalen, um anzuzeigen, welche Benutzer oder Dienstkonten die höchste AD CS-Exposition aufweisen.
Find-LS2RiskyPrincipal [-Technique <String>] [-MinimumIssueCount <Int>] [-Top <Int>] [-Rescan]
Gibt zurück: PSCustomObject mit Principal, IssueCount, Techniques, VulnerableObjects, Issues
New-LS2DashboardErzeugt ein interaktives HTML-Dashboard aus den aktuellen Scan-Ergebnissen. PSWriteHTML ist enthalten (vendored) — keine separate Installation erforderlich.
New-LS2Dashboard [-FilePath <String>] [-Show] [-ExpandGroups] [-Online]