LiME Linux Memory Extractor
forensicsDéfinition
LiME (Linux Memory Extractor) est un module noyau Linux (LKM - Loadable Kernel Module) conçu spécifiquement pour l'acquisition forensique de la mémoire physique sur des systèmes Linux en cours d'exécution. Développé par Joe Sylve, c'est l'outil de référence pour la capture mémoire sur Linux dans les investigations DFIR. L'architecture de LiME est unique : il s'agit d'un module noyau qui doit être compilé pour le noyau cible (version de noyau spécifique et configuration). Cette contrainte est le principal défi pratique de LiME : il faut soit compiler LiME sur la machine cible, soit avoir préalablement compilé des versions pour les distributions et versions de noyaux couramment rencontrées dans l'environnement investigué. Des projets comme AVML (Alternative VMware Linux Memory acquisition) contournent cette limitation en fonctionnant depuis l'espace utilisateur. LiME supporte plusieurs modes d'acquisition. Le mode fichier écrit directement le dump dans un fichier local : 'insmod lime-[version].ko path=/tmp/memory.lime format=lime'. Le mode réseau transmet le dump via réseau sans écriture sur le disque local (pour préserver l'espace disque et éviter de contaminer les preuves sur le disque cible) : 'insmod lime-[version].ko path=tcp:4444 format=lime', puis depuis la machine de collecte 'nc target 4444 > memory.lime'. Le mode lime produit un format incluant des en-têtes décrivant les segments de mémoire physique. Le format de sortie LiME est compatible avec Volatility 3 et les autres outils d'analyse mémoire. Volatility 3 reconnait automatiquement le format LiME et peut créer les symbol tables pour analyser le dump. Pour les distributions Linux communes (Ubuntu, Debian, RHEL), Volatility peut généralement localiser ou télécharger les symbol tables appropriées. AVML (open source, Microsoft) est une alternative userland à LiME qui ne nécessite pas de compilation de module noyau. Il utilise /proc/iomem pour cartographier la mémoire physique et la copie via /dev/mem (si accessible) ou d'autres méthodes selon la configuration du noyau.
Fonctionnement
LiME est inséré comme module noyau via insmod. Il crée un périphérique virtuel qui mappe la mémoire physique. Le dump inclut des en-têtes LiME décrivant chaque segment (début, fin, longueur). Le format lime est nativement supporté par Volatility 3. Le module est retiré après l'acquisition avec rmmod lime.
Application DFIR
Sur un serveur Linux compromis en cours d'investigation : compiler LiME pour la version noyau exacte (uname -r), charger le module, et transférer via réseau pour éviter d'écrire sur le disque suspect. Analyser avec 'python vol.py -f memory.lime linux.pslist' puis 'linux.bash' pour l'historique bash en mémoire.
Outils
LiME (GitHub: 504ensicsLabs/LiME), AVML (Microsoft, userland alternative), rekall/linux. Compilation : apt-get install linux-headers-$(uname -r) puis make. Pré-compilés : packages LiME pour Ubuntu/Debian/RHEL sur certains dépôts. Analyse des dumps : Volatility 3 (linux.*), Rekall (linux.*).
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