
Un conjunto de herramientas de AD CS para administradores de AD, profesionales de seguridad defensiva y red teamers desvergonzados

Locksmith 2 es un módulo integral de PowerShell para auditar la infraestructura de Active Directory Certificate Services (AD CS). Identifica configuraciones de seguridad incorrectas en plantillas de certificados, autoridades de certificación y objetos de infraestructura PKI basándose en técnicas ESC (Escalation) establecidas.
Diseñado para administradores de AD, profesionales de la seguridad y pentesters, Locksmith 2 ofrece:
Locksmith 2 representa la próxima generación en la línea Locksmith de herramientas de seguridad AD CS de código abierto, mejorando la versión original con una mejor organización del código, informes mejorados y un análisis de riesgos más profundo.
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
| Técnica | Descripción | Objetos objetivo | Sub-técnicas |
|---|---|---|---|
| ESC1 | Plantillas de certificado mal configuradas | Plantillas | — |
| ESC2 | Abuso de SubCA de certificados | Plantillas | — |
| ESC3 | Restricciones del agente de inscripción | Plantillas | ESC3c1, ESC3c2 |
| ESC4 | Control de acceso vulnerable | Plantillas | ESC4a (ACL), ESC4o (propietario) |
| ESC5 | Control de acceso vulnerable a objetos PKI | Objetos de infraestructura | ESC5a (ACL), ESC5o (propietario) |
| ESC6 | EDITF_ATTRIBUTESUBJECTALTNAME2 habilitado | CAs | — |
| ESC7 | Roles de administrador/gestor de CA vulnerables | CAs | ESC7a (admin), ESC7m (gestor) |
| ESC8 | Endpoints de inscripción web vulnerables | CAs | — |
| ESC9 | Asignaciones de certificados débiles | Plantillas | — |
| ESC11 | Cifrado RPC ausente | CAs | — |
| ESC13 | Política de aplicación de OID vinculada a grupos | Plantillas | — |
| ESC16 | Extensiones de seguridad CRL/AIA deshabilitadas | CAs | — |
Para obtener información detallada sobre las técnicas ESC, consulte Certified Pre-Owned de SpecterOps.
Invoke-Locksmith2Realiza un escaneo de auditoría de seguridad integral de AD CS en busca de todas las vulnerabilidades ESC conocidas.
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-LS2VulnerableTemplateAnaliza las plantillas de certificados en busca de vulnerabilidades ESC específicas.
Find-LS2VulnerableTemplate -Technique <String>
# Supported: ESC1, ESC2, ESC3c1, ESC3c2, ESC4a, ESC4o, ESC9, ESC13
Devuelve: objetos LS2Issue para uso programático
Find-LS2VulnerableCAEscanea las autoridades de certificación en busca de problemas de configuración y asignaciones de roles peligrosas.
Find-LS2VulnerableCA -Technique <String>
# Supported: ESC6, ESC7a, ESC7m, ESC8, ESC11, ESC16
Devuelve: objetos LS2Issue para uso programático
Find-LS2VulnerableObjectEscanea objetos de infraestructura PKI (contenedores, cuentas de equipo) en busca de problemas de seguridad.
Find-LS2VulnerableObject -Technique <String>
# Supported: ESC5a, ESC5o
Devuelve: objetos LS2Issue para uso programático
Get-LS2StoresDevuelve los almacenes de datos internos poblados durante las auditorías para su inspección y análisis.
Get-LS2Stores [-Name <String>]
# Valid -Name values: PrincipalStore, AdcsObjectStore, DomainStore, IssueStore,
# SafePrincipals, DangerousPrincipals, StandardOwners
# Omit -Name to return all stores.
Devuelve:
Set-LS2ForestEstablece el bosque objetivo para el escaneo. Útil para ejecutar múltiples escaneos o usar las funciones Find-LS2Vulnerable* de forma independiente.
Set-LS2Forest -Forest <String>
Set-LS2CredentialEstablece credenciales para consultas a AD. Útil para ejecutar múltiples escaneos o usar las funciones Find-LS2Vulnerable* de forma independiente.
Set-LS2Credential -Credential <PSCredential>
Find-LS2RiskyPrincipalCambia de un análisis de riesgos centrado en la configuración a uno centrado en los principales. Agrega vulnerabilidades por principal individual para mostrar qué usuarios o cuentas de servicio tienen la mayor exposición a AD CS.
Find-LS2RiskyPrincipal [-Technique <String>] [-MinimumIssueCount <Int>] [-Top <Int>] [-Rescan]
Devuelve: PSCustomObject con Principal, IssueCount, Techniques, VulnerableObjects, Issues
New-LS2Dashboard