Sysmon : enregistrer l’activité système Windows et les applications

malekalmorte

Création :

14 mai 2020

Modification :

Sysmon est un outil gratuit pour surveiller et enregistrer l’activité de Windows.
Celle-ci s’enregistre dans le journal d’évènements de Windows que l’on peut consulter depuis l’observateur d’évènements.
C’est donc un programme et outil très pratique pour capturer les évènements systèmes.

Sysmon est très flexible et permet notamment :

  • Création de processus (avec ligne de commande complète et hachages)
  • Arrêt du processus
  • Les connexions de réseau
  • Modifications d’horodatage de création de fichier
  • Chargement du pilote / de l’image
  • Créer des threads distants
  • Accès au disque brut
  • Accès à la mémoire de processus

Ainsi cet outil de diagnostics et surveillance peut s’avérer utile dans les cas suivants :

Cet article vous guide pour installer et utiliser Sysmon.

Sysmon : surveiller et enregistrer l’activité de Windows

Ce utilitaire gratuit de Microsoft permet de surveiller beaucoup d’éléments du système.
Par défaut, la plupart des activités surveiller.
Mais on peut aussi installer Sysmon à travers un fichier de configuration qui permet de surveiller ce que l’on souhaite.

Installer Sysmon

Voici comment télécharger et installer SysMon afin de l’activer par défaut.

Vous pouvez aussi utiliser Chocolatey pour l’installer de cette manière :

choco install sysmon –y
cd %USERPROFILE%\Desktop
sysmon64 -i -h md5,sha256

Si cela fonctionne le pilote et service s’installe.

Sysmon64 installed.
SysmonDrv installed.
Starting SysmonDrv.
SysmonDrv started.
Starting Sysmon64..
Sysmon64 started.
Installer Sysmon dans Windows
SysMon est maintenant actif et surveille le système. Il créé un évènemens dans les journaux de Windows lors de chaque modifications ou activité du système.

Enfin en cas de besoin, vous pouvez le désinstaller.
Par exemple pour réinstaller Sysmon avec un fichier de configuration pour le supprimer définitivement.
Voici la commande à utiliser.

C:\Users\MaK\Desktop>sysmon64.exe /u
Stopping Sysmon64.
Sysmon64 stopped.
Sysmon64 removed.
Stopping SysmonDrv.
SysmonDrv stopped.
SysmonDrv removed.

Cela supprime le pilote, service et les fichiers.

Installer Sysmon dans Windows

Les paramètres de la commande Sysmon :

  • -c : Mettre à jour la configuration d’un pilote Sysmon installé ou vider la configuration actuelle si aucun autre argument n’est fourni. En option prendre un fichier de configuration.
  • -i : Installer le service et le pilote. Prenez éventuellement un fichier de configuration.
  • -m : Installez le manifeste d’événement (également lors de l’installation du service).
  • -s : Affiche la définition du schéma de configuration de la version spécifiée. Spécifiez ‘all’ pour vider toutes les versions de schéma (la valeur par défaut est la plus récente).
  • -u : Désinstaller le service et le pilote. L’ajout de force entraîne la désinstallation même lorsque certains composants ne sont pas installés.

Visualiser les évènements Sysmon

Une fois actif, Sysmon enregistre l’activité système dans les journaux de Windows.
Ainsi, il faut chercher les évènements dans l’observateur d’évènements.
Il suffit alors de visualiser ces derniers.

Par exemple ci-dessous le lancement de RuntimeBroker avec le paramètre ou l’application visée.

Visualiser les évènements système Sysmon

La création du processus RuntimeBroker avec la date, le hash, les paramètres, l’utilisateur source.
Le processus parent et les paramètres de ce dernier.

Visualiser les évènements système Sysmon

Les évènements ont un numéro et catégorie.
La colonne catégorie de la tâche permet de les trier.
Ainsi on peut lister les processus créés ou terminés, les fichiers créés, les modifications du registre Windows, etc.

Enfin vous pouvez alors utiliser l’observateur d’évènements pour filtrer et trouver ce dont vous avez besoin.
L’article suivant vous y aide : Windows 10 : Filtrer les journaux observateur d’évènements.

Sysmon et les fichiers de configuration

Comme indiqué dans l’introduction, vous pouvez utiliser des fichiers de configuration pour surveiller certains éléments.

Par exemple, pour historiser les requêtes DNS :

  • Ouvrez le bloc-note
  • Créé un fichier config-dnsquery.xml avec le contenu suivant :
<Sysmon schemaversion="4.21">
 <EventFiltering>
  <DnsQuery onmatch="exclude" />
 </EventFiltering>
</Sysmon>
  • Puis utilisez la commande suivante :
Sysmon.exe -c config-dnsquery.xml

On trouve alors des projets GitHub comme : sysmonconfig-export.xml
Ce qui donne :

sysmon.exe -c sysmonconfig-export.xml

Extraire évènements Sysmon avec Powershell

Enfin, on peut utiliser Powershell pour extraire des évènements et effectuer des recherches.
Pour cela, on utilise Get-WinEvent.
On peut lister selon un numéro d’évènements.
Par exemple pour n’avoir que les id 1

Get-WinEvent -FilterHashtable @{logname="Microsoft-Windows-Sysmon/Operational";id=1;} | Select-Object -Property message -First 3 | Format-List

Select-Objet permet d’indiquer le nombre d’évènements à afficher ici 3.

Le filtrage se fait à travers le cmds Where qui permet de recherche dans le contenu du message.

Where {$_.message -like "192.168.1." -and $_.message -like "DestinationPort: 53"}

Par exemple ici, on fait une recherche sur une résolution DNS (port 53) sur les IP du LAN

Get-WinEvent -FilterHashtable @{logname="Microsoft-Windows-Sysmon/Operational";id=3;} | Where {$_.message -like "192.168.1." -and $_.message -like "DestinationPort: 53"} | Select-Object -Property message -First 1 | Format-List
Extraire évènements Sysmon avec Powershell

A propros de malekalmorte

malekal-site-logo-150

Passionné par l'informatique depuis très jeune, j'aide les internautes sur les forums depuis 2005 pour résoudre leurs tracas informatiques.
Je vous propose par la même occasion ce site avec de nombreux tutoriels pour vous aider aussi à résoudre de manière autonome les problèmes informatiques du quotidien.