Skip to main content

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 :

  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 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 :

  1. Le binaire Medulla se copie dans C:\Windows\PAExec-*.exe
  2. 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 :

  1. Aller dans Profiles → Security → Application Control
  2. Créer une règle Allow by hash
  3. Renseigner le hash SHA256 du binaire PAExec Medulla
  4. 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 :

  • Compte : NT AUTHORITY\SYSTEM
  • Argument : -service
  • Parent process : agent Medulla

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