Awesome Hardening del Dominio Windows 
Una lista curata di fantastiche tecniche di hardening della sicurezza per Windows.
Creata da gepeto42 e PaulWebSec, ma fortemente ispirata alla ricerca di PyroTek3!
Riepilogo
Questo documento riassume le informazioni relative al talk di DerbyCon di Pyrotek e Harmj0y, intitolato "111 Attacking EvilCorp Anatomy of a Corporate Hack". Video e slide sono disponibili qui sotto.
Include inoltre tecniche di hardening necessarie per prevenire altri attacchi, incluse le tecniche discusse da gepeto42 e joeynoname durante il loro talk al THOTCON 0x7.
Manca qualcosa? Crea una Pull Request e aggiungila.
Punto d'ingresso iniziale
- Nessuno sforzo di hardening dovrebbe andare a scapito dell'aggiornamento dei sistemi operativi.
- Distribuisci EMET sulle Workstation (Fine del supporto a luglio 2018 - Considera di mantenere EMET per Windows 7, ma dai priorità agli aggiornamenti a Windows 10 ed Edge).
- Usa AppLocker per bloccare l'esecuzione di contenuti eseguibili nelle posizioni utente (directory home, percorso del profilo, temp, ecc.).
- Hardening contro gli attacchi DMA? Ecco qui e un interessante articolo di Synacktiv sugli attacchi DMA
- Gestisci l'esecuzione di PowerShell tramite AppLocker o la modalità linguaggio vincolato (Constrained Language Mode).
- Abilita la registrazione di PowerShell (v3+) e la registrazione dei processi di comando.
- Blocca le macro di Office (Windows e Mac) sui contenuti scaricati da Internet.
- Distribuisci strumenti di sicurezza che monitorano i comportamenti sospetti. Considera l'uso di WEF per inoltrare solo gli eventi interessanti al tuo SIEM o al sistema di logging.
- Limita le capacità bloccando/restringendo gli allegati via email/download:
- Estensioni eseguibili:
- (ade, adp, ani, bas, bat, chm, cmd, com, cpl,
crt, hlp, ht, hta, inf, ins, isp, job, js, jse, lnk, mda, mdb,
mde, mdz, msc, msi, msp, mst, pcd, pif, reg, scr, sct, shs,
url, vb, vbe, vbs, wsc, wsf, wsh, exe, pif, ecc.)
- File Office che supportano le macro (docm, xlsm, pptm, ecc.)
- Assicurati che questi tipi di file siano bloccati.
- Blocca le estensioni di file Excel dimenticate/inutilizzate: IQY, SLK
- Cambia il programma predefinito per tutto ciò che si apre con Windows scripting in notepad (testa prima!)
- bat, js, jse, vbe, vbs, wsf, wsh, hta, vbs, ecc.
- GPO: User Configuration -> Preferences -> Control Panel Settings -> Folder Options -> Open With
- Action: Replace
- File Extension: (extension)
- Associated Program: %windir%\system32\notepad.exe
- Set as default: Enabled.
- Prevenire l'attivazione dei pacchetti OLE in Office con l'impostazione di registro PackagerPrompt
Ricognizione
- Distribuisci Windows 10 e limita l'enumerazione dei gruppi locali.
- Limita la comunicazione da workstation a workstation.
- Aumenta la sicurezza sui GPO sensibili.
- Valuta la distribuzione di analisi comportamentali (Microsoft ATA).
"Prevenzione" di BloodHound:
- Usa NetCease per prevenire l'enumerazione delle sessioni da parte di utenti non privilegiati.
- Usa Samri10 per prevenire la raccolta degli amministratori locali da parte di utenti non privilegiati (questa correzione esiste già in Windows 10 1607 e versioni successive).
Movimento Laterale
- Configura i GPO per impedire agli account locali l'autenticazione di rete (KB2871997).
In aggiunta a questo KB, l'articolo di Countercept raccomanda altre due modifiche al registro di sistema:
- Imposta
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TokenLeakDetectDelaySecs = 30. Questo cancellerà le credenziali degli utenti disconnessi dopo 30 secondi (replicando il comportamento di Windows 8.1+)
- Imposta
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest\UseLogonCredential = 0. Questo impedirà che le credenziali Wdigest vengano memorizzate in memoria, come peraltro avviene per impostazione predefinita in Windows 8.1+.
- Assicurati che le password degli account amministratore locali vengano cambiate automaticamente (Microsoft LAPS) e rimuovi gli account amministratore locali extra.
- Limita la comunicazione da workstation a workstation (Windows Firewall).
- Testa psexec con credenziali valide tra due workstation. Se funziona, hai un problema di movimento laterale.
Escalation dei privilegi
- Rimuovi i file con password in SYSVOL (inclusi i GPP).
- Assicurati che gli amministratori non accedano a sistemi non affidabili (workstation normali) configurando le assegnazioni dei diritti utente DENY tramite GPO.
- Fornisci Privileged Access Workstation o PAW per tutto il lavoro altamente privilegiato. Queste non dovrebbero mai avere accesso a Internet.
- Usa Managed Service Account per gli SA quando possibile (FGPP)
- Per i sistemi che non supportano i Managed Service Account, distribuisci una Fine-Grained Password Policy per garantire che le password siano >32 caratteri.
- Assicurati che tutti i computer utilizzino NTLMv2 e Kerberos, nega LM/NTLMv1.