🖋️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 dedebsums | 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