🔍 Commandes pour Extraire des Informations de Base
uname-a# Affiche des informations sur le système d'exploitationdate# Affiche la date et l'heureifconfig-a||ipa# Affiche les interfaces réseau disponiblesps-ef# Affiche les processus en cours d'exécutionnetstat-anp# Affiche les connexions réseau, les tables de routage, etc.lsof-V# Affiche les fichiers ouverts par les processusnetstat-rn;route# Affiche la table de routagedf;mount# Affiche les informations sur l'utilisation du disque et les dispositifs montésfree# Affiche la mémoire libre et utilisée du systèmew# Affiche les utilisateurs connectéslast-Faiwx# Affiche l'historique des connexions et des sessions précédenteslsmod# Affiche les modules du noyau chargéscat/etc/passwd# Affiche les informations sur les utilisateurscat/etc/shadow# Affiche les hachages de mots de passe des utilisateursfind/directory-typef-mtime-1-print# Recherche les fichiers modifiés récemment dans un répertoire
🐧 Recherche d'Informations Suspectes
Pendant la collecte d'informations de base, recherchez des éléments inhabituels tels que :
Les processus root avec des PID élevés.
Les utilisateurs sans shell dans /etc/passwd.
Les hachages de mot de passe dans /etc/shadow pour les utilisateurs sans shell.
🧠 Dump de Mémoire
Utilisez LiME pour capturer la mémoire du système en cours d'exécution. Cela peut aider à identifier les logiciels malveillants et les activités suspectes sur le système.
📷 Imagerie Disque
Avant tout, éteignez le système. Prenez une image brute du disque en veillant à ce qu'il soit monté en lecture seule pour éviter toute modification. Voici un exemple de création d'une image brute du disque :
Vous pouvez également utiliser dcfldd pour créer une image disque avec une vérification de hachage :
📀 Analyse de l'Image Disque
📝 Trouver le Type de l'Image Disque
📝 Vérifier le Type d'Image Disque
📝 Obtenir des Informations sur le Système de Fichiers de l'Image
📝 Lister les Fichiers dans l'Image
📝 Extraire un Fichier de l'Image
🔍 Rechercher des Logiciels Malveillants Connus
Fichiers Système Modifiés
Linux propose des outils pour garantir l'intégrité des composants du système, essentiels pour détecter les fichiers potentiellement problématiques.
📂 Systèmes basés sur RedHat:
Utiliser rpm -Va pour un contrôle complet.
Systèmes basés sur Debian:
Utiliser dpkg --verify pour la vérification initiale, suivi de debsums | grep -v "OK$" pour identifier tout problème.
🐧 Détecteurs de Logiciels Malveillants/Rootkits
Lire la documentation des outils pour en savoir plus sur les outils qui peuvent être utiles pour détecter les logiciels malveillants.
📚 Rechercher les Programmes Installés
Pour rechercher efficacement les programmes installés sur les systèmes Debian et RedHat, envisagez d'exploiter les journaux système et les bases de données ainsi que les vérifications manuelles dans les répertoires communs.
Debian:
Inspectez /var/lib/dpkg/status et /var/log/dpkg.log pour récupérer des détails sur les installations de packages.
Utilisateurs RedHat:
Interrogez la base de données RPM avec rpm -qa --root=/mntpath/var/lib/rpm pour lister les packages installés.
🖱️ Recherche de Programmes Installés Manuellement
Explorez des répertoires comme /usr/local, /opt, /usr/sbin, /usr/bin, /bin, et /sbin.
🗃️ Récupérer les Binaires en Cours d'Exécution Supprimés
Imaginez un processus exécuté puis supprimé. Il est possible de l'extraire en récupérant la mémoire.
💿 Inspecter les Emplacements de Démarrage Automatique
Tâches Planifiées: Utilisez les commandes pour inspecter les emplacements où les malwares pourraient être installés en tant que service.
Services: Recherchez les emplacements où un malware pourrait être installé en tant que service, tels que /etc/inittab, /etc/rc.d/, /etc/rc.boot/, etc.
Modules du Noyau: Explorez les modules du noyau Linux chargés au démarrage du système.
Autres Emplacements de Démarrage Automatique: Explorez les fichiers et répertoires utilisés pour exécuter automatiquement des programmes lors de la connexion de l'utilisateur.
🔍 Examiner les Journaux
Les systèmes Linux suivent les activités des utilisateurs et les événements système via divers fichiers journaux. Ces journaux sont essentiels pour identifier les accès non autorisés, les infections par des logiciels malveillants et autres incidents de sécurité.
Fichiers Journaux Clés:
/var/log/syslog (Debian) ou /var/log/messages (RedHat): Capture les messages et les activités à l'échelle du système.
/var/log/auth.log (Debian) ou /var/log/secure (RedHat): Enregistre les tentatives d'authentification, les connexions réussies et échouées.
/var/log/boot.log: Contient les messages de démarrage du système.
/var/log/maillog ou /var/log/mail.log: Enregistre les activités du serveur de messagerie.
/var/log/kern.log: Stocke les messages du noyau, y compris les erreurs et les avertissements.
/var/log/dmesg: Contient les messages du pilote de périphérique.
/var/log/faillog: Enregistre les tentatives de connexion échouées.
/var/log/cron: Enregistre les exécutions de tâches cron.
/var/log/daemon.log: Suit les activités du service en arrière-plan.
/var/log/btmp: Documente les tentatives de connexion ayant échoué.
/var/log/httpd/: Contient les journaux d'erreur et d'accès Apache HTTPD.
/var/log/mysqld.log ou /var/log/mysql.log: Enregistre les activités de la base de données MySQL.
/var/log/xferlog: Enregistre les transferts de fichiers FTP.
/var/log/journal/: Vérifiez toujours les journaux inattendus ici.
👍 Commandes Utiles:
grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log: Filtrer les événements d'authentification pertinents.
last -Faiwx: Obtenir une liste des connexions utilisateur.
🕵️♀️ =Comptes d'Utilisateurs et les Activités de Connexion:
Vérifier /etc/passwd, /etc/shadow et les journaux de sécurité pour les comptes inhabituels.
Revoir /etc/sudoers et /etc/group pour les privilèges inattendus accordés aux utilisateurs.
Rechercher les comptes sans mots de passe ou avec des mots de passe faciles à deviner.
📒 Système de Fichiers:
Effectuer une analyse approfondie du calendrier avec des outils comme Autopsie.
Enquêter sur les scripts inattendus dans le $PATH du système.
Examiner /dev pour les dossiers atypiques.
Rechercher des fichiers ou des répertoires cachés.
Identifier les fichiers setuid avec la commande find.
🔄 Comparaison des Versions du Système de Fichiers:
Utiliser git diff pour comparer les versions du système de fichiers.
Filtrer les modifications spécifiques avec --diff-filter.