• 8 heures
  • Difficile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 15/03/2024

Collectez des logs avec Sysmon sous Windows

Découvrez Sysmon

Sysmon est un outil de monitoring des journaux d'événements sous Windows. Avec Sysmon, vous pouvez monitorer les actions sur votre système telles que la création de processus ou de comptes utilisateurs, les connexions réseaux ou encore la création de fichiers. Couplé avec un serveur configuré avec Windows Event Collector, il récupère les logs Windows de plusieurs machines en un point unique.

Visualiser les événements de votre système dans Event Viewer
Visualisez les événements de votre système dans Event Viewer

Sysmon fournit des informations détaillées sur les créations de processus, les connexions réseau et les modifications apportées, ainsi que l'heure de création des fichiers. Il permet la collecte, et vous permet d'identifier les activités malveillantes ou anormales. Il se configure sur chaque machine de votre réseau grâce à l’utilisation de fichiers de config.

Sysmon permet de monitorer les éléments suivants :

  • Création de processus de journaux avec ligne de commande complète pour les processus actuels et parents.

  • Enregistrement du hash des processus sur le système.

  • Inclusion d’un Globally Unique Identifier (GUID)de processus dans les événements de création de processus, pour permettre la corrélation des événements.

  • Inclusion d’un GUID de session dans chaque événement pour permettre la corrélation des événements sur la même session.

  • Enregistrement du chargement des pilotes ou des DLL avec leurs signatures et leurs hashs.

  • Enregistrement éventuellement des connexions réseau, y compris le processus source de chaque connexion, les adresses IP, les numéros de port, les noms d'hôtes et les noms de port.

  • Filtrage de règles pour inclure ou exclure certains événements de manière dynamique.

  • Génération des événements dès le début du processus de démarrage pour capturer l'activité créée par des logiciels malveillants.

  • Détection des changements au moment de la création de fichier, pour comprendre quand un fichier a vraiment été créé. 

Installez et configurez Sysmon

Je vous invite d’abord à télécharger la dernière version de Sysmon. Une fois le répertoire décompressé, vous pouvez y accéder via l’invite de commande.

Par défaut, l’aide va s’afficher.

L’aide arrive pour installer Sysmon
L’aide arrive pour installer Sysmon

Pour installer Sysmon et commencer à monitorer le réseau, il suffit d’utiliser Sysmon avec l’option “-i”.

C:\Users\userbox\Desktop\sysmon>Sysmon64.exe -i

System Monitor v12.02 - System activity monitor
Copyright (C) 2014-2020 Mark Russinovich and Thomas Garnier
Sysinternals - www.sysinternals.com

Sysmon64 installed.
SysmonDrv installed.
Starting SysmonDrv.
SysmonDrv started.
Starting Sysmon64..
Sysmon64 started.

À partir de ce moment, Sysmon est en train de monitorer votre système avec la configuration par défaut.

Pour visualiser les logs, ouvrez l’Event Viewer Windows, puis “Applications and Services Logs” > “Microsoft” > “Windows” > “Sysmon”.

Vous verrez vos logs Sysmon depuis Event Viewer
Vous verrez vos logs Sysmon depuis Event Viewer

Vous pouvez voir ici des informations de création de processus système. Les informations remontées incluent le statut, le timestamp, le Process ID (PID) pour un processus, le GUID et l’emplacement du fichier sur le système. 

Configurez Sysmon pour affiner votre monitoring

Nous allons à présent configurer Sysmon pour utiliser un fichier de configuration, afin de monitorer certains éléments d’intérêt. Pour ce faire, nous allons utiliser ce fichier de configuration mis à disposition.

Par exemple, l’extrait suivant permet d'exclure le monitoring de logs en lien avec certains processus système :

<Sysmon schemaversion="4.22">
<RuleGroup name="" groupRelation="or">
<ProcessCreate onmatch="exclude">

<!--SECTION: Microsoft Windows-->
<CommandLine condition="begin with"> "C:\Windows\system32\wermgr.exe" "-queuereporting_svc" </CommandLine> 
<!--Windows:Windows error reporting/telemetry-->

<CommandLine condition="begin with">C:\Windows\system32\DllHost.exe /Processid</CommandLine> 
<!--Windows-->

<CommandLine condition="begin with">C:\Windows\system32\wbem\wmiprvse.exe -Embedding</CommandLine> 
<!--Windows: WMI provider host-->

<CommandLine condition="begin with">C:\Windows\system32\wbem\wmiprvse.exe -secured -Embedding</CommandLine> 
<!--Windows: WMI provider host-->

<CommandLine condition="is">C:\Windows\system32\wermgr.exe -upload</CommandLine> 
<!--Windows:Windows error reporting/telemetry-->

<CommandLine condition="is">C:\Windows\system32\SearchIndexer.exe /Embedding</CommandLine> 
<!--Windows: Search Indexer-->
</ProcessCreate>
</RuleGroup>

Il est également possible de monitorer les connexions réseaux :

<RuleGroup name="" groupRelation="or">
<NetworkConnect onmatch="include">
<!--Suspicious sources for network-connecting binaries-->
<Image name="Usermode" condition="begin with">C:\Users</Image> 
<!--Tools downloaded by users can use other processes for networking, but this is a very valuable indicator.-->

<Image name="Caution" condition="begin with">C:\intel</Image> 
<!-- Credit @blu3_team [ https://blu3-team.blogspot.com/2019/05/netconn-from-suspicious-directories.html ] -->

<Image name="Caution" condition="begin with">C:\Windows\fonts</Image> 
<!-- Credit @blu3_team [ https://blu3-team.blogspot.com/2019/05/netconn-from-suspicious-directories.html ] -->

<Image name="Caution" condition="begin with">C:\Windows\system32\config</Image> 
<!-- Credit @blu3_team [ https://blu3-team.blogspot.com/2019/05/netconn-from-suspicious-directories.html ] -->

<!--Suspicious Windows tools-->
<Image condition="image">at.exe</Image> 
<!--Windows: Remote task scheduling, removed in Win10 | Credit @ion-storm -->

<Image condition="image">certutil.exe</Image> 
<!--Windows: Certificate tool can contact outbound | Credit @ion-storm @FVT [ https://twitter.com/FVT/status/834433734602530817 ] -->

<Image condition="image">cmd.exe</Image> 
<!--Windows: Remote command prompt-->

<Image condition="image">cmstp.exe</Image> 
<!--Windows: Connection manager profiles can launch executables from WebDAV [ https://twitter.com/NickTyrer/status/958450014111633408 ] | Credit @NickTyrer @Oddvarmoe @KyleHanslovan @subTee -->

<Image condition="image">cscript.exe</Image> 
<!--WindowsScriptingHost: | Credit @Cyb3rOps [ https://gist.github.com/Neo23x0/a4b4af9481e01e749409 ] -->

<Image condition="image">driverquery.exe</Image> 
<!--Windows: Remote recognisance of system configuration, oudated/vulnerable drivers -->

<Image condition="image">dsquery.exe</Image> 
<!--Microsoft: Query Active Directory -->

<Image condition="image">hh.exe</Image> 
<!--Windows: HTML Help Executable, opens CHM files -->
</NetworkConnect>
</RuleGroup>

Pour charger votre fichier de configuration, il suffit d’utiliser l’option “-c” :

>Sysmon64.exe -c sysmon-config.xml

System Monitor v12.02 - System activity monitor
Copyright (C) 2014-2020 Mark Russinovich and Thomas 
Garnier
Sysinternals - www.sysinternals.com

Loading configuration file with schema version 4.22
Sysmon schema version: 4.40
Configuration file validated.
Configuration updated.

Une fois le fichier de configuration créé, nous pouvons voir dans l’Event Viewer la mise à jour.

Pour tester notre configuration, nous exécutons le processus tasklist.exe pour afficher la liste des processus en cours d’exécution.

Dans la copie d’écran ci-dessous, vous pouvez voir les informations relatives à ce processus.

L’exécution de tasklist.exe dans Sysmon
L’exécution de tasklist.exe dans Sysmon

Interprétez les logs remontés

Maintenant que nous avons vu comment mettre en place le monitoring de logs dans un environnement Windows, voyons comment les analyser avec l"Event Viewer.

Vous pouvez explorer les logs remontés à partir de l’Event Viewer. Le panneau du haut affiche tous les logs remontés. Vous verrez le niveau d’alerte, la date et l’heure, la source (ici Sysmon), ainsi que l’event id et la catégorie définie dans le fichier de configuration.

Les logs remontés dans Event Viewer
Les logs remontés dans Event Viewer

Le panneau du bas permet d’avoir plus de détails sur l'événement.

Mise à jour de l’Event Viewer suite à la nouvelle configuration
Mise à jour de l’Event Viewer suite à la nouvelle configuration

Nous obtenons ici plusieurs informations concernant notre événement, telles que sa source, le nom de la règle ou encore le détail des actions effectuées.

À vous de jouer !

Dans ce chapitre, nous avons modifié la configuration de Sysmon pour exclure le monitoring de certains processus, et monitorer les connexions réseaux.

Maintenant, vous devez continuer avec la configuration de ce système pour NeedSec, en mettant en place une configuration qui loguera l’exécution de programmes depuis le desktop.

En résumé

  • Sysmon, l’outil de monitoring sous Windows, surveille les actions sur votre système.

  • Vous pouvez loguer des événements spécifiques pour un monitoring approfondi avec Sysmon : 

    • la création de processus ou de comptes utilisateurs ;

    • les connexions réseaux ;

    • la création de fichiers.

  • Sysmon peut être configuré pour monitorer certains éléments d’intérêt selon vos besoins. Pour vérifier sa configuration, vous pouvez exécuter le processus tasklist.exe après l'avoir identifié dans votre fichier de configuration.

  • L’Event Viewer vous affiche tous les logs remontés avec leurs informations pertinentes.

Dans le prochain chapitre, nous aborderons la surveillance de logs réseaux, un élément capital dans votre monitoring de système informatique. Alors, c’est parti !

Exemple de certificat de réussite
Exemple de certificat de réussite