Questo documento è stato progettato per essere una risorsa informativa utile per chi desidera comprendere le specifiche tattiche, tecniche e procedure (TTP) che gli attaccanti sfruttano per compromettere Active Directory, oltre a indicazioni su mitigazione, rilevamento e prevenzione. E per comprendere l'Active Directory Kill Chain e l'attività moderna di adversary tradecraft nella post-esploitazione.
BadSuccessor - Questo repository contiene strumenti relativi all'attacco BadSuccessor, una nuova tecnica di escalation dei privilegi in Active Directory che abusa di una vulnerabilità in una funzionalità introdotta in Windows Server 2025.
AD_Miner - AD Miner è uno strumento di audit di Active Directory che sfrutta query Cypher per elaborare i dati del database a grafi #Bloodhound e scoprire debolezze di sicurezza.
Certify - Certify è uno strumento C# per enumerare e sfruttare le configurazioni errate di Active Directory Certificate Services (AD CS).
PSPKIAudit - Toolkit PowerShell per l'audit di Active Directory Certificate Services (AD CS).
PowerView - Framework PowerShell per la consapevolezza situazionale
BloodHound - Sei gradi di separazione dal Domain Admin
Impacket - Impacket è una raccolta di classi Python per lavorare con i protocolli di rete
aclpwn.py - Sfruttamento delle ACL di Active Directory con BloodHound
CrackMapExec - Un coltellino svizzero per il pentesting delle reti
ADACLScanner - Uno strumento con GUI o riga di comando utilizzato per creare report sugli elenchi di controllo di accesso discrezionali (DACL) e di sistema (SACL) in Active Directory
zBang - zBang è uno strumento di valutazione del rischio che rileva potenziali minacce agli account privilegiati
SafetyKatz - SafetyKatz è una combinazione di una versione leggermente modificata del progetto Mimikatz di @gentilkiwi e del .NET PE Loader di @subTee.
SharpDump - SharpDump è una porta in C# della funzionalità Out-Minidump.ps1 di PowerSploit.
PowerUpSQL - Un toolkit PowerShell per attaccare SQL Server
Rubeus - Rubeus è un set di strumenti C# per l'interazione diretta con Kerberos e i relativi abusi
ADRecon - Uno strumento che raccoglie informazioni su Active Directory e genera un report in grado di fornire un quadro completo dello stato attuale dell'ambiente AD target
Mimikatz - Utilità per estrarre password in chiaro, hash, codici PIN e ticket Kerberos dalla memoria, ma anche per eseguire attacchi pass-the-hash, pass-the-ticket o creare Golden Ticket
Grouper - Uno script PowerShell che aiuta a individuare impostazioni vulnerabili nei Criteri di gruppo di AD.
Powermad - Strumenti PowerShell per lo sfruttamento di MachineAccountQuota e DNS
RACE - RACE è un modulo PowerShell per eseguire attacchi alle ACL contro target Windows.
DomainPasswordSpray - DomainPasswordSpray è uno strumento scritto in PowerShell per eseguire un attacco password spray contro gli utenti di un dominio.
MailSniper - MailSniper è uno strumento di penetration testing per cercare termini specifici nelle e-mail di un ambiente Microsoft Exchange (password, informazioni interne, dettagli sull'architettura di rete, ecc.)
LAPSToolkit - Strumento per l'audit e l'attacco di ambienti LAPS.
CredDefense - Difesa di credenziali e Red Teaming per ambienti Windows
ldapdomaindump - Strumento per il dump delle informazioni di Active Directory tramite LDAP
SpoolSample - Strumento PoC per indurre gli host Windows ad autenticarsi verso altre macchine tramite l'interfaccia RPC MS-RPRN
adconnectdump - Estrazione delle password di Azure AD Connect
o365recon - Script per recuperare informazioni tramite O365 con credenziali valide
ROADtools - ROADtools è un framework per interagire con Azure AD. I
Stormspotter - Stormspotter crea un “grafo degli attacchi” delle risorse in una sottoscrizione Azure.
AADInternals - AADInternals è un modulo PowerShell per amministrare Azure AD e Office 365
MicroBurst: un toolkit PowerShell per attaccare Azure - MicroBurst include funzioni e script che supportano la discovery dei servizi Azure, l'audit delle configurazioni deboli e azioni di post-exploitation come il dump delle credenziali.
sam-the-admin - Sfruttare CVE-2021-42278 e CVE-2021-42287 per impersonare un DA partendo da un utente di dominio standard
CVE-2021-42287/CVE-2021-42278 Scanner & Exploiter. - CVE-2021-42287/CVE-2021-42278 Scanner & Exploiter. Ancora un altro exploit a basso sforzo per passare da utente di dominio ad amministratore di dominio.
ADModule - Modulo PowerShell ActiveDirectory firmato da Microsoft
ImproHound - Identifica i percorsi di attacco in BloodHound che rompono la suddivisione in livelli di AD
ADExplorerSnapshot.py - ADExplorerSnapshot.py è un ingestor di snapshot di AD Explorer per BloodHound.
orpheus - Bypassare i rilevamenti di Kerberoast con opzioni KDC modificate e tipi di crittografia
Invoke-TrimarcADChecks - Lo script PowerShell Invoke-TrimarcADChecks.ps1 è progettato per raccogliere dati da una foresta AD a dominio singolo per eseguire una valutazione della sicurezza di Active Directory (ADSA).
Create-Tiers in AD - Titolo del progetto: distribuzione automatica dei livelli di Active Directory in qualsiasi ambiente
SAMRi10 - Indurimento dell'accesso remoto SAM in Windows 10/Server 2016
Net Cease - Indurimento dell'enumerazione delle sessioni Net
PingCastle - Uno strumento progettato per valutare rapidamente il livello di sicurezza di Active Directory con una metodologia basata sulla valutazione dei rischi e su un framework di maturità
Reset the krbtgt account password/keys - Questo script consente di reimpostare la password dell'account krbtgt e le chiavi correlate, riducendo al minimo la probabilità che l'operazione causi problemi di autenticazione Kerberos
RiskySPN - RiskySPN è una raccolta di script PowerShell incentrati sul rilevamento e sullo sfruttamento degli account associati agli SPN (Service Principal Name).
Deploy-Deception - Un modulo PowerShell per distribuire oggetti esca di Active Directory
SpoolerScanner - Verifica se MS-RPRN è disponibile da remoto con PowerShell/C#
dcept - Uno strumento per distribuire e rilevare l'uso di honeytoken di Active Directory
LogonTracer - Indaga sugli accessi Windows dannosi visualizzando e analizzando il registro eventi di Windows
DCSYNCMonitor - Monitora gli attacchi DCSYNC e DCSHADOW e crea eventi Windows personalizzati per questi eventi
Sigma - Formato di firma generico per sistemi SIEM
Sysmon - System Monitor (Sysmon) è un servizio di sistema Windows e un driver di dispositivo che, una volta installato su un sistema, rimane residente anche dopo i riavvii del sistema per monitorare e registrare l'attività di sistema nel registro eventi di Windows.
SysmonSearch - Indaga su attività sospette visualizzando il registro eventi di Sysmon
ClrGuard - ClrGuard è un progetto proof of concept per esplorare la strumentazione del Common Language Runtime (CLR) per scopi di sicurezza.
Get-ClrReflection - Rileva i moduli CLR (.NET) residenti solo in memoria.
Get-InjectedThread - Get-InjectedThread esamina ogni thread in esecuzione per determinare se è il risultato di un'iniezione in memoria.
SilkETW - SilkETW e SilkService sono wrapper C# flessibili per ETW, progettati per astrarre le complessità di ETW e offrire un'interfaccia semplice per condurre ricerche e introspezione.
WatchAD - Sistema di rilevamento delle intrusioni per la sicurezza di AD
Sparrow - Sparrow.ps1 è stato creato dal team Cloud Forensics della CISA per aiutare a rilevare possibili account e applicazioni compromessi nell'ambiente Azure/m365.
DFIR-O365RC - Il modulo PowerShell DFIR-O365RC è un insieme di funzioni che consentono all'analista DFIR di raccogliere i log rilevanti per le indagini sulle compromissioni di Business Email Compromise di Office 365.
ADTimeline - Lo script ADTimeline genera una timeline basata sui metadati di replica di Active Directory per gli oggetti considerati di interesse.
Locksmith - Un piccolo strumento creato per trovare e correggere le configurazioni errate comuni nei Servizi certificati di Active Directory.
FalconHound - FalconHound è un multi-strumento per la squadra blu. Consente di utilizzare e potenziare le capacità di BloodHound in modo più automatizzato. È progettato per essere utilizzato insieme a un SIEM o a un altro strumento di aggregazione dei log.
sysmon-modular - Un repository di configurazioni Sysmon che chiunque può personalizzare
sysmon-dfir - Fonti, configurazione e come rilevare attività dannose utilizzando Microsoft Sysmon.
sysmon-config - Modello di file di configurazione Sysmon con tracciamento degli eventi di alta qualità predefinito
Controlli di sicurezza di Active Directory (di Sean Metcalf - @Pyrotek3)
Raccomandazioni generali
Gestire le password dell'amministratore locale (LAPS).
Implementare la modalità Admin limitata RDP (se necessario).
Rimuovere i sistemi operativi non supportati dalla rete.
Monitorare le attività pianificate sui sistemi sensibili (DC, ecc.).
Assicurarsi che le password di gestione OOB (DSRM) vengano modificate regolarmente e conservate in modo sicuro.
Utilizzare SMB v2/v3+
La password predefinita dell'amministratore di dominio e della KRBTGT dovrebbe essere modificata ogni anno e quando un amministratore AD lascia l'organizzazione.
Rimuovere i trust non più necessari e abilitare il filtro SID quando appropriato.
Tutte le autenticazioni di dominio dovrebbero essere impostate (quando possibile) su: "Invia solo risposta NTLMv2rifiuta LM e NTLM."
Bloccare l'accesso a Internet per DC, server e tutti i sistemi di amministrazione.
Proteggere le credenziali degli amministratori
Nessun account "utente" o computer nei gruppi di amministratori.
Assicurarsi che tutti gli account amministrativi siano "sensibili e non possano essere delegati".
Aggiungere gli account amministrativi al gruppo "Protected Users" (richiede controller di dominio Windows Server 2012 R2, DFL 2012R2 per la protezione del dominio).
Disabilitare tutti gli account amministrativi inattivi e rimuoverli dai gruppi privilegiati.
Proteggere le credenziali degli amministratori AD
Limitare l'appartenenza agli amministratori AD (DA, EA, Schema Admins, ecc.) e utilizzare solo gruppi di delega personalizzati.
Amministrazione "a livelli" per mitigare l'impatto del furto di credenziali.
Assicurarsi che gli amministratori accedano solo a workstation e server amministrativi approvati.
Utilizzare l'appartenenza temporanea ai gruppi basata sul tempo per tutti gli account amministrativi.
Proteggere le credenziali degli account di servizio
Limitare ai sistemi dello stesso livello di sicurezza.
Utilizzare gli "(Group) Managed Service Accounts" (o password >20 caratteri) per mitigare il furto di credenziali (kerberoast).
Implementare FGPP (DFL =>2008) per aumentare i requisiti delle password per gli account di servizio e gli amministratori.
Restrizioni di accesso – impedire l'accesso interattivo e limitare la capacità di accesso a computer specifici.
Disabilitare gli account di servizio inattivi e rimuoverli dai gruppi privilegiati.
Proteggere le risorse
Segmentare la rete per proteggere i sistemi amministrativi e critici.
Distribuire IDS per monitorare la rete aziendale interna.
Dispositivi di rete e gestione OOB su una rete separata.
Proteggere i controller di dominio
Eseguire solo software e servizi a supporto di AD.
Gruppi (e utenti) minimi con diritti di amministrazione/accesso ai DC.
Assicurarsi che le patch siano applicate prima di eseguire DCPromo (in particolare MS14-068 e altre patch critiche).
Convalidare le attività pianificate e gli script.
Proteggere le workstation (e i server)
Applicare le patch rapidamente, in particolare le vulnerabilità di elevazione dei privilegi.
Distribuire la patch di back-port di sicurezza (KB2871997).
Impostare la chiave di registro Wdigest a 0 (KB2871997/Windows 8.1/2012R2+): HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersWdigest
Distribuire la whitelist sulle workstation (Microsoft AppLocker) per bloccare l'esecuzione di codice nelle cartelle utente – directory home e percorso del profilo.
Distribuire la tecnologia di sandboxing delle applicazioni sulle workstation (EMET) per mitigare gli exploit di memoria delle applicazioni (0-day).
Registrazione
Abilitare il controllo avanzato
"Controllo: imposta le impostazioni delle sottocategorie dei criteri di controllo (Windows Vista o successivo) in modo da sostituire le impostazioni delle categorie dei criteri di controllo"
Abilitare la registrazione dei moduli di PowerShell ("*") e inoltrare i log al server di log centrale (WEF o altro metodo).
Abilitare la registrazione dei processi CMD e il relativo miglioramento (KB3004375) e inoltrare i log al server di log centrale.
SIEM o equivalente per centralizzare quanti più dati di log possibile.
Sistema di analisi comportamentale degli utenti per una maggiore conoscenza dell'attività degli utenti (come Microsoft ATA).
Verifiche dei professionisti della sicurezza
Identificare chi ha diritti di amministrazione AD (dominio/foresta).
Identificare chi può accedere ai controller di dominio (e i diritti di amministrazione sull'ambiente virtuale che ospita i DC virtuali).
Eseguire la scansione di domini Active Directory, OU, AdminSDHolder e GPO per individuare autorizzazioni personalizzate inappropriate.
Assicurarsi che gli amministratori AD (noti anche come Domain Admins) proteggano le proprie credenziali non accedendo a sistemi non attendibili (workstation).
Limitare i diritti degli account di servizio che sono attualmente DA (o equivalenti).
Aggiornamenti di sicurezza importanti
CVE
Titolo
Descrizione
Link
CVE-2020-1472
Vulnerabilità di elevazione dei privilegi di Netlogon
Esiste una vulnerabilità di elevazione dei privilegi quando un aggressore stabilisce una connessione di canale sicuro Netlogon vulnerabile a un controller di dominio, utilizzando il protocollo remoto Netlogon (MS-NRPC). Un aggressore che sfrutta con successo la vulnerabilità potrebbe eseguire un'applicazione appositamente progettata su un dispositivo della rete.
Esiste una vulnerabilità di manomissione in Microsoft Windows quando un aggressore man-in-the-middle riesce a bypassare con successo la protezione MIC (Message Integrity Check) di NTLM, nota anche come 'vulnerabilità di manomissione NTLM di Windows'.
Vulnerabilità di elevazione dei privilegi di Active Directory
Esiste una vulnerabilità di elevazione dei privilegi nei trust di foresta di Active Directory a causa di un'impostazione predefinita che consente a un aggressore nella foresta di trust di richiedere la delega di un TGT per un'identità proveniente dalla foresta trusted, nota anche come 'vulnerabilità di elevazione dei privilegi di Active Directory'.
Vulnerabilità di esecuzione di codice in modalità remota in Servizi Desktop remoto
Esiste una vulnerabilità di esecuzione di codice in modalità remota in Remote Desktop Services, precedentemente noti come Terminal Services, quando un aggressore non autenticato si connette al sistema di destinazione tramite RDP e invia richieste appositamente progettate, nota anche come 'vulnerabilità di esecuzione di codice in modalità remota in Servizi Desktop remoto'.
Vulnerabilità di elevazione dei privilegi di Microsoft Exchange Server
Esiste una vulnerabilità di elevazione dei privilegi in Microsoft Exchange Server, nota anche come "vulnerabilità di elevazione dei privilegi di Microsoft Exchange Server". Questa interessa Microsoft Exchange Server.
Rilevamento
Attacco
Event ID
Enumerazione di account e gruppi
4798: È stata enumerata l'appartenenza di un utente a un gruppo locale 4799: È stata enumerata l'appartenenza a un gruppo locale abilitato alla sicurezza
AdminSDHolder
4780: L'ACL è stata impostata sugli account membri dei gruppi di amministratori
4103: Registrazione dei blocchi di script 400: Ciclo di vita del motore 403: Ciclo di vita del motore 4103: Registrazione dei moduli 600: Ciclo di vita del provider
DCShadow
4742: Un account computer è stato modificato 5137: È stato creato un oggetto del servizio directory 5141: È stato eliminato un oggetto del servizio directory 4929: È stato rimosso un contesto di denominazione di origine della replica di Active Directory
Skeleton Keys
4673: È stato chiamato un servizio privilegiato 4611: Un processo di accesso attendibile è stato registrato presso l'autorità di sicurezza locale 4688: È stato creato un nuovo processo 4689: Un nuovo processo è terminato
4688: È stato creato un nuovo processo 4689: Un processo è terminato 4624: Un account ha effettuato l'accesso correttamente 4625: Un account non è riuscito ad accedere
DNSAdmin
770: La DLL del plug-in del server DNS è stata caricata 541: L'impostazione serverlevelplugindll nell'ambito . è stata impostata su <dll path> 150: Il server DNS non è riuscito a caricare o inizializzare la DLL del plug-in
DCSync
4662: È stata eseguita un'operazione su un oggetto
Password Spraying
4625: Un account non è riuscito ad accedere 4771: La pre-autenticazione Kerberos non è riuscita 4648: È stato tentato un accesso utilizzando credenziali esplicite
Nella misura massima consentita dalla legge, Rahmat Nurfauzi "@infosecn1nja" ha rinunciato a tutti i diritti d'autore e ai diritti connessi o vicini a questa opera.
Vulnerabilità di esecuzione di codice in modalità remota SMB di Windows
Il server SMBv1 in Microsoft Windows Vista SP2; Windows Server 2008 SP2 e R2 SP1; Windows 7 SP1; Windows 8.1; Windows Server 2012 Gold e R2; Windows RT 8.1; e Windows 10 Gold, 1511 e 1607; e Windows Server 2016 consente a utenti remoti malintenzionati di eseguire codice arbitrario tramite pacchetti appositamente progettati, nota anche come "vulnerabilità di esecuzione di codice in modalità remota SMB di Windows". Questa vulnerabilità è diversa da quelle descritte in CVE-2017-0144, CVE-2017-0145, CVE-2017-0146 e CVE-2017-0148.
Le implementazioni dei protocolli SAM e LSAD in Microsoft Windows Vista SP2, Windows Server 2008 SP2 e R2 SP1, Windows 7 SP1, Windows 8.1, Windows Server 2012 Gold e R2, Windows RT 8.1 e Windows 10 Gold e 1511 non stabiliscono correttamente un canale RPC, il che consente ad aggressori man-in-the-middle di eseguire attacchi di downgrade del protocollo e di impersonare gli utenti modificando il flusso di dati client-server, nota anche come "vulnerabilità di downgrade SAM e LSAD di Windows" o "BADLOCK".
La vulnerabilità in Kerberos potrebbe consentire l'elevazione dei privilegi (3011780)
Il Key Distribution Center (KDC) di Kerberos in Microsoft Windows Server 2003 SP2, Windows Vista SP2, Windows Server 2008 SP2 e R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1 e Windows Server 2012 Gold e R2 consente a utenti di dominio remoti autenticati di ottenere privilegi di amministratore di dominio tramite una firma falsificata in un ticket, come sfruttato in ambienti reali a novembre 2014, nota anche come "vulnerabilità del checksum di Kerberos".
La vulnerabilità nelle preferenze di Criteri di gruppo potrebbe consentire l'elevazione dei privilegi
L'implementazione di Criteri di gruppo in Microsoft Windows Vista SP2, Windows Server 2008 SP2 e R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1 e Windows Server 2012 Gold e R2 non gestisce correttamente la distribuzione delle password, il che consente a utenti remoti autenticati di ottenere informazioni sensibili sulle credenziali e di conseguenza acquisire privilegi sfruttando l'accesso alla condivisione SYSVOL, come sfruttato in ambienti reali a maggio 2014, nota anche come "vulnerabilità di elevazione dei privilegi delle password delle preferenze di Criteri di gruppo".