Autenticazione e gestione utenti in ambiente Windows
Transcript
Autenticazione e gestione utenti in ambiente Windows
Password Sistema di autenticazione Gestione password e authentication policy Autenticazione e gestione utenti in ambiente Windows Roberto Paleari, Alessandro Rinaldi Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2007/2008 17 Ottobre 2007 Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Sommario 1 Password 2 Sistema di autenticazione 3 Gestione password e authentication policy Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Tipologie di password Una password non è memorizzata in chiaro Due formati (detti hash): “hash” LM obsolete (∼ 20 anni) hash NT a.k.a. Unicode hash o MD4 hash; utilizzate sui sistemi moderni Di default, una password di meno di 15 caratteri è memorizzata in entrambi i formati Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy “Hash” LM (LAN Manager) mantenuto per ragioni di compatibilità (es. Windows 95/98) non è un vero e proprio hash diversi problemi di sicurezza (vedi slide seguente) no salting Disabilitare “hash” LM Diversi metodi: HKLM\SYSTEM\CurrentControlSet\Control\Lsa → (DWORD) NoLMHash = 1 opzione in Criteri locali\Opzioni di protezione usare password di almeno 15 caratteri Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Generazione “hash” LM password maiuscolo, NULL-padded a 14 byte 7 byte high 7 byte low chiave stringa "KGS!@#$%" chiave DES DES stringa "KGS!@#$%" + “hash” LM (16 byte) Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Generazione “hash” LM password maiuscolo, NULL-padded a 14 byte crackabili separatamente 7 byte high 7 byte low chiave stringa "KGS!@#$%" chiave DES DES no caratteri minuscoli (facilita crack hash NT) stringa "KGS!@#$%" + “hash” LM (16 byte) Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Hash NT Generazione hash NT password hash NT (16 byte) MD4 “vero” hash (MD4) supporta l’intero charset Unicode max 256 caratteri (127 per limiti della finestra di logon interattivo) no salting Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Database SAM (Security Accounts Manager) contiene informazioni su utenti e gruppi presenti nel sistema memorizzato nel registro: HKLM\SAM opera nel security context di LSA (Local Security Authority) ⇒ necessari privilegi di System per accedervi: psexec.exe -i -s %windir%\regedit.exe Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Recupero hash pwdump6 eseguire pwdump6 127.0.0.1 (come admin) → dump hash presenti nel database SAM database SAM accessibile solo da SYSTEM pwdump6 fa DLL injection in lsass.exe John the Ripper supporta cracking di “hash” LM (e anche hash NT, se patchato) Esempio C:\Utils\pwdump6>pwdump6.exe 127.0.0.1 ... Administrator:500:6a98eb0fb88a449cbe6fabfd825bca61:a414171... laser:1003:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae9... Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Analisi database SAM 1 RID utente da HKLM\SAM\SAM\Domains\Account\Users\Names 2 aprire HKLM\SAM\SAM\Domains\Account\<RID>\V 3 offset nome utente → *((DWORD*) 0x0c) + 0xcc; lunghezza nella DWORD successivaa 4 offset “hash” LM → *((DWORD*) 0x9c) + 0xcc; lunghezza nella DWORD successiva 5 segue hash NT a tutte le DWORD sono little endian Nota gli hash ottenuti sono gli stessi restituiti da pwdump6? Non sempre. . . Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Syskey utility syskey.exe aggiunta a Windows NT 4.0 (SP3) per proteggere il database SAM gli hash vengono cifrati con una chiave 1 2 3 mantenuta nel registro ottenuta da passphrase inserita al boot registrata su floppy a partire da Windows 2000 è abilitato di default (opzione 1) a gli hash sono mantenuti in memoria in chiaro (vedi pwdump6) a HKLM\System\CurrentControlSet\Control\Lsa Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Architettura sistema di autenticazione SAS Winlogon LSA MSV1 0 GINA SAM autenticazione completata Nuovo processo Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Componenti sistema di autenticazione: SAS e Winlogon SAS – Secure Attention Sequence di default corrisponde alla sequenza di tasti CTRL+ALT+DEL winlogon.exe si registra per la SAS durante il boot, impedendo ad altri processi di intercettarla Winlogon (winlogon.exe) Gestisce interazioni sicure con l’utente, tra cui: ricezione/dispatching SAS lockdown del desktop caricamento profilo utente gestione screen saver Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Winlogon – Gestione desktop Winlogon crea e gestisce il passaggio tra 3 desktop distinti: Winlogon secure desktop; solo Winlogon può accedervi → anti-keylogger Screen-saver utilizzato per l’esecuzione di uno screen saver Default utilizzato per l’esecuzione della shell e altre applicazioni dell’utente Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Componenti sistema di autenticazione: GINA e LSA GINA – Graphical Identification and Authentication (msgina.dll) processing SAS e attivazione shell utente a (default: explorer.exe) nella versione di default, mostra la dialog box per inserimento username/password personalizzabile per supportare diversi metodi di autenticazione a HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon LSA – Local Security Authority (lsass.exe) subsystem che conserva tutte le informazioni relative alla sicurezza del sistema operativo locale si occupa (tra l’altro) di verificare le credenziali utente raccolte da msgina.dll Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Gestione password snap-in MMC “Utenti e gruppi locali”: creazione/rimozione utenti e gruppi modifica/rimozione password utenti gestione membership gruppi unlocking utenti ... Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Gestione authentication policy In “Criteri di protezione locale” (Pannello di controllo o MMC) è possibile configurare in modo granulare le politiche di autenticazione. Alcuni esempi: Criteri account\Criterio password gestione password history impostazione lunghezza minima password impostazione durata minima/massima password conformità criteri di complessità ... Criteri locali\Assegnazione diritti utente definizione diritti utenti/gruppi, ad esempio: accesso via rete logon computer locale logon via Terminal Service ... Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows Password Sistema di autenticazione Gestione password e authentication policy Bibliografia Microsoft Press, Windows XP Professional Resource Kit, Second Edition Windows XP Security Guide – http://www.microsoft.com/ technet/security/prodtech/windowsxp/secwinxp/default.mspx Threats and Countermeasures – http://www.microsoft.com/ technet/security/guidance/serversecurity/tcg/tcgch00.mspx Roberto Paleari, Alessandro Rinaldi Autenticazione e gestione utenti in ambiente Windows