Explorer
KNOW-ANT-011

Anti-Pattern : Stockage de credentials non chiffrés

Domaine
cybersecu
Type
anti-pattern
Priorité
P2

Parent : [[INDEX-CYBERSECU]]

Anti-Pattern : Stockage de credentials non chiffrés

Description

Stocker des credentials (mots de passe, cookies, tokens) en clair ou en base64 dans des fichiers accessibles : passwords.json, cookies.json, FileZilla recentservers.xml, .env sans encryption. Ces fichiers sont extraits immédiatement lors d'une compromission.

Exemple réel - Archive Ygg

// passwords.json — Chrome décrypté
{
  "url": "https://example.com",
  "username": "admin@example.com",
  "password": "GoPay2024!Secure"
}
<!-- recentservers.xml — FileZilla -->
<Pass encoding="base64">YWRtaW5wYXNz</Pass>  <!-- base64 = équivalent clair -->
# .env
DB_PASSWORD=admin123  # ❌ Pas de chiffrement
JWT_SECRET=secret     # ❌ Pas de chiffrement

Conséquences

  • Compromission totale : Tous les comptes sont exposés
  • Lateral movement : Credentials réutilisés sur d'autres systèmes
  • Persistence : Attaquant garde l'accès même après changement initial
  • Vol d'identité : Impersonation des utilisateurs

Quand c'est acceptable

JAMAIS en production. Acceptable uniquement en développement local temporaire avec des credentials de test.

Solution

  • Chrome : Désactiver le password manager (GPO)
  • FileZilla : Master password + chiffrement AES
  • .env : Utiliser un secret manager (Vault, AWS SM)
  • SSH : Hardware tokens (FIDO2)
  • Windows : Credential Guard + LSA Protection

Voir KNOW-PAT-063 — Extraction forensique de credentials.

Références

  • Archive Ygg : 04_CREDENTIALS/
  • OWASP : Insecure Credential Storage