Visualizzazione post con etichetta registro eventi. Mostra tutti i post
Visualizzazione post con etichetta registro eventi. Mostra tutti i post

venerdì 11 febbraio 2022

Windows 10: Tracciare gli accessi al FileSystem

In questo articolo verrà mostrato come tracciare gli accessi al FileSystem sul PC riprendendo quanto già visto negli articoli Windows 10: Visualizzare i tentativi di accesso al sistemaWindows 10: Verificare operazioni eseguite sugli account e cancellazione registri eventi  e Windows 10: Visualizzare i processi eseguiti da un utente sul PC.
Prima di procedere bisogna attivare l'audit (si veda l'articolo Windows 10: Attivazione audit) e, dato il numero elevato di eventi da tracciare, incrementare le dimensioni del registro eventi come indicato nell'articolo Windows 10: Aumentare la dimensione dei registri eventi.

Attivare l'audit su una cartella

Supponiamo di voler tracciare le operazioni che vengono eseguite su una cartella, ad es. C:\Test:
  • Cliccare, con il tasto destro del mouse, sulla cartella e selezionare, dal menu contestuale, la voce Proprietà.
  • Selezionare la scheda Sicurezza quindi cliccare su Avanzate.
    Proprietà cartella
    FIG 1 - Proprietà cartella

  • Selezionare la scheda Controllo quindi cliccare su Continua.
    Impostazioni avanzate di sicurezza
    FIG 2 - Impostazioni avanzate di sicurezza

  • A questo punto la finestra apparirà come in FIG 3 e saremo pronti a configurare l'audit sulla cartella. Windows consente di tracciare le operazioni eseguite da un singolo utente o da tutti gli utenti appartenenti ad un determinato gruppo. In questo articolo andremo a monitorare tutte le operazioni eseguite dagli utenti che appartengono ai gruppi Users e Administrators. Cliccare sul pulsante Aggiungi.
    Impostazioni avanzate di sicurezza, Voci di controllo
    FIG 3 - Impostazioni avanzate di sicurezza, Voci di controllo

  • Cliccare sul link Seleziona un'entità.
    Voci di controllo
    FIG 3 - Voci di controllo

  • Nella casella Immettere il nome dell'oggetto da selezionare, digitare users, cliccare sul pulsante Controlla nomi quindi confermare la scelta cliccando su OK.
    Seleziona Utente o Gruppo
    FIG 4 - Seleziona Utente o Gruppo

  • Una volta tornati alla finestra per l’impostazione dell’audit, selezionare la caselle di controllo relative alle attività che si intendono monitorare (Lettura ed esecuzione, Visualizzazione contenuto cartella, Lettura, Scrittura) e cliccare su OK per ritornare alla finestra principale dell'audit.
    Voci di controllo, Autorizzazioni di base
    FIG 5 - Voci di controllo, Autorizzazioni di base

  • Ripetere le stesse operazioni per il gruppo Administrators.
  • Ci ritroveremo in una situazione analoga a quella mostrata in FIG 6. Cliccare su OK per confermare le operazioni e chiudere la finestra Proprietà.
    Impostazioni avanzate di sicurezza
    FIG 6 - Impostazioni avanzate di sicurezza




Verifica operazioni eseguite su file o cartella (Evento ID 4656)

Per generare qualche evento da analizzare, eseguire qualche operazione all'interno della cartella come la creazione di un nuovo file di testo e la copia ed esecuzione di un file batch.
  • Avviare il Visualizzatore eventi (WIN+R e digitare eventvwr.msc seguito da invio).
  • Nel riquadro sinistro espandere Registri di Windows e selezionare il registro Sicurezza. Cliccare su Filtro registro corrente.
    Visualizzatore eventi
    FIG 7 - Visualizzatore eventi

  • L'evento che ci interessa è quello con ID 4656: È stato richiesto l'handle di un oggetto. L'evento viene generato ogniqualvolta un utente prova ad accedere a una risorsa (come un file oppure una directory) sottoposta ad audit. Nella casella contrassegnata dall'etichetta <Tutti gli ID evento> digitare l'ID 4656 e cliccare su OK.
    Filtro registro corrente
    FIG 8 - Filtro registro corrente

  • Se il numero dei risultati è elevato possiamo affinare ulteriormente la ricerca. Cliccare sul tasto Trova presente sul pannello destro della finestra. Inserire, nell'apposita casella, il nome della cartella (C:\Test) che si desidera controllare e cliccare su OK.
    Registro eventi, Trova
    FIG 9 - Registro eventi, Trova

  • L'evento contiene diverse informazioni suddivise per sezioni:
    Soggetto. Contiene informazioni relative all'utente che ha provato ad eseguire l'accesso. Tra i dati forniti in questa sezione troviamo ID Sicurezza, Nome Account, Dominio Account e l'ID accesso, un identificativo numerico che non viene ripetuto fino al successivo riavvio della macchina e che identifica la sessione di logon dell'utente consentendo di ricostruirne l'attività.
    Oggetto. Identifica l'oggetto del tentativo di accesso. In questa sezione vengono illustrati i campi Server dell'oggetto, il Tipo di oggetto, il Nome oggetto e il campo ID handle, un valore numerico che, come il campo ID accesso, non è ripetibile fino al successivo riavvio del sistema e che può essere utilizzato per ricostruire tutte le attività eseguite sull'oggetto nel corso di una sessione di lavoro.
    Informazioni sul processo. Identifica il processo/programma che ha effettuato, per conto dell'utente, l'accesso alla risorsa sotto audit. Viene indicato il Nome processo e l'ID processo.
    Informazioni di richiesta di accesso. In questa sezione vengono fornite informazioni aggiuntive sulla richiesta d'accesso tra cui l'ID transazione e il campo Accessi in cui vengono mostrati i permessi richiesti.
    Proprietà evento
    FIG 10 - Proprietà evento


Dalle proprietà dell'evento mostrato in FIG 11 si evince che il file c:\test\Nuovo documento di testo.txt è stato eliminato, attraverso il processo explorer.exe, dall'utente Virtual.
Evento ID 4656, File eliminato
FIG 11 - Evento ID 4656, File eliminato


L'evento mostrato in FIG 12 indica che il file batch C:\Test\fileBatch.bat è stato letto dal processo cmd.exe eseguito su richiesta dell'utente Virtual.
Evento ID 4656, File batch
FIG 12 - Evento ID 4656, File batch


Ricerca degli eventi tramite PowerShell

Vediamo come ricercare gli eventi all'interno del registro utilizzando PowerShell. Prendiamo come esempio l'evento mostrato in FIG 13 relativo ad un operazione eseguita all'interno della cartella C:\Test. L'evento ha come Handle ID 0x2fc8
Evento ID 4656, handle ID 0x2fc8
FIG 13 - Evento ID 4656, handle ID 0x2fc8

Possiamo effetture la ricera per l'Handle ID tramite il comando PowerShell
Get-WinEvent -FilterHashtable @{LogName='Security';data='0x2fc8'}| Format-List
PowerShell, Ricerca evento tramite Handle ID
FIG 14 - PowerShell, Ricerca evento tramite Handle ID

Ricostruire tutte le attività compiute su un oggetto o da un determinato utente  nell’ambito di una sessione di lavoro è complesso e leggere i risultati delle interrogazioni effettuate tramite PowerShell non è l'ideale.


Ricercare gli eventi tramite XPath

Per ricercare maggiori informazioni possiamo eseguire una query in formato XPath:
  • Da Visualizzatore eventi cliccare su Filtro registro corrente e nella casella <Tutti gli ID evento> digitare nuovamente l'ID 4656
  • Spostarsi sulla scheda XML. Verrà visualizzata la query XPath con i criteri di filtro inseriti. Per modificare la query manualmente selezionare la casella Modifica query manualmente e rispondere affermativamente alla successiva finestra di dialogo.
  • Modificare il contenuto della query come indicato di seguito sostituendo a 0x2c30 l'handle ID da ricercare.
    <QueryList>
      <Query Id="0" Path="Security">
        <Select Path="Security">*[System[(EventID>0)]]and *[EventData[Data[@Name='HandleId']='0x2c30']]
        </Select>
      </Query>
    </QueryList>
  • Cliccando su OK verrà eseguita la query con le condizioni specificate.
    Query XPath
    FIG 15 - Query XPath
  • Dai risultati della query notiamo, oltre all'evento con ID 4656, anche nuovi eventi non osservati in precedenza con i seguenti ID:
    4663 "Tentativo di accedere a un oggetto." che viene generato quando il processo o gli utenti individuati dall'evento ID 4656 accedono all'oggetto.
    4658 "L' handle di un oggetto è stato chiuso." che viene generato quando il processo o gli utenti individuati dall'evento ID 4656 hanno terminato di utilizzare l'oggetto.
    Risultato query XPath
    FIG 16 - Risultato query XPath

  • Per verificare le operazioni eseguite dall'utente possiamo modificare la query come indicato di seguito (sostituendo Virtual con il nome dell'utente da verificare)
    <QueryList>
      <Query Id="0" Path="Security">
        <Select Path="Security">*[System[(EventID>0)]]and *[EventData[Data[@Name='SubjectUserName']='Virtual']]
    	</Select>
      </Query>
    </QueryList>
  • Se vogliamo focalizzare la nostra attenzione sull'utente e sulle operazioni eseguite mediante Esplora file possiamo affinare la query in questo modo
    <QueryList>
      <Query Id="0" Path="Security">
        <Select Path="Security">*[System[(EventID>0)]]and*[EventData[Data[@Name='SubjectUserName']='Virtual']]and
    	*[EventData[Data[@Name='ProcessName']='C:\Windows\explorer.exe']]
    	</Select>
      </Query>
    </QueryList>
  • Per visualizzare le operazioni eseguite da un particolare utente su un determinato file utilizzando Esplora file, la query da utilizzare sarà simile alla seguente
    <QueryList>
      <Query Id="0" Path="Security">
    	<Select Path="Security">
    	*[System[(EventID>0)]]and*[EventData[Data[@Name='SubjectUserName']='Virtual']]and
    	*[EventData[Data[@Name='ProcessName']='C:\Windows\explorer.exe']]and
    	*[EventData[Data[@Name='ObjectName']='C:\Test\FilePassword.txt']]
    	</Select>
      </Query>
    </QueryList>





giovedì 5 agosto 2021

Windows 10: Verificare operazioni eseguite sugli account e cancellazione registri eventi

Quest'articolo prosegue gli argomenti trattati negli articoli Windows 10: Attivazione audit e Windows 10: Visualizzare i tentativi di accesso al sistema nei quali abbiamo visto come attivare l'audit e come visualizzare gli accessi riusciti e non riusciti al nostro sistema. 

Verificare gli accessi al sistema può non bastare ed è opportuno approfondire l'indagine al fine di individuare eventuali falle di sicurezza del sistema operativo o di uno dei software presenti sulla macchina. Per tale motivo è bene indagare anche su cosa ha effettuato il malintenzionato una volta avuto accesso al sistema come:
  • Programmi eseguiti.
  • Accessi al disco.
  • Cancellazione dei registri eventi e log al fine di nascondere l'intrusione.
  • Creazione di account utente e modifica di gruppi per lasciarsi una via di accesso nel caso in cui la vulnerabilità sfruttata per ottenere l'accesso venisse patchata.
  • Cancellazione di account utente (che potrebbero ricondurre all'intrusione).

Verificare account eliminati (Evento ID 4726)
Per verificare se qualche account è stato eliminato e chi ha eseguito l'operazione possiamo procedere nel seguente modo:
  • Avviare il Visualizzatore eventi (WIN+R e digitare eventvwr.msc seguito da invio).
  • Nel riquadro sinistro espandere Registri di Windows e selezionare il registro Sicurezza. Cliccare su Filtro registro corrente.
    Registro eventi Sicurezza
    FIG 1 - Registro eventi Sicurezza

  • Nella casella contrassegnata dall'etichetta <Tutti gli ID evento> digitare l'ID 4726 (l'ID corrisponde all'evento: Un account utente è stato eliminato) e cliccare su OK.
    Filtro registro corrente, ID 4726
    FIG 2 - Filtro registro corrente, ID 4726

  • Come visibile in figura l'evento riporta l'autore della rimozione (Nella sezione Soggetto, Nome Account: Virtual), il nome e il SID dell’utente rimosso (sezione Account di destinazione, ID sicurezza:S-1-5-21....., Nome account:Test) oltre ad altre informazioni come la data e l'ora in cui l'operazione è stata eseguita.
    Un account utente è stato eliminato
    FIG 3 - Un account utente è stato eliminato


Verificare account rimossi da gruppi (Evento ID 4733)
Per verificare se qualche utente è stato rimosso da qualche gruppo:
  • Avviare il Visualizzatore eventi (WIN+R e digitare eventvwr.msc seguito da invio).
  • Nel riquadro sinistro espandere Registri di Windows e selezionare il registro Sicurezza. Cliccare su Filtro registro corrente.
  • Nella casella contrassegnata dall'etichetta <Tutti gli ID evento> digitare l'ID 4733 (l'ID corrisponde all'evento: È stato rimosso un membro da un gruppo locale con sicurezza attivata) e cliccare su OK.
  • L'evento riporta l'autore della rimozione (Nella sezione Soggetto, Nome Account: Virtual), l'account rimosso dal gruppo (sezione Membro, ID sicurezza: DELL-XPS/Test2), il gruppo da cui è stato rimosso (Sezione Gruppo, ID sicurezza: BUILTIN/Utenti desktop remoto).
    È stato rimosso un membro da un gruppo locale con sicurezza attivata
    FIG 4 - È stato rimosso un membro da un gruppo locale con sicurezza attivata


Verificare account inseriti in gruppi (Evento ID 4732)
Nei seguenti passaggi viene mostrato come verificare se un account è stato inserito all'interno di un gruppo. Un malintenzionato può aver aggiunto un normale account utente, con privilegi limitati, al gruppo amministratore, con privilegi elevati:
  • Avviare il Visualizzatore eventi (WIN+R e digitare eventvwr.msc seguito da invio).
  • Nel riquadro sinistro espandere Registri di Windows e selezionare il registro Sicurezza. Cliccare su Filtro registro corrente.
  • Nella casella contrassegnata dall'etichetta <Tutti gli ID evento> digitare l'ID 4732 (l'ID corrisponde all'evento: È stato aggiunto un membro a un gruppo locale con sicurezza attivata) e cliccare su OK.
  • L'evento riporta l'autore dell'operazione (sezione Soggetto, Nome Account: Virtual), l'account aggiunto al gruppo (sezione Membro, ID sicurezza: DELL-XPS/Test2), il gruppo da cui è stato aggiunto (sezione Gruppo, ID sicurezza: BUILTIN/Utenti desktop remoto).
    È stato aggiunto un membro a un gruppo locale con sicurezza attivata
    FIG 5 - È stato aggiunto un membro a un gruppo locale con sicurezza attivata


Verificare creazione nuovo account (Evento ID 4720)
Per verificare se sono stati creati nuovi account utente:
  • Avviare il Visualizzatore eventi (WIN+R e digitare eventvwr.msc seguito da invio).
  • Nel riquadro sinistro espandere Registri di Windows e selezionare il registro Sicurezza. Cliccare su Filtro registro corrente.
  • Nella casella contrassegnata dall'etichetta <Tutti gli ID evento> digitare l'ID 4720 (l'ID corrisponde all'evento: È stato creato un account utente) e cliccare su OK.
  • L'evento riporta l'autore dell'operazione (sezione Soggetto, Nome Account: Virtual), l'account creato (sezione Membro, ID sicurezza: DELL-XPS/Test2, Nome account: Test2)e ulteriori informazioni.
    È stato creato un account utente
    FIG 6 - È stato creato un account utente

Verifica disconnessione dell'utente (Evento ID 4647)
Per verificare quando un utente ha effettuato il logoff basta ricercare l'evento con ID 4647:
  • Avviare il Visualizzatore eventi (WIN+R e digitare eventvwr.msc seguito da invio).
  • Nel riquadro sinistro espandere Registri di Windows e selezionare il registro Sicurezza. Cliccare su Filtro registro corrente.
  • Nella casella contrassegnata dall'etichetta <Tutti gli ID evento> digitare l'ID 4647 (l'ID corrisponde all'evento: Disconnessione avviata dall'utente) e cliccare su OK.
  • L'evento riporta l'autore (sezione Soggetto, Nome Account: Virtual), la data e l'ora dell'operazione.
    Disconnessione avviata dall'utente
    FIG 7 - Disconnessione avviata dall'utente


Verifica cancellazione del registro (Evento ID 1120)
Un utente con privilegi amministrativi sulla macchina può cancellare completamente il contenuto del registro per nascondere le proprie tracce. L'operazione, tuttavia, genera un evento con ID 1120. Per verificare se il registro è stato svuotato e da chi:
  • Avviare il Visualizzatore eventi (WIN+R e digitare eventvwr.msc seguito da invio).
  • Nel riquadro sinistro espandere Registri di Windows e selezionare il registro Sicurezza. Cliccare su Filtro registro corrente.
  • Nella casella contrassegnata dall'etichetta <Tutti gli ID evento> digitare l'ID 1120 (l'ID corrisponde all'evento: Registro di controllo cancellato) e cliccare su OK.
  •  L'evento riporta l'autore (sezione Soggetto, Nome Account: Virtual), la data e l'ora dell'operazione.
    Registro di controllo cancellato
    FIG 8 - Registro di controllo cancellato