Mentre usate Windows vi ritrovate sempre con un programma in esecuzione che non riuscite mai a eliminare? Siete alle prese con un messaggio di errore che appare puntualmente all’avvio e non riuscite a capire quale applicazione lo sta generando? In questa guida sveliamo un trucco che permette di monitorare programmi, processi, driver e modifiche applicate sul registro di sistema, all’avvio e durante il normalo utilizzo di Windows.
Nella sua configurazione predefinita, infatti, Windows non memorizza – sotto forma di log – i file via via eseguiti o gli interventi applicati sul registro di sistema. Sysmon è un’utilità, sviluppata da Microsoft stessa, che si appoggia al registro degli eventi del sistema operativo e ne estende enormemente le funzionalità.
Perché usare Sysmon per monitorare il comportamento di Windows
Sysmon (System Monitor) è uno strumento avanzato di monitoraggio per Windows sviluppato da Microsoft come parte della suite di strumenti Sysinternals. Il software mette a disposizione un meccanismo di monitoraggio dettagliato e continuo degli eventi di sistema, generando log che possono essere utilizzati per verificare le attività di Windows e delle applicazioni installate, ma anche per svolgere controlli approfonditi sulla sicurezza del sistema.
Una volta scaricato dai server Microsoft, Sysmon si installa come servizio di sistema che resta in esecuzione in background e raccoglie informazioni dettagliate su eventi come la creazione di processi, le modifiche al file system, le connessioni di rete, i driver caricati e così via. Tutte le informazioni sono registrate in tempo reale nel registro degli eventi di Windows.
In un altro articolo abbiamo già spiegato cos’è Sysmon e come funziona: in questa guida presentiamo il trucco per usarlo al meglio e senza alcuna difficoltà.
Installare e configurare Sysmon
Per cominciare, create una cartella c:\sysmon
ed estraetevi tutto il contenuto dell’archivio di Sysmon scaricabile da questa pagina.
Scaricate quindi il file di configurazione sysmonconfig-export.xml
cliccando sull’icona Download RAW file nell’interfaccia di GitHub. Salvate quindi il file, così com’è, nella cartella locale c:\sysmon
.
Il file sysmonconfig-export.xml
contiene una configurazione predefinita altamente raccomandata per l’uso di Sysmon. Il file è progettato per offrire una configurazione ottimale in termini di raccolta di eventi di sistema rilevanti per la manutenzione del sistema, la risoluzione di problema e la sicurezza. Contiene inoltre una serie di filtri per eliminare il “rumore” dai log: in questo modo Sysmon può registrare solo gli eventi davvero rilevanti, ignorando quelli che tipicamente non risultano utili.
A questo punto è tutto pronto per installare Sysmon come servizio di sistema. Per procedere, digitare cmd
nella casella di ricerca di Windows quindi selezionare Esegui come amministratore.
Alla comparsa del prompt dei comandi, si deve digitare quanto segue:
cd c:\sysmon
sysmon64 -accepteula -i sysmonconfig-export.xml
Come monitorare programmi, processi, driver e registro di sistema
Impartendo il comando presentato al paragrafo precedente, Sysmon si installa come servizio di sistema e comincia subito a monitorare l’attività del sistema e di tutti i componenti software presenti.
Premete quindi Windows+R
, digitate eventvwr
e premete Invio per aprire il Visualizzatore eventi del sistema operativo. Fate doppio clic su Registri applicazioni e servizi nella colonna di sinistra, selezionate le voci Microsoft, Windows, cliccate due volte su Sysmon e infine sul registro denominato Operational. Complimenti! Adesso avete accesso a tutte le informazioni registrate in tempo reale da Sysmon.
Date una scorsa alle informazioni memorizzate nel registro di Sysmon. I vari ID evento indicano operazioni differenti; ne elenchiamo alcuni a titolo esemplificativo:
- 1: Creazione di un processo
- 3: Connessione di rete
- 5: Arresto di un processo
- 11: Creazione di un file
- 12: Aggiunta o rimozione di un valore nel registro di sistema
- 13: Impostazione di un valore nel registro di sistema
- 22: Richiesta di risoluzione DNS
Usare i filtri e cercare informazioni su programmi e processi
Supponendo di ricevere un messaggio di errore relativamente a un certo file, basta portarsi nel registro di Sysmon quindi andare alla ricerca delle occorrenze facenti riferimento a tale elemento.
Per individuarle, basta cliccare su Trova, nella colonna di destra del Visualizzatore eventi, oppure servirsi del Filtro registro corrente, che permette di selezionare, ad esempio, soltanto gli eventi registrati da Sysmon con uno specifico ID.
Digitando ad esempio il nome di un file nella casella Trova, si possono individuare gli eventi relativi all’elemento indicato. Il contenuto della scheda Generale è fondamentale: qui Sysmon riporta il nome del processo coinvolto, il suo percorso, informazioni dettagliate sulla sua identità, il comando completo utilizzato (CommandLine), l’utente che ha disposto l’operazione e molto altro ancora. Non è semplicemente fantastico?
Attività eseguite all’avvio del sistema operativo
Cliccando con il tasto destro su Operational nella colonna di sinistra (sempre sotto la voce Sysmon) quindi scegliendo Cancella registro, si possono eliminare in un colpo solo tutti i dati salvati nel log di Sysmon. Opzionalmente si può generare un file di log separato mentre con un clic su Cancella ci si sbarazza immediatamente di tutte le informazioni raccolte.
A questo punto, riavviando il sistema, Sysmon resta in esecuzione e registra tutto ciò che avviene al boot della macchina Windows. È in questo modo possibile stabilire in maniera molto semplice tutto ciò che avviene all’atto del caricamento del sistema operativo.
Alla comparsa del desktop, basta infatti tornare nel Visualizzatore eventi (Windows+R
, digitate eventvwr
), per poi accedere ai log di Sysmon.
Come disinstallare Sysmon
Al termine delle verifiche, si può rimuovere Sysmon semplicemente tornando – da prompt dei comandi – nella cartella c:\sysmon quindi digitando quanto segue:
sysmon64 -u
Nel caso in cui Sysmon segnalasse l’impossibilità di rimuovere alcuni componenti (driver e/o servizio di sistema), per risolvere è sufficiente riavviare il sistema quindi utilizzare sysmon64 -u force
.
Se permanesse un errore di Accesso negato, suggeriamo di digitare quanto segue al prompt dei comandi aperto con i diritti di amministratore:
reg delete HKLM\SYSTEM\CurrentControlSet\Services\Sysmon /f
reg delete HKLM\SYSTEM\CurrentControlSet\Services\Sysmon64 /f
reg delete HKLM\SYSTEM\CurrentControlSet\Services\SysmonDrv /f
Nell’intera guida abbiamo fatto riferimento al file sysmon64
, da usare sui sistemi Windows a 64 bit. Per i sistemi operativi a 32 bit, basta omettere l’indicazione “64” (esempio: sysmon -accepteula -i sysmonconfig-export.xml
).