Impersonare un computer in un dominio Windows

7

Ho cercato di capire come i computer vengono identificati e concesso l'accesso a un dominio Windows. Più in particolare, mi sono chiesto se il meccanismo in questione non impedisce realmente di falsificare l'identità di un computer o meno, e in caso affermativo, allora come?

Supponendo che uno abbia accesso completo a un computer già presente nel dominio, penso che qualsiasi informazione su cui il controller di dominio si basa per l'identificazione potrebbe essere replicata su un altro computer.

(A quanto ho capito, ciò che identifica un computer in un dominio è un segreto condiviso da LSA. Secondo questo blog Technet , i segreti condivisi LSA possono essere decifrati ed estratti.)

Secondo questa risposta a una domanda su Server Fault su come ricongiungere un computer cancellato a un dominio a cui era abituato essere attivo, e qui su Information Security, questo su argomenti simili, è non possibile per far assumere a un computer anche un'identità esistente in un dominio Windows.

Se questo è vero, mi piacerebbe conoscere il principio di questo meccanismo di prevenzione. Le risposte fornite nei collegamenti precedenti non contengono informazioni sufficienti.

Se le affermazioni di cui sopra sono false, ed è infatti possibile falsificare l'identità di un computer nel dominio date le giuste circostanze, vorrei in sintesi sapere quali sarebbero i passaggi necessari.

Grazie in anticipo per qualsiasi tentativo di aiutarmi.

    
posta Oskar Lindberg 01.03.2016 - 12:33
fonte

1 risposta

6

Quando la workstation si unisce al dominio, segue:

  • Workstation crea una password casuale, chiede al controller di dominio di creare un account macchina e associarlo a questa password. L'account utente deve avere l'autorizzazione "Aggiungi macchina al dominio", gli amministratori di dominio hanno questa autorizzazione.
  • Poiché Windows non usa nomi internamente, ma usa SID per qualsiasi account, la workstation sid (può essere controllata con psgetsid ) è archiviata nel dominio con password associata (la password è memorizzata in unicodepwd come qualsiasi password utente, vedi link )
  • La macchina memorizza la password in HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets\$MACHINE.ACC . Solo NT AUTHORITY\SYSTEM ha accesso a questo alveare. Anche l'amministratore locale non ha (non è permesso dal registro, è qualcosa di hardcoded in Windows, ne sono sicuro).

  • DC e workstation cambiano periodicamente la password. Divertente, ma vecchia password memorizzata anche lì ( oldVal sottochiave). Il pass può essere ripristinato manualmente: link

Questo processo è descritto qui:   link

Poiché tutte le password per gli account sono memorizzate in HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets e solo NT AUTHORITY\SYSTEM ha accesso a questo hive, la persona dall'articolo ha usato powershell per impersonare il suo processo su questo account. Puoi fare lo stesso con psexec -i -s cmd.exe e lanciare regedit da lì. Apri $MACHINE.ACC e controllalo per CurrVal .

Questo alveare memorizza anche le informazioni sulle autorizzazioni di sicurezza per ogni account e tutto questo fa parte dei Criteri di sicurezza locali (vedi collegamento ) gestito da lsass.exe .

Quindi, per simulare il PC dovresti almeno essere in grado di:

  • Accedi ad esso
  • Essere in grado di eseguire codice come NT AUTHORITY\SYSTEM (essere amministratore locale e utilizzare lo strumento come psexec )
  • Leggi la sua password da $MACHINE.ACC
  • Leggi il suo sid (con psgetsid )

E su un'altra macchina

  • Cambia nome e SID ( sysprep può essere usato, ma non sono sicuro che tu possa impostare sid o sia scelto casualmente, vedi link )

  • Imposta la password per $MACHINE.ACC

Non sono sicuro che sia sufficiente per falsificare PC o no, ma anche questa cosa non sembra molto semplice: almeno hai bisogno delle autorizzazioni di amministratore locale su un altro PC per impersonare System, e un buon IT non ti darebbe mai questo l'accesso.

    
risposta data 01.03.2016 - 20:44
fonte

Leggi altre domande sui tag