PAM Module Forensics
forensicsDéfinition
PAM (Pluggable Authentication Modules) est le framework d'authentification Linux qui gère tous les aspects de l'authentification des utilisateurs (login, sudo, SSH, services). Son architecture modulaire en fait un vecteur d'attaque privilégié pour les attaquants cherchant à implanter une backdoor d'authentification persistante et difficile à détecter. La configuration PAM se trouve dans /etc/pam.conf et le répertoire /etc/pam.d/ (un fichier par service). Chaque service (sshd, sudo, login, su) a sa propre chaîne de modules PAM définissant les règles d'authentification. L'analyse de ces fichiers de configuration lors d'une investigation est essentielle pour détecter des modifications malveillantes. L'attaque PAM la plus connue consiste à ajouter ou remplacer un module PAM par une version malveillante. Par exemple, un attaquant peut modifier /etc/pam.d/sshd pour ajouter 'auth sufficient pam_permit.so' en première ligne, accordant l'accès à n'importe quel mot de passe. Une technique plus discrète consiste à créer un faux module PAM (pam_unix.so trojanisé ou un nouveau module) qui journalise les mots de passe légitimes ou accepte un mot de passe maître codé en dur. Les indicateurs de compromission PAM incluent : des modifications récentes des fichiers dans /etc/pam.d/ (timestamps suspects), des modules PAM inconnus dans /lib/security/ ou /lib64/security/ (vérifier les hashes contre les paquets installés), des entrées inhabitunelles dans les chaînes PAM (sufficient pam_permit.so, module inconnu), et des fichiers de log supplémentaires créés par un module malveillant. L'outil 'pam_tally2' et 'faillock' (selon la distribution) gèrent les verrouillages de compte et leurs logs peuvent révéler des tentatives d'authentification. La commande 'pamtester' permet de tester les chaînes PAM pour vérifier leur comportement.
Fonctionnement
PAM traite l'authentification via une pile de modules (auth, account, password, session). Chaque module retourne success ou failure. Les mots-clés 'required', 'requisite', 'sufficient', 'optional' définissent le comportement de la chaîne. Un module 'sufficient' qui retourne success court-circuite les modules suivants, permettant un bypass d'authentification.
Application DFIR
Sur un serveur Linux compromis : vérifier les timestamps de /etc/pam.d/* et /lib*/security/*.so, comparer les hashes des modules PAM avec les paquets (rpm -V pam / debsums libpam-modules), et analyser les logs d'authentification (/var/log/auth.log) pour des patterns inhabituels (authentifications depuis des IPs non reconnues, logins de comptes dormants).
Outils
find /lib*/security/ -newer /etc/passwd (modules récemment modifiés), md5sum/sha256sum + rpm -V/debsums pour la vérification d'intégrité, auditd (surveillance des accès aux fichiers PAM), AIDE/tripwire (baseline intégrité), strace sur sshd (analyse comportementale). Exemple backdoor documentée : libpam-backdoor research.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h