Fiche mémo
Artefacts Linux
Où chercher les traces d'une intrusion sur un serveur Linux : journaux, persistance et activité des utilisateurs. Les bases sont dans Linux essentiel.
Journaux
| Fichier | Contenu |
|---|---|
| /var/log/auth.log | Authentifications, sudo et SSH (Debian, Ubuntu) |
| /var/log/secure | Authentifications, sudo et SSH (RHEL, Fedora) |
| /var/log/syslog | Messages système généraux (Debian, Ubuntu) |
| /var/log/messages | Messages système généraux (RHEL, Fedora) |
| /var/log/wtmp | Historique des connexions, lu avec last |
| /var/log/btmp | Échecs de connexion, lus avec lastb |
| /var/log/lastlog | Dernière connexion de chaque compte, lue avec lastlog |
| /var/log/audit/audit.log | Événements d'audit (auditd) |
| journalctl | Journal de systemd (services, noyau, connexions) |
grep "Accepted" /var/log/auth.log # connexions SSH réussies
grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn
last -f /var/log/wtmp ; lastb | head # connexions et échecs
journalctl -u ssh --since "2026-11-01" --until "2026-11-02"
Persistance
| Emplacement | Mécanisme |
|---|---|
| /etc/crontab, /etc/cron.d/ | Tâches planifiées du système |
| /var/spool/cron/ | Tâches planifiées des utilisateurs (crontab -l) |
| /etc/systemd/system/ | Services et timers systemd ajoutés |
| ~/.bashrc, ~/.profile | Commandes lancées à l'ouverture d'un shell |
| ~/.ssh/authorized_keys | Clés autorisées à se connecter en SSH |
| /etc/ld.so.preload | Bibliothèque chargée dans tous les processus |
| /etc/rc.local | Script lancé au démarrage (ancien mécanisme) |
| /etc/passwd (UID 0) | Compte supplémentaire avec les droits de root |
Traces de l'activité
| Élément | Contenu |
|---|---|
| ~/.bash_history | Commandes tapées dans bash |
| ~/.viminfo | Fichiers ouverts et recherches faites dans vim |
| ~/.ssh/known_hosts | Hôtes auxquels le compte s'est connecté en SSH |
| /tmp, /dev/shm | Dossiers inscriptibles par tous, souvent utilisés pour déposer des outils |
| /proc/<pid>/exe | Lien vers l'exécutable d'un processus, même supprimé du disque |
| /proc/<pid>/cmdline | Ligne de commande complète d'un processus |
ls -la /proc/*/exe 2>/dev/null | grep deleted # processus lancés depuis un fichier supprimé find / -xdev -newermt "2026-11-01" -type f 2>/dev/null | grep -v ^/proc # fichiers modifiés depuis une date awk -F: '$3 == 0' /etc/passwd # comptes avec l'UID 0
Historique vide ?Un ~/.bash_history vide ou lié à /dev/null, ou la variable HISTFILE désactivée, est en soi un indice : l'attaquant a voulu effacer ses traces.