Skip to content

Sysmon Event ID 1 expliqué : création de processus pour le triage DFIR

L'événement 1 de Sysmon est l'enregistrement de création de processus le plus riche que Windows puisse produire. Voici ce qu'il contient et comment le trier rapidement.

Publié le 3 {n} min de lecture

Sysmon est un outil Microsoft gratuit qui enrichit le journal d'événements Windows avec de la télémétrie que l'OS de base ne capture pas sous forme utilisable. Son event ID 1 — ProcessCreate — est l'enregistrement Sysmon le plus cité dans les playbooks IR. Si vous n'extrayez qu'un seul canal Sysmon d'un hôte, c'est celui-ci.

Où il vit et ce qu'il capture

Sysmon écrit sur le canal Microsoft-Windows-Sysmon/Operational (sur disque : Microsoft-Windows-Sysmon%4Operational.evtx). Un enregistrement ProcessCreate contient :

<Data Name="UtcTime">2026-05-17 14:02:11.123</Data>
<Data Name="ProcessGuid">{...}</Data>
<Data Name="ProcessId">7842</Data>
<Data Name="Image">C:\Windows\System32\powershell.exe</Data>
<Data Name="CommandLine">powershell -enc SQBFAFgA...</Data>
<Data Name="CurrentDirectory">C:\Users\alice\</Data>
<Data Name="User">CORP\alice</Data>
<Data Name="LogonId">0x3e7</Data>
<Data Name="Hashes">SHA256=...</Data>
<Data Name="ParentProcessGuid">{...}</Data>
<Data Name="ParentImage">C:\Program Files\Microsoft Office\winword.exe</Data>
<Data Name="ParentCommandLine">"winword.exe" /n /dde</Data>

Les champs qui pilotent les investigations : CommandLine (l'argv complet, pas juste le binaire), Image + Hashes (le binaire exact qui a tourné, hash utilisable dans VT/Hybrid Analysis) et l'ensemble Parent* (le processus appelant — critique pour trouver les chaînes macro et LOLBin).

Triage en trois pivots

Quand vous avez un fichier Sysmon de triage, trois requêtes couvrent la plupart des cas :

  1. Parents suspects : filtrez pour ParentImage finissant par winword.exe, excel.exe, outlook.exe, mshta.exe ou un navigateur, avec Image étant un shell (cmd.exe, powershell.exe, pwsh.exe, wscript.exe, cscript.exe, rundll32.exe). Une appli documentaire spawnant un shell est presque toujours malveillante.
  2. PowerShell encodé : Image finissant par powershell.exe et CommandLine contenant -enc, -encodedcommand ou FromBase64String. Décodez la payload, vérifiez ce qu'elle fait — et croisez avec l'enregistrement scriptblock PowerShell 4104 sur le même hôte pour voir ce qui a réellement exécuté.
  3. LOLBins depuis des emplacements bizarres : binaires Microsoft signés (certutil, regsvr32, mshta, installutil, bitsadmin) tournant depuis C:\Users\, %TEMP% ou C:\ProgramData\.

Pourquoi la chaîne parent compte

Un ProcessCreate isolé est un instantané ; la chaîne est l'histoire. ProcessGuid et ParentProcessGuid sont des GUIDs que Sysmon assigne pour tracer la lignée à travers les sorties de processus — plus fiables que les PID parce que les PID sont réutilisés. Reconstruisez l'arbre (le ParentProcessGuid de chaque enregistrement est le ProcessGuid d'un autre enregistrement) et la kill-chain devient évidente : Outlook → Word → PowerShell → cmd → certutil → mshta.

Exemple de règle Sigma — appli Office spawnant un shell

title: Office Application Spawning Shell or Scripting Host (Sysmon)
id: 7a4c1f2b-6e3d-4a5f-9c2a-1b3d4e5f6a7c
status: stable
description: A Microsoft Office or document-rendering process spawned cmd, powershell, wscript, cscript, mshta, rundll32 or regsvr32.
references:
  - https://attack.mitre.org/techniques/T1566/001/
  - https://attack.mitre.org/techniques/T1059/
logsource:
  product: windows
  service: sysmon
  category: process_creation
detection:
  selection:
    EventID: 1
    ParentImage|endswith:
      - '\winword.exe'
      - '\excel.exe'
      - '\powerpnt.exe'
      - '\outlook.exe'
      - '\mshta.exe'
      - '\acrord32.exe'
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\pwsh.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\rundll32.exe'
      - '\regsvr32.exe'
  condition: selection
falsepositives:
  - Office add-ins running approved scripts
  - Document automation pipelines
level: high
tags:
  - attack.execution
  - attack.t1059
  - attack.initial_access
  - attack.t1566.001

Exemple KQL — PowerShell encodé avec contexte parent

DeviceProcessEvents
| where InitiatingProcessFileName =~ "powershell.exe" or FileName =~ "powershell.exe"
| where ProcessCommandLine matches regex @"(?i)\b-e(?:nc|ncodedcommand)?\b\s"
   or ProcessCommandLine contains "FromBase64String"
| project Timestamp, DeviceName, AccountName, ProcessCommandLine,
          InitiatingProcessFileName, InitiatingProcessCommandLine, SHA256
| order by Timestamp desc

InitiatingProcessCommandLine est l'équivalent Defender XDR du ParentCommandLine de Sysmon 1 — que 4688 ne fournit pas.

Exemple Splunk — LOLBins depuis des chemins user-writable

sourcetype=xmlwineventlog source="*Sysmon/Operational"
  EventCode=1
  ( Image="*\\certutil.exe" OR Image="*\\regsvr32.exe" OR Image="*\\mshta.exe"
    OR Image="*\\bitsadmin.exe" OR Image="*\\installutil.exe" OR Image="*\\msbuild.exe" )
  ( ParentImage="*\\Users\\*" OR CommandLine="*\\Users\\*"
    OR CommandLine="*%TEMP%*" OR CommandLine="*ProgramData*" )
| table _time Computer User ParentImage Image CommandLine Hashes

Cartographie ATT&CK

  • T1059 — Command and Scripting Interpreter et sous-techniques .001 PowerShell, .003 Windows Command Shell, .005 Visual Basic, .007 JavaScript.
  • T1566.001 — Phishing: Spearphishing Attachment : chaînes Office → shell.
  • T1218 — System Binary Proxy Execution et sous-techniques .005 Mshta, .010 Regsvr32, .011 Rundll32, .007 Msiexec.
  • T1036.003 — Masquerading: Rename System Utilities : OriginalFileName ≠ nom de fichier d'Image.
  • T1055 — Process Injection : l'IntegrityLevel et la chaîne parent de Sysmon 1 aident à repérer des parents anormaux pour des processus comme lsass.exe ou services.exe.

Faux positifs qui ressemblent à des attaques

  • Agents de mise à jour logicielle spawnent routinièrement des shells sous SYSTEM (Chocolatey, WinGet, MSI fournisseur). Taguez les hôtes auto-update connus.
  • Scanners de vulnérabilités miment des arbres de processus offensifs pendant des scans authentifiés. Taguez les IP scanners.
  • Hôtes Citrix / RDS multi-sessions génèrent un trafic process-create dense qui chevauche les patterns attaquants. Filtrez par plage source.
  • Scans Defender / EDR lancent des binaires Microsoft signés depuis des chemins inhabituels pendant les scans à la demande.

Mises en garde sur la couverture

Sysmon ne capture que ce que sa config lui dit. La config par défaut ne journalise rien ; les références canoniques sont sysmon-config de SwiftOnSecurity et sysmon-modular d'Olaf Hartong. Sans une vraie config en place, vos enregistrements event 1 seront clairsemés, le champ CommandLine peut être expurgé et Hashes peut manquer. Lisez la config Sysmon de l'hôte en parallèle de ses logs.