Alertes WithSecure sur PAExec utilisé par Medulla
S'applique à : Medulla / WithSecure Elements
Version : Toutes
Environnement : Windows / On-Premise / SaaS
Catégorie : Sécurité / EDR / Télé-exécution
Contexte
Medulla utilise PAExec, un équivalent open source de PsExec/SysInternals, afin d’exécuter des actions à distance sur les postes Windows administrés :
- Déploiement d’applications
- Exécution de scripts planifiés
- Orchestration de tâches depuis le kiosque applicatif
- Actions de remédiation ou de maintenance
Important :
Toute mesure d’exclusion de sécurité (EDR, antivirus, allowlist) doit être réévaluée régulièrement afin de s’assurer qu’elle reste pertinente au regard du contexte, des versions logicielles et de votre politique de sécurité.
Il est recommandé d’appliquer des exclusions les plus restrictives possibles.
Dans Medulla, ce mécanisme est notamment utilisé par le composant :
scheduling_launch_kiosk.py
PAExec adopte volontairement un comportement similaire à PsExec, outil légitime largement utilisé par les administrateurs systèmes mais également connu comme vecteur de mouvement latéral dans certains scénarios d’attaque.
Les EDR modernes, dont WithSecure Elements, surveillent donc ce type de comportement par défaut.
Pourquoi WithSecure détecte-t-il un fichier PAExec-XXXX-POSTE.exe ?
PAExec fonctionne selon un mécanisme temporaire :
- Le binaire Medulla est copié sur le poste cible
- Une copie temporaire est déposée dans
C:\Windows\ - Cette copie est exécutée sous forme de service Windows temporaire
- Le fichier est supprimé automatiquement à la fin de l’opération
Le nom du fichier est dynamique :
C:\WINDOWS\PAExec-<PID>-<NomPoste>.exe
Exemple :
C:\WINDOWS\PAExec-2124-CSE-SDN-ALV-02.exe
Le binaire d’origine Medulla reste :
C:\Program Files\Medulla\bin\paexec.exe
Information :
L’EDR détecte principalement la copie temporaire déposée dans C:\Windows\, et non le binaire source Medulla.
Pourquoi PAExec s’exécute-t-il sous AUTORITE NT\Système ?
Ce comportement est normal.
Le cycle d’exécution PAExec se déroule en deux phases :
- Le binaire Medulla se copie dans
C:\Windows\PAExec-*.exe - La copie s’installe comme service Windows temporaire
Cette seconde phase s’exécute sous :
NT AUTHORITY\SYSTEM
avec l’argument :
-service
Comportement attendu :
L’exécution sous SYSTEM et l’argument -service sont normaux dans le contexte Medulla.
Quels événements Windows sont générés ?
| ID | Journal | Description | Attendu |
|---|---|---|---|
7045 |
System | Installation du service PAExec temporaire | ✅ Oui |
7036 |
System | Démarrage du service PAExec | ✅ Oui |
5145 |
Security | Accès au partage ADMIN$ | ✅ Oui |
5145 |
Security | Accès aux named pipes stdin/stdout/stderr | ✅ Oui |
4648 |
Security | Authentification avec credentials explicites | ✅ Possible |
Les événements sur les pipes nommés :
*-stdin
*-stdout
*-stderr
sont particulièrement surveillés par les EDR car ils caractérisent le fonctionnement PsExec/PAExec.
Pourquoi WithSecure associe-t-il cela à du mouvement latéral ?
WithSecure détecte un ensemble de comportements typiquement associés aux outils d’administration distante :
- Copie d’un exécutable dans
C:\Windows\ - Utilisation du partage
ADMIN$ - Création d’un service Windows temporaire
- Exécution sous
NT AUTHORITY\SYSTEM - Communication via pipes nommés
stdin/stdout/stderr
Ces comportements sont identiques dans un usage :
- Légitime : Medulla / administration système
- Malveillant : déplacement latéral attaquant
Important :
L’exclusion doit être la plus restrictive possible afin de ne pas diminuer le niveau global de sécurité.
Puis-je exclure C:\Program Files\Medulla\bin\paexec.exe ?
Non.
Cette exclusion seule est inefficace car le fichier détecté par l’EDR est la copie temporaire :
C:\WINDOWS\PAExec-*.exe
et non le binaire source :
C:\Program Files\Medulla\bin\paexec.exe
Quelle exclusion est recommandée dans WithSecure Elements ?
Option A – Exclusion par hash SHA256 (Recommandée)
Dans WithSecure Elements Security Center :
- Aller dans
Profiles → Security → Application Control - Créer une règle Allow by hash
- Renseigner le hash SHA256 du binaire PAExec Medulla
- Optionnellement restreindre au chemin :
C:\Windows\PAExec-*.exe
et au compte :
NT AUTHORITY\SYSTEM
Recommandation :
L’exclusion par hash est la méthode la plus sûre car elle valide l’intégrité exacte du binaire Medulla.
Option B – Exclusion Parent → Enfant (Recommandée en complément)
Autoriser PAExec-*.exe uniquement lorsque le processus parent est l’agent Medulla.
Processus parent attendu :
Service agent Medulla (scheduler Python)
Cette méthode permet de limiter fortement le risque d’abus.
Option C – Exclusion wildcard (Temporaire)
Créer une exclusion de chemin :
C:\Windows\PAExec-*.exe
avec les conditions suivantes :
Attention :
Cette méthode doit rester temporaire. Elle ne valide pas l’intégrité du binaire.
Comment récupérer le hash SHA256 du binaire PAExec ?
Depuis un poste administré par Medulla :
Get-FileHash "C:\Program Files\Medulla\bin\paexec.exe" -Algorithm SHA256
Le hash est identique entre :
C:\Program Files\Medulla\bin\paexec.exe
et :
C:\WINDOWS\PAExec-*.exe
car PAExec se copie à l’identique.
Le hash change-t-il après une mise à jour Medulla ?
Oui.
Si PAExec est mis à jour dans une nouvelle version de Medulla, le SHA256 changera.
Recommandation :
Vérifier les exclusions WithSecure après chaque mise à jour majeure de Medulla.
Résumé des éléments techniques
| Élément | Valeur |
|---|---|
| Binaire source | C:\Program Files\Medulla\bin\paexec.exe |
| Chemin détecté | C:\Windows\PAExec-<PID>-<NomPoste>.exe |
| Mécanisme | Copie temporaire via ADMIN$ |
| Compte d’exécution | NT AUTHORITY\SYSTEM |
| Argument | -service |
| Événements Windows | 7045, 7036, 5145 |
| Composant Medulla | scheduling_launch_kiosk.py |
| Exclusion recommandée | Hash SHA256 + contexte d’exécution |
| Exclusion à éviter | C:\Program Files\Medulla\bin\paexec.exe seul |