Alertes TEHTRIS EDR 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, liste blanche) 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 TEHTRIS EDR, surveillent donc ce type de comportement par défaut et peuvent lever une alerte, voire bloquer le processus selon le mode de la politique appliquée (détection ou protection).
Pourquoi TEHTRIS détecte-t-il un fichier PAExec-XXXX-POSTE.exe ?
PAExec fonctionne selon un mécanisme temporaire :
1. Le binaire Medulla est copié sur le poste cible
2. Une copie temporaire est déposée dans C:\Windows\
3. Cette copie est exécutée sous forme de service Windows temporaire
4. 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 TEHTRIS 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 NT AUTHORITY\SYSTEM ?
Ce comportement est normal. Le cycle d'exécution PAExec se déroule en deux phases :
5. Le binaire Medulla se copie dans C:\Windows\PAExec-*.exe
6. 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 TEHTRIS associe-t-il cela à du mouvement latéral ?
TEHTRIS EDR 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 TEHTRIS EDR ?
Dans TEHTRIS, les exclusions se configurent depuis la TEHTRIS XDR Platform via la liste blanche (whitelist) d'une politique EDR, puis en appliquant cette politique au groupe d'agents concernés. TEHTRIS permet de créer des règles par empreinte SHA256, par chemin/nom de fichier et par certificat de signature.
Option A – Liste blanche par hash SHA256 (Recommandée)
Dans la TEHTRIS XDR Platform :
7. Ouvrir le module EDR → Policies (Politiques)
8. Éditer la politique appliquée au groupe de postes, section Whitelist / Liste blanche
9. Créer une règle de type Allow / Autoriser par hash (SHA256)
10. Renseigner le hash SHA256 du binaire PAExec Medulla
11. Optionnellement restreindre au chemin et au compte d'exécution :
Chemin : C:\Windows\PAExec-*.exe Compte : NT AUTHORITY\SYSTEM
12. Appliquer la politique et vérifier sa propagation sur les agents
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)
Dans TEHTRIS, cela se traduit par une règle de liste blanche conditionnée à la chaîne parent → enfant (parent = agent Medulla, enfant = PAExec-*.exe). Cette méthode permet de limiter fortement le risque d'abus.
Option C – Exclusion par chemin (wildcard, Temporaire)
Créer une exclusion de chemin :
C:\Windows\PAExec-*.exe
avec les conditions suivantes :
• Compte : NT AUTHORITY\SYSTEM
• Argument : -service
• Processus parent : agent Medulla
Attention : Cette méthode doit rester temporaire. Elle ne valide pas l'intégrité du binaire.
Exclusions de l'agent Medulla à déclarer dans TEHTRIS
Au-delà de PAExec, il est recommandé de mettre en liste blanche les composants principaux de l'agent Medulla afin d'éviter les faux positifs et les blocages sur les postes administrés. Ces exclusions sont à déclarer dans la politique EDR TEHTRIS appliquée au groupe d'agents.
Processus / binaires de l'agent
|
Composant |
Chemin par défaut |
|
Agent Medulla (racine) |
C:\Program Files\Medulla\ |
|
Binaire PAExec |
C:\Program Files\Medulla\bin\paexec.exe |
|
Copie temporaire PAExec |
C:\Windows\PAExec-*.exe |
|
Interpréteur Python de l'agent |
C:\Program Files\Medulla\bin\python*.exe |
|
Scheduler / kiosque |
scheduling_launch_kiosk.py |
|
Client SSH (télémaintenance) |
C:\Program Files\Medulla\bin\ssh*.exe |
Dossiers à exclure (analyse temps réel)
• C:\Program Files\Medulla\ (et sous-dossiers)
• C:\ProgramData\Medulla\ (données, logs, files de traitement)
• C:\Windows\PAExec-*.exe (copie temporaire de télé-exécution)
Bonne pratique : Privilégier partout où c'est possible l'exclusion par hash SHA256 plutôt que par simple chemin, et documenter chaque règle (motif, date, version Medulla). Réévaluer l'ensemble après chaque montée de version de l'agent.
Comment récupérer le hash SHA256 du binaire PAExec ?
Depuis un poste administré par Medulla (PowerShell) :
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 TEHTRIS (règles par hash) après chaque mise à jour majeure de Medulla, et mettre à jour l'empreinte SHA256 le cas échéant.
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 |
|
Console d'exclusion |
TEHTRIS XDR Platform → EDR → Policies → Whitelist |
|
Exclusion recommandée |
Hash SHA256 + contexte d'exécution |
|
Exclusion à éviter |
C:\Program Files\Medulla\bin\paexec.exe seul |