Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Scheduled Tasks Persistence

hacking

Définition

Les tâches planifiées Windows (Scheduled Tasks) constituent un mécanisme de persistance courant permettant d'exécuter automatiquement des programmes selon un calendrier configurable : au démarrage du système, à l'ouverture de session d'un utilisateur, à intervalles réguliers, ou lors d'événements système spécifiques. Elles sont utilisées aussi bien par des logiciels légitimes que par des attaquants pour maintenir un accès persistant. La création d'une tâche planifiée malveillante peut s'effectuer via : la commande schtasks (exemple : schtasks /create /tn "WindowsUpdate" /tr "C:\Windows\Temp\payload.exe" /sc ONLOGON /ru SYSTEM), le module Task Scheduler via COM (interface programmatique), PowerShell (Register-ScheduledTask), et des outils comme AT (obsolète mais toujours disponible). Ces méthodes produisent des fichiers XML dans C:\Windows\System32\Tasks\ et des entrées dans le registre. Les attributs d'une tâche planifiée malveillante bien construite incluent : un nom imitant des tâches légitimes Windows (WindowsUpdate, GoogleUpdateMachine, SyncTask), l'exécution en tant que SYSTEM pour des privilèges maximaux, un déclencheur discret (ONEVENT sur un EventID fréquent plutôt que AT STARTUP pour éviter la détection), et un chemin d'exécutable légitime avec des arguments qui chargent le payload (wscript.exe, powershell.exe, mshta.exe). Les tâches planifiées créées par des frameworks C2 populaires sont souvent identifiables par certains patterns : noms générés aléatoirement, intervalles d'exécution atypiques, ou exécution de commandes PowerShell encodées. Les chercheurs en sécurité ont catalogué les patterns caractéristiques des frameworks C2 les plus courants. De l'exploitation avec des droits limités, la création de tâches via HKCU et des paramètres RunOnlyIfLoggedOn peut être réalisée sans droits d'administrateur, offrant une persistance au niveau utilisateur. Avec des droits d'administrateur, les tâches peuvent s'exécuter en SYSTEM, en n'importe quel utilisateur, ou avec des tokens spécifiques.

Fonctionnement

Les tâches planifiées sont stockées en XML dans C:\Windows\System32\Tasks\ (pour les tâches système) et C:\Windows\SysWOW64\Tasks\. Le Task Scheduler Service (schedule) lit ces fichiers et maintient ses propres bases de données dans le registre. Les déclencheurs supportés incluent BOOT (démarrage avant connexion), LOGON, TIME (récurrent ou ponctuel), IDLE, EVENT (basé sur des EventIDs), SESSION_CONNECT/DISCONNECT, et WORKSTATION_LOCK/UNLOCK.

Exploitation offensive

Une tâche configurée avec un déclencheur ONLOGON + RUNAS SYSTEM persiste après tout redémarrage et s'exécute avec les privilèges les plus élevés. Des frameworks comme Cobalt Strike créent automatiquement des tâches persistantes avec leurs beacons. La combinaison tâche planifiée + payload encodé PowerShell + injection dans un processus légitime est un pattern de persistance difficile à détecter.

Détection et mitigation

L'EventID 4698 (création d'une tâche planifiée) est un indicateur clé à surveiller dans les SIEM. Les nouvelles tâches dans les répertoires Tasks doivent être auditées. Autoruns affiche toutes les tâches planifiées avec leurs exécutables et permet une validation rapide. Les solutions EDR surveillent la création de tâches par des processus non standards et les tâches exécutant des commandes PowerShell encodées.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis