Per sbarazzarsi degli hash LM nei database SAM locali, si può fare affidamento sul famoso oggetto di dominio NoLMHash
, che indica ai client di non memorizzare gli hash delle password con l'algoritmo LM localmente ("Non memorizzare il valore hash di LAN Manager sul prossimo modifica della password ").
Tuttavia, come indica chiaramente l'etichetta della politica, non ha alcun effetto immediato sugli hash già archiviati nei database SAM di vari client. Naturalmente, ogni utente dovrà cambiare la sua password nelle prossime settimane e la politica NoLMHash
verrà applicata in modo tale che l'hash LM della nuova password non verrà più memorizzato, ma questo non è vero per nessun altro utente chi ha effettuato l'accesso su quella stessa stazione in passato (pensa allo staff IT, al supporto dell'help desk, all'utente che in precedenza possedeva lo stesso computer, ecc.). Queste password non saranno mai più cambiate su quella stessa workstation, e quindi sono ancora vulnerabili all'inversione dell'hash LM (o mi sono perso qualcosa?). Anche se queste password invertite non sono più valide a causa della politica di rotazione, un utente malintenzionato potrebbe probabilmente trovare facilmente un modello tra tutti gli utenti (se un dato hash LM è invertito, ad esempio, "Colorado$04-2014"
e questa password è scaduta, c'è ancora un possibilità che la password successiva di questo utente sia stata impostata su qualcosa come "Colorado$07-2014"
).
La mia domanda è: c'è un modo (un comando, uno script, qualunque) per scoprire se ci sono ancora hash LM memorizzati su un dato computer? Detto in un altro modo, vorrei assicurarmi che, su un dato computer, siano memorizzati solo gli hash NTLMv2.
Grazie per il tuo aiuto!