🖋️Pour approfondir

Collecte d'Informations Initiale

📝 Configuration des Variables d'Environnement

export PATH=/mnt/usb/bin:/mnt/usb/sbin
export LD_LIBRARY_PATH=/mnt/usb/lib:/mnt/usb/lib64

🔍 Commandes pour Extraire des Informations de Base

uname -a                 # Affiche des informations sur le système d'exploitation
date                     # Affiche la date et l'heure
ifconfig -a || ip a      # Affiche les interfaces réseau disponibles
ps -ef                   # Affiche les processus en cours d'exécution
netstat -anp             # Affiche les connexions réseau, les tables de routage, etc.
lsof -V                  # Affiche les fichiers ouverts par les processus
netstat -rn; route       # Affiche la table de routage
df; mount                # Affiche les informations sur l'utilisation du disque et les dispositifs montés
free                     # Affiche la mémoire libre et utilisée du système
w                        # Affiche les utilisateurs connectés
last -Faiwx              # Affiche l'historique des connexions et des sessions précédentes
lsmod                    # Affiche les modules du noyau chargés
cat /etc/passwd          # Affiche les informations sur les utilisateurs
cat /etc/shadow          # Affiche les hachages de mots de passe des utilisateurs
find /directory -type f -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 :

dd if=<device> of=<image_file> bs=512

Vous pouvez également utiliser dcfldd pour créer une image disque avec une vérification de hachage :

dcfldd if=<device> of=<image_file> bs=512 hash=<algorithm> hashwindow=<chunk_size> hashlog=<hash_file>

📀 Analyse de l'Image Disque

📝 Trouver le Type de l'Image Disque

file disk.img

📝 Vérifier le Type d'Image Disque

img_stat -t disk.img

📝 Obtenir des Informations sur le Système de Fichiers de l'Image

fsstat -i raw -f ext4 disk.img

📝 Lister les Fichiers dans l'Image

fls -i raw -f ext4 disk.img

📝 Extraire un Fichier de l'Image

icat -i raw -f ext4 disk.img <inode_number>

🔍 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.

Last updated