Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
sysmon-modular — A repository of sysmon configuration modules | Kitploit
Outils/GitHubGitHub/olafhartong/sysmon-modular
Defensive ToolsDigital ForensicsIntrusion DetectionIncident ResponseLog Analysis
GitHubolafhartong/sysmon-modular

sysmon-modular

A repository of sysmon configuration modules

Voir le dépôt
3.1k653il y a 10 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

sysmon-modular | Un dépôt de configurations Sysmon personnalisables pour tous

license Maintenance GitHub last commit Build Sysmon config with all modules Twitter Discord Shield

Ceci est un dépôt de configurations pour Microsoft Sysinternals Sysmon téléchargement ici, organisé de manière modulaire pour faciliter la maintenance et la génération de configurations spécifiques.

Veuillez garder à l'esprit que chacune de ces configurations doit être considérée comme un point de départ ; un réglage fin par environnement est fortement recommandé.

Remarque : pour tirer encore plus de valeur de l'événement FileExecutable, envisagez d'incorporer également la version la plus récente de la configuration LOLdrivers dans la configuration. Vous pouvez le faire facilement en récupérant le fichier et en l'ajoutant dans le dossier 29_file_execute_detected, puis en générant une nouvelle configuration.

Le fichier sysmonconfig.xml du dépôt est généré automatiquement après une fusion réussie par le script PowerShell et un chargement réussi par Sysmon dans un pipeline Azure. Plus d'informations sur la génération d'une configuration personnalisée, intégrant vos propres modules ici

Configurations pré-générées


Index

  • Actions requises
    • Personnalisation
    • Génération d'une configuration
      • PowerShell
    • Génération de configurations personnalisées
  • Utilisation
    • Installation
    • Mise à jour d'une configuration existante
  • Outil de génération Python
  • Communauté Sysmon
  • Contribuer
  • Plus d'informations

En plus de la documentation ci-dessous, il y a aussi une vidéo sur la façon d'utiliser ce projet.

comment utiliser ce projet


AVIS ; Sysmon inférieur à 15 ne sera pas entièrement compatible avec cette configuration

Les versions plus anciennes sont toujours disponibles dans les branches, mais ne sont pas aussi complètes que la branche actuelle

  • V8.x >> ici
  • V9.x >> ici
  • V10.4 >> ici
  • V12.x >> ici
  • V13.x / 14.x >> ici

Pour comprendre les fonctionnalités ajoutées dans ces versions, jetez un œil à mon petit article de blog et aux articles plus récents, ou regardez ma présentation DerbyCon

Remarque : Je recommande d'utiliser un nombre minimal de configurations dans votre environnement pour de multiples raisons évidentes, comme : la maintenance, l'égalité des sorties, la gérabilité, etc. Mais faites des configurations adaptées pour les contrôleurs de domaine, les serveurs et les postes de travail.


Actions requises

Je recommande fortement d'examiner les configurations avant de les implémenter dans votre environnement de production. Cela vous permet d'avoir une journalisation aussi exploitable que possible et aussi peu de bruit que possible.

Personnalisation

Vous devrez installer et observer les résultats de la configuration dans votre propre environnement avant de la déployer à grande échelle. Par exemple, vous devrez exclure les actions de votre antivirus, qui autrement remplira probablement vos journaux d'informations inutiles.

Génération d'une configuration

PowerShell

root@kitploit:~
$> git clone https://github.com/olafhartong/sysmon-modular.git
$> cd sysmon modular
$> . .\Merge-SysmonXml.ps1
$> Merge-AllSysmonXml -Path ( Get-ChildItem '[0-9]*\*.xml') -AsString | Out-File sysmonconfig.xml

Génération de configurations personnalisées

Fonctions ci-dessous avec un grand merci à mbmy

Nouvelle fonction : Find-RulesInBasePath - prend un chemin de base (c.-à-d. C:\folder\sysmon-modular) et trouve tous les fichiers de règles xml candidats selon un motif regex

Exemple : PS C:\Users\sysmon\sysmon-modular> Find-RulesInBasePath -BasePath C:\users\sysmon\sysmon-modular\ -OutputRules | Out-File available_rules.txt

Nouveaux paramètres de Merge-AllSysmonXml :

-BasePath - trouve tous les fichiers de règles xml candidats depuis un chemin fourni selon un motif regex et les fusionne

Exemple : PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\

-ExcludeList - Combiné avec -BasePath, prend une liste de règles et les exclut des règles trouvées avant la fusion

Exemple : PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -ExcludeList C:\users\sysmon\sysmon-modular\exclude_rules.txt

-IncludeList - Combiné avec -BasePath, trouve toutes les règles disponibles depuis le chemin de base mais ne fusionne que celles définies dans une liste

Exemple : PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -IncludeList C:\users\sysmon\sysmon-modular\include_rules.txt

REMARQUE Le BasePath doit être le chemin complet vers les fichiers sysmon-modular (par exemple c:\tools\sysmon-modular), sinon PowerShell ne pourra pas les localiser, ce qui entraînera une configuration par défaut.

Exemple de format de liste Include/Exclude :

root@kitploit:~
3_network_connection_initiated\include_native_windows_tools.xml
12_13_14_registry_event\exclude_internet_explorer_settings.xml
12_13_14_registry_event\exclude_webroot.xml
17_18_pipe_event\include_winreg.xml
19_20_21_wmi_event\include_wmi_create.xml
2_file_create_time\exclude_chrome.xml
3_network_connection_initiated\include_native_windows_tools.xml
3_network_connection_initiated\include_ports_proxies.xml
8_create_remote_thread\include_general_commment.xml
8_create_remote_thread\include_psinject.xml
9_raw_access_read\include_general_commment.xml

Construire une configuration avec toutes les règles sysmon-modular pour certains identifiants d'événement (inclure tout le dossier) puis désactiver tous les identifiants d'événement sans règles importées

Exemple :

root@kitploit:~
# générer la configuration
$sysmonconfig =  Merge-AllSysmonXml  -BasePath . -IncludeList $workingFolder\include.txt -VerboseLogging -PreserveComments

# désactiver tous les groupes de règles où aucune règle n'a été importée
foreach($rg in $sysmonconfig.SelectNodes("/Sysmon/EventFiltering/RuleGroup [*/@onmatch]"))
{
    $ruleNodes = $rg.SelectNodes("./* [@onmatch]")

    if(     $ruleNodes -eq $null `
        -or $ruleNodes.ChildNodes.count -gt 0)
    {
        # aucun nœud de règle trouvé (peu probable) ou plus d'une règle trouvée
        continue
    }

    # RuleGroup avec un seul nœud de règle
    $ruleNode = $ruleNodes[0]

    if($ruleNode.onmatch -eq "exclude" -and $ruleNode.ChildNodes.count -eq 0 )
    {
        $message = "{0} {1} has no matching conditions.  Toggled to 'include' to limit output" -f $ruleNode.Name,$rg.Name
        Write-Warning $message

        $ruleNode.onmatch = "include"
        $comment = $sysmonconfig.CreateComment($message)
        $rg.AppendChild($comment) | Out-Null
    }
}

Exemple de format de liste Include/Exclude (pour des familles entières de règles/événements) :

root@kitploit:~
1_process_creation
5_process_ended
11_file_create
23_file_delete
7_image_load
17_18_pipe_event

Utilisation

Installation

Exécutez avec les droits administrateur

root@kitploit:~
sysmon.exe -accepteula -i sysmonconfig.xml

Mise à jour d'une configuration existante

Exécutez avec les droits administrateur

root@kitploit:~
sysmon.exe -c sysmonconfig.xml

Outil de génération Python

Il s'agit d'une nouvelle fonctionnalité, créée par cnnrshd

Tri des règles basé sur la priorité

  1. Script Python simple qui peut fusionner selon un format similaire aux Include Lists préexistantes - la seule différence est qu'il prend un CSV avec deux colonnes, chemin du fichier et priorité
  2. Une configuration formatée à l'aide d'un fichier csv
  3. Un modèle simple
  4. La version de schéma est dynamique et basée sur la version de schéma la plus élevée des règles fournies.

Les configurations générées à l'aide de ce script conservent les commentaires et une indentation XML correcte est appliquée, ce qui améliore la lisibilité et facilite le recoupement des fichiers de règles

exemple d'invite

root@kitploit:~
python merge_sysmon_configs.py config_lists/default_list/default_list.csv -f csv -b templates/sysmon_template.xml  -o test.xml

** Cette façon de générer du contenu est encore nouvelle et expérimentale. Il n'y a pas encore de support pour les versions personnalisées comme les versions MDE augment et exclude-only.


Communauté Sysmon

Il existe trois configurations Sysmon majeures :

  • @SwiftOnSecurity : excellent tutoriel d'introduction sur de nombreux paramètres. Commencez avec 1 commande https://github.com/SwiftOnSecurity/sysmon-config/.

  • @cyb3rops : Un fork de SwiftOnSecurity, à la pointe et proactif. **https://github.com/Neo23x0/sysmon-config

  • @olafhartong : Ce dépôt, qui se concentre sur une très bonne maintenabilité avec des notes de règles détaillées pour une réponse guidée et une corrélation SIEM.

  • Un excellent guide communautaire par @Carlos_Perez : https://github.com/trustedsec/SysmonCommunityGuide

Contribuer

Les pull requests / tickets et nouvelles contributions seront grandement appréciés !

Plus d'informations

J'ai commencé une série d'articles de blog couvrant ce dépôt ;

  • Endpoint detection Superpowers on the cheap - part1 - MITRE ATT&CK, Sysmon and my modular configuration

  • Endpoint detection Superpowers on the cheap — part 2 — Deploy and Maintain

  • Endpoint detection Superpowers on the cheap — part 3 — Sysmon Tampering

  • A comparison between Sysmon and Microsoft Defender for Endpoint

MITRE ATTACK

Je m'efforce de mapper toutes les configurations au framework ATT&CK chaque fois que Sysmon est capable de le détecter. Veuillez noter qu'il s'agit d'une entrée de journal possible qui pourrait mener à une détection ; dans tous les cas, ce n'est pas la seule télémétrie pour cette technique. De plus, il peut y avoir d'autres techniques liées à cette règle ; celle mappée est celle que j'ai jugée la plus probable.

Télécharger l’outil
TypeConfigurationDescription
par défautsysmonconfig.xmlIl s'agit de la configuration équilibrée, la plus utilisée, plus d'informations ici
par défaut+sysmonconfig-with-filedelete.xmlIl s'agit de la configuration équilibrée, la plus utilisée, plus d'informations incluant les sauvegardes de fichiers FileDelete
verbeusesysmonconfig-excludes-only.xmlC'est la configuration très verbeuse, tous les événements sont inclus, seuls les modules d'exclusion sont appliqués. Elle ne doit pas être utilisée en production sans validation, car elle générera une quantité importante de données et pourrait affecter les performances. Plus d'informations ici
super verbeusesysmonconfig-research.xmlUne configuration d'une verbosité extrême. Le volume de journaux attendu de ce fichier est significativement élevé, vraiment À NE PAS UTILISER EN PRODUCTION ! Cette configuration est uniquement destinée à la recherche, elle utilisera beaucoup plus de CPU/Mémoire. Ne l'activez que juste avant d'exécuter la technique à investiguer, puis chargez une configuration plus légère une fois terminé.
augment MDEsysmonconfig-mde-augmentation.xmlUne configuration pour enrichir Defender for Endpoint, destinée à compléter les informations et à avoir le moins de chevauchement possible. Elle est basée sur la configuration par défaut/équilibrée et ne générera pas tous les événements pour Sysmon ; des commentaires sont présents dans la configuration. Dans l'intérêt de la réponse aux incidents, envisagez d'utiliser la configuration excludes only et de n'ingérer que les événements d'enrichissement. (Blog avec plus de détails bientôt)