
Un toolkit AD CS per amministratori AD, professionisti della sicurezza difensiva e sporchi red teamer

Locksmith 2 è un modulo PowerShell completo per l'audit dell'infrastruttura Active Directory Certificate Services (AD CS). Identifica misconfigurazioni di sicurezza nei template dei certificati, nelle autorità di certificazione e negli oggetti dell'infrastruttura PKI sulla base delle tecniche ESC (Escalation) consolidate.
Progettato per amministratori AD, professionisti della sicurezza e penetration tester, Locksmith 2 offre:
Locksmith 2 rappresenta la nuova generazione della linea Locksmith di strumenti open-source per la sicurezza AD CS, migliorando l'originale con una migliore organizzazione del codice, una reportistica potenziata e un'analisi del rischio più approfondita.
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
| Tecnica | Descrizione | Oggetti target | Sotto-tecniche |
|---|---|---|---|
| ESC1 | Template di certificati mal configurati | Template | — |
| ESC2 | Abuso di SubCA dei certificati | Template | — |
| ESC3 | Restrizioni dell'agente di registrazione | Template | ESC3c1, ESC3c2 |
| ESC4 | Controllo degli accessi vulnerabile | Template | ESC4a (ACL), ESC4o (proprietario) |
| ESC5 | Controllo degli accessi agli oggetti PKI vulnerabile | Oggetti dell'infrastruttura | ESC5a (ACL), ESC5o (proprietario) |
| ESC6 | EDITF_ATTRIBUTESUBJECTALTNAME2 abilitato | CA | — |
| ESC7 | Ruoli di amministratore/gestore CA vulnerabili | CA | ESC7a (amministratore), ESC7m (gestore) |
| ESC8 | Endpoint di registrazione web vulnerabili | CA | — |
| ESC9 | Mappature dei certificati deboli | Template | — |
| ESC11 | Crittografia RPC mancante | CA | — |
| ESC13 | Criterio di applicazione OID collegato a un gruppo | Template | — |
| ESC16 | Estensioni di sicurezza CRL/AIA disabilitate | CA | — |
Per informazioni dettagliate sulle tecniche ESC, consultare Certified Pre-Owned di SpecterOps.
Invoke-Locksmith2Esegue una scansione completa dell'audit di sicurezza AD CS per tutte le vulnerabilità ESC note.
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-LS2VulnerableTemplateAnalizza i template di certificati alla ricerca di specifiche vulnerabilità ESC.
Find-LS2VulnerableTemplate -Technique <String>
# Supported: ESC1, ESC2, ESC3c1, ESC3c2, ESC4a, ESC4o, ESC9, ESC13
Restituisce: oggetti LS2Issue per uso programmatico
Find-LS2VulnerableCAAnalizza le autorità di certificazione alla ricerca di problemi di configurazione e assegnazioni di ruoli pericolose.
Find-LS2VulnerableCA -Technique <String>
# Supported: ESC6, ESC7a, ESC7m, ESC8, ESC11, ESC16
Restituisce: oggetti LS2Issue per uso programmatico
Find-LS2VulnerableObjectAnalizza gli oggetti dell'infrastruttura PKI (container, account computer) alla ricerca di problemi di sicurezza.
Find-LS2VulnerableObject -Technique <String>
# Supported: ESC5a, ESC5o
Restituisce: oggetti LS2Issue per uso programmatico
Get-LS2StoresRestituisce gli archivi dati interni popolati durante gli audit per ispezione e analisi.
Get-LS2Stores [-Name <String>]
# Valid -Name values: PrincipalStore, AdcsObjectStore, DomainStore, IssueStore,
# SafePrincipals, DangerousPrincipals, StandardOwners
# Omit -Name to return all stores.
Restituisce:
Set-LS2ForestImposta la foresta di destinazione per la scansione. Utile per eseguire più scansioni o utilizzare le funzioni Find-LS2Vulnerable* in modo indipendente.
Set-LS2Forest -Forest <String>
Set-LS2CredentialImposta le credenziali per le query AD. Utile per eseguire più scansioni o utilizzare le funzioni Find-LS2Vulnerable* in modo indipendente.
Set-LS2Credential -Credential <PSCredential>
Find-LS2RiskyPrincipalPassa da un'analisi del rischio incentrata sulla configurazione a una incentrata sui principal. Aggrega le vulnerabilità per singolo principal per mostrare quali utenti o account di servizio hanno la maggiore esposizione ad AD CS.
Find-LS2RiskyPrincipal [-Technique <String>] [-MinimumIssueCount <Int>] [-Top <Int>] [-Rescan]
Restituisce: PSCustomObject con Principal, IssueCount, Techniques, VulnerableObjects, Issues
New-LS2DashboardGenera una dashboard HTML interattiva dai risultati della scansione corrente. PSWriteHTML è incluso (vendored) — non è necessaria un'installazione separata.