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.

SSH Keys Forensics

forensics

Définition

Les clés SSH (Secure Shell keys) sont un mécanisme d'authentification asymétrique omniprésent sur les systèmes Linux/Unix. Forensiquement, elles constituent des preuves d'accès, de persistance, et de mouvement latéral. L'analyse des clés SSH autorisées sur un système compromis révèle souvent comment l'attaquant a maintenu un accès après l'intrusion initiale. Le fichier ~/.ssh/authorized_keys est la source forensique principale pour les investigations SSH. Il contient les clés publiques des utilisateurs autorisés à se connecter sans mot de passe via ce compte. L'ajout d'une clé publique malveillante dans ce fichier est l'une des méthodes de persistance les plus simples et efficaces sur Linux. Forensiquement, les timestamps de modification de ce fichier (ls -la ~/.ssh/authorized_keys) et des entrées dans les journaux SSH correspondant à des connexions avec cette clé permettent de dater et d'attribuer l'accès. Les clés privées SSH stockées sur un système compromi (~/.ssh/id_rsa, ~/.ssh/id_ed25519, etc.) sont des preuves de pivot potentiel : si l'attaquant a accès au système, il peut utiliser ces clés pour se connecter à d'autres systèmes. Identifier toutes les clés privées sur un système (find / -name 'id_rsa' -o -name 'id_ed25519' 2>/dev/null) et leur fingerprint permet de tracer les possibilités de mouvement latéral. Le fichier ~/.ssh/known_hosts enregistre les fingerprints des serveurs auxquels l'utilisateur s'est connecté. Il peut révéler des connexions vers des serveurs inconnus ou des rebonds SSH. Corréler les entrées known_hosts avec les logs auth.log (initiateur de connexion) fournit une carte complète du mouvement latéral SSH. Les configurations avancées de backdoor SSH incluent : ajout d'options dans authorized_keys pour restreindre mais aussi pour permettre des configurations malveillantes (no-pty, command= pour des restricted shells, or from= pour un faux contrôle d'accès), modification de /etc/ssh/sshd_config pour ajouter un port supplémentaire ou désactiver les restrictions, et installation de faux binaires ssh.

Fonctionnement

L'authentification SSH par clé repose sur la cryptographie asymétrique (RSA, Ed25519, ECDSA). Le client prouve sa possession de la clé privée via un défi signé. Le serveur vérifie la signature avec la clé publique dans authorized_keys. Chaque connexion génère des entrées dans auth.log avec le fingerprint de la clé utilisée.

Application DFIR

Sur chaque utilisateur du système compromis : analyser authorized_keys (entrées suspectes), known_hosts (connexions vers des inconnus), et les clés privées présentes. Les fingerprints des clés dans auth.log permettent d'identifier les clés autorisées utilisées pour l'intrusion. Corréler avec les timestamps d'ajout de clé et les événements d'incident.

Outils

ssh-keygen -lf (fingerprint d'une clé), find (localiser toutes les clés SSH), grep dans authorized_keys, auth.log parsing, Velociraptor (artefact SSH.AuthorizedKeys), OSQuery (ssh_configs table), SIEM avec règles Sigma SSH backdoor. GitHub/GitLab APIs pour identifier les propriétaires de clés publiques via leurs dépôts publics.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis