Une boîte à outils AD CS pour les administrateurs AD, les professionnels de la sécurité défensive et les red teamers mal intentionnés

Locksmith 2 est un module PowerShell complet pour l'audit de l'infrastructure Active Directory Certificate Services (AD CS). Il identifie les mauvaises configurations de sécurité dans les modèles de certificats, les autorités de certification et les objets d'infrastructure PKI, sur la base des techniques ESC (Escalation) établies.
Conçu pour les administrateurs AD, les professionnels de la sécurité et les testeurs d'intrusion, Locksmith 2 fournit :
Locksmith 2 représente la nouvelle génération de la gamme d'outils open-source de sécurité AD CS Locksmith, améliorant l'original grâce à une meilleure organisation du code, des rapports enrichis et une analyse des risques plus approfondie.
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
| Technique | Description | Objets cibles | Sous-techniques |
|---|---|---|---|
| ESC1 | Modèles de certificats mal configurés | Modèles | — |
| ESC2 | Abus de sous-CA de certificats | Modèles | — |
| ESC3 | Restrictions de l'agent d'inscription | Modèles | ESC3c1, ESC3c2 |
| ESC4 | Contrôle d'accès vulnérable | Modèles | ESC4a (ACL), ESC4o (propriétaire) |
| ESC5 | Contrôle d'accès vulnérable aux objets PKI | Objets d'infrastructure | ESC5a (ACL), ESC5o (propriétaire) |
| ESC6 | EDITF_ATTRIBUTESUBJECTALTNAME2 activé | CA | — |
| ESC7 | Rôles d'administrateur/gestionnaire de CA vulnérables | CA | ESC7a (admin), ESC7m (gestionnaire) |
| ESC8 | Points de terminaison d'inscription web vulnérables | CA | — |
| ESC9 | Mappages de certificats faibles | Modèles | — |
| ESC11 | Chiffrement RPC manquant | CA | — |
| ESC13 | Stratégie d'application OID liée à un groupe | Modèles | — |
| ESC16 | Extensions de sécurité CRL/AIA désactivées | CA | — |
Pour des informations détaillées sur les techniques ESC, consultez Certified Pre-Owned par SpecterOps.
Invoke-Locksmith2Effectue une analyse complète de sécurité AD CS pour toutes les vulnérabilités ESC connues.
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-LS2VulnerableTemplateAnalyse les modèles de certificats à la recherche de vulnérabilités ESC spécifiques.
Find-LS2VulnerableTemplate -Technique <String>
# Supported: ESC1, ESC2, ESC3c1, ESC3c2, ESC4a, ESC4o, ESC9, ESC13
Retourne : des objets LS2Issue pour un usage programmatique
Find-LS2VulnerableCAAnalyse les autorités de certification à la recherche de problèmes de configuration et d'attributions de rôles dangereuses.
Find-LS2VulnerableCA -Technique <String>
# Supported: ESC6, ESC7a, ESC7m, ESC8, ESC11, ESC16
Retourne : des objets LS2Issue pour un usage programmatique
Find-LS2VulnerableObjectAnalyse les objets de l'infrastructure PKI (conteneurs, comptes d'ordinateur) à la recherche de problèmes de sécurité.
Find-LS2VulnerableObject -Technique <String>
# Supported: ESC5a, ESC5o
Retourne : objets LS2Issue pour un usage programmatique
Get-LS2StoresRetourne les magasins de données internes remplis lors des audits pour inspection et analyse.
Get-LS2Stores [-Name <String>]
# Valid -Name values: PrincipalStore, AdcsObjectStore, DomainStore, IssueStore,
# SafePrincipals, DangerousPrincipals, StandardOwners
# Omit -Name to return all stores.
Retourne :
Set-LS2ForestDéfinit la forêt cible pour l'analyse. Utile pour exécuter plusieurs analyses ou utiliser les fonctions Find-LS2Vulnerable* indépendamment.
Set-LS2Forest -Forest <String>
Set-LS2CredentialDéfinit les identifiants pour les requêtes AD. Utile pour exécuter plusieurs scans ou utiliser les fonctions Find-LS2Vulnerable* de manière indépendante.
Set-LS2Credential -Credential <PSCredential>
Find-LS2RiskyPrincipalBascule d'une analyse des risques centrée sur la configuration à une analyse centrée sur les principaux. Agrège les vulnérabilités par principal individuel afin de montrer quels utilisateurs ou comptes de service présentent la plus forte exposition AD CS.
Find-LS2RiskyPrincipal [-Technique <String>] [-MinimumIssueCount <Int>] [-Top <Int>] [-Rescan]
Retourne : PSCustomObject avec Principal, IssueCount, Techniques, VulnerableObjects, Issues
New-LS2Dashboard