Explorer
KNOW-ANT-015

Anti-Pattern : Mécanismes de persistance non monitorés (webshells, comptes backup, clés SSH)

Domaine
cybersecu
Type
anti-pattern
Priorité
P2

Parent : [[INDEX-CYBERSECU]]

Anti-Pattern : Mécanismes de persistance non monitorés (webshells, comptes backup, clés SSH)

Description

Déployer des mécanismes de persistance (webshells PHP, comptes de service Windows, clés SSH root) sans monitoring ni détection. Ces mécanismes permettent un accès permanent même après changement des credentials initiaux. Les trois mécanismes déployés sur l'infrastructure YGG sont restés actifs pendant des semaines/mois sans détection.

Exemple réel - Archive Ygg

X.X.X.X — Windows
├── svcMonitor (compte admin local factice)
├── health.php (webshell PHP authentifié par paramètre GET)

X.X.X.X — Linux tracker
├── Clé SSH ed25519 dans /root/.ssh/authorized_keys
├── PermitRootLogin changé de "no" à "prohibit-password"

X.X.X.X — Ubuntu web
├── class-wp-cache-validator.php (webshell WordPress HMAC auth)

Conséquences

  • Accès permanent : Même après changement des credentials initiaux
  • Re-compromission : Retour facile après incident response
  • Difficulté d'éradication : Multiples points d'entrée à identifier
  • Mouvement latéral continu : Pivot vers d'autres systèmes

Quand c'est acceptable

JAMAIS pour un attaquant. Pour un défenseur : honeytokens ou canary accounts uniquement, avec monitoring actif.

Solution

  • Scan régulier des webshells dans les répertoires web
  • Monitoring des fichiers authorized_keys
  • Détection des comptes de service suspects (svc*, monitor*, backup*)
  • Audit des changements de configuration SSH (sshd_config)
  • Vérification des timestamps des fichiers PHP dans wp-includes/
  • Hash integrity des fichiers WordPress core

Voir KNOW-PAT-071 — Webshells de persistance.

Références

  • Archive Ygg : Phase 14 — Persistence (YGGLeak)
  • MITRE ATT&CK : T1505 (Server Software Component)
  • OWASP : Web Shell Detection