Come trovare la data di creazione di un account utente locale?


8

Vorrei ottenere la data di creazione di un account utente locale (Win 7 se è importante). Ho esaminato i seguenti oggetti WMI (e ovviamente Google):

Win32_UserAccount Win32_NetworkLoginProfile

Gli oggetti restituiti NetworkLoginProfilehanno l'ora dell'ultimo accesso, ma non la data di creazione. Il controllo della Date Createdproprietà della cartella del profilo indica semplicemente la data di creazione della cartella , non necessariamente l'account stesso.


2
Per aggiungere dalla chat: posso vedere l'hive dell'utente nella data di creazione del registro, ma si basa solo sul loro primo accesso, non sulla data di creazione dell'account.
TheCleaner,

Risposte:


10

I dati sono nel SAM ma non sembrano essere documentati pubblicamente da Microsoft e non trovo un'API ufficiale per recuperarli. Vedo, guardando il codice sorgente chntpwdell'utilità, che il valore è archiviato nella chiave di registro "F" per ciascun account. Dimentica il codice sorgente:

#define USER_F_PATH "\\SAM\\Domains\\Account\\Users\\%08X\\F"

struct user_F {
  ...
  char t_creation[8]; /* Time of account creation */
  ...
}

Il progetto forensics regripper ha un plugin, samparse che riporterà la data di creazione dell'account.

Uno strumento forense probabilmente non è quello che vuoi, ma sembra che Microsoft non lo stia semplificando.


Nella ricerca di questo ho trovato divertente che un MVP di Microsoft non sapesse che i dati di creazione dell'account sono memorizzati nel SAM . A suo vantaggio, forse non è lontano chntpwdall'utilità, che è dove ho iniziato la mia ricerca di informazioni sulle strutture SAM non documentate.


le tue idee sono intriganti per me e desidero --- iscriviti alla tua newsletter --- , intendo imparare come usare questo strumento per provare questo. Per caso, avresti qualche collegamento di cui potrei avvalermi a tal fine? (Accidenti, ribasso!)
HopelessN00b,

Solo il link al progetto regripper sopra. Non l'ho usato, personalmente, ma sembra abbastanza facile da gestire. Sembra che sia stato incluso in Kali Linux ora ( bugs.kali.org/print_bug_page.php?bug_id=246 ) se preferisci semplicemente avviare un CD live anziché installare un ambiente Perl per eseguire regripper. Apparentemente c'era un libro scritto attorno a questi strumenti. Sembra costoso: amazon.com/Windows-Registry-Forensics-Advanced-Forensic/dp/… Probabilmente dovrei giocare con questi strumenti ad un certo punto ... Non ho avuto occasione di farlo.
Evan Anderson,

Penso che Evan
debba delle

Non ho provato gli strumenti. Stai scoprendo che la data non viene popolata?
Evan Anderson,

Non sono sicuro se hai già visto la mia risposta di seguito, ma il campo indicato come "data di creazione" è in realtà "ultima modifica password", che ovviamente avrà lo stesso valore fino alla modifica della prima password di creazione post-account.
charleswj81,

3

L'unico modo per sapere effettivamente sarebbe avere il controllo di gestione dell'account abilitato sul calcolo r quando l'account è stato creato. Quindi, vedresti EventID 4720 nel registro eventi alla data di creazione. (L'articolo dice Active Directory, ma lo stesso vale anche per gli account locali; ho controllato.)

Senza quello, il più vicino che puoi trovare è controllando la data di creazione sull'hive del registro dell'utente, sul ntuser.datfile, sulla cartella del profilo utente ecc., Ma come menzionato nei commenti, questo è accurato solo per quanto riguarda il primo accesso dell'utente, dato che è quando quelle cose sono creati.

Sfortunatamente per te, questo è un caso di "se non l'hai registrato, allora quell'informazione non esiste."


1

Stavo per darti uno script POC PowerShell per estrarre ed analizzare i tempi di creazione, ma mi sono reso conto che chntpwla logica non è corretta. Il valore che chiama l'ora di creazione è in realtà l'ora dell'ultima impostazione della password, sebbene questi valori siano gli stessi alla creazione dell'account iniziale. Vedi qui per una descrizione esaustiva del SAM.

Il secondo link di Evan, infatti samparse, potrebbe farlo bene. Guardare in realtà funziona. Se guardi la sua fonte qui , linea 99:

$c_date = $create->get_timestamp();

vedrai che chiama get_timestampda Perl Parse::Win32Registry. Sono abbastanza sicuro che in realtà sia l'ultimo tempo di scrittura della chiave. Poiché sembra che quel particolare tasto ( HKLM\SAM\SAM\Domains\Account\Users\Names\<USERNAME>) contenga solo un puntatore al tasto RID corrispondente, non dovrebbe cambiare dopo la creazione e l'ultimo tempo di scrittura sarà uguale al tempo di creazione.

Voglio rimanere con più strumenti integrati, ecco una serie di articoli di Scripting Guy che spiegano come tramite PowerShell:

Utilizzare PowerShell per accedere al timestamp dell'ultima modifica del registro

Riutilizzo del codice timestamp del registro di PowerShell

Creare una funzione proxy per visualizzare i timestamp delle chiavi di registro

Sfrutta i timestamp delle chiavi di registro tramite PowerShell


-3

Questo comando in PowerShell dovrebbe fare il trucco:

systeminfo | findstr /C:"Install Date"

1
Come è correlato? Hai letto la domanda?
Sven

-5

Passare tramite Risorse del computer a

C: \ Users e vedrai tutti gli account utente elencati sul computer locale. È possibile fare clic con il pulsante destro del mouse sull'account utente appropriato e andare su Proprietà e ti mostrerà una data di creazione, dovrebbe essere la stessa della creazione dell'account utente

Solo i miei 2 centesimi


2
-1 - Ciò mostra quando è stata creata la directory del profilo. Ciò non ti dice quando è stato creato l'account poiché la directory del profilo può essere eliminata e ricreata in qualsiasi momento dopo la creazione dell'account.
Evan Anderson,

Sebbene ciò sia possibile, il 99% delle volte sarà accurato, e questo è abbastanza buono per la maggior parte
Kevin,

Mi è sempre stato detto di mantenerlo semplice ... sembra che entrambi otteniamo la stessa risposta, dovevi andare a scrivere un programma e ho appena preso i dati già disponibili di fronte a te
Kevin,

2
Mi dispiace Kevin, quasi non lo taglia per questa particolare soluzione. In particolare, questo doveva essere fatto per i computer in un laboratorio, dove le cartelle dei profili dovevano essere eliminate regolarmente per mantenere i tempi di accesso accettabili e sprecare spazio, quindi questa soluzione non è in alcun modo plausibile, dato che quella data è solo una data di creazione della cartella, non una data di creazione del profilo utente .
MDMoore313,

1
@Kevin La risposta "keep it simple" è la mia, ovvero che non può essere eseguita, a meno che il controllo non sia stato abilitato prima della creazione dell'account, sebbene la creazione dell'hive del registro utente, del file ntuser.dat o della cartella del profilo utente possa fornire un'approssimazione. La risposta complessa è EvanAnderson, che in realtà funziona, con mia grande sorpresa.
HopelessN00b,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.