JournalTerrain
perfctl sur un serveur Ubuntu : ce qu'on a vu, et comment le repérer chez vous
Un mineur et un rootkit installés depuis au moins une semaine sur un serveur exposé à internet. On y a installé Hermian pour observer une vraie infection. Voici les traces qu'elle laisse et les commandes pour les chercher.
À retenir+
- Le malware se cache via /etc/ld.so.preload et se réinstalle par crontab et .profile.
- En une heure : 127 alertes, dont 4 critiques.
- Une machine infectée à ce point se réinstalle, elle ne se nettoie pas.
Le contexte
Ubuntu 24.04, noyau 6.8, exposé à internet. Le malware perfctl y tournait depuis au moins une semaine : un mineur de cryptomonnaie et un rootkit chargé par /etc/ld.so.preload. On n'a lancé aucun test, le but était d'observer.
Ce qu'Hermian a remonté
En une heure environ : 127 alertes (4 critiques, 75 hautes, 37 basses, 11 informatives) sur 30 255 événements, pour 1,7 % de CPU et 17 Mo de mémoire. La plupart venaient des connexions sortantes du mineur, chaque nouvelle destination déclenchant sa propre alerte.
- un faux serveur web qui lance un shell, et une exécution depuis un dossier caché dans
/tmp; - la réécriture de la crontab de root et de
.profile, à chaque réinstallation du malware ; - la ligne dans
ld.so.preload, en critique ; LD_PRELOADdans des processus sans session, et une clé SSH cachée.
Les mêmes traces, à chercher chez vous
cat /etc/ld.so.preload
crontab -l -u root
ls -la /tmp /dev/shm /var/tmp
grep -l LD_PRELOAD /proc/*/environ 2>/dev/null
ss -tunap
Attention : si le rootkit est actif, ls et ps peuvent mentir. Comparez avec un busybox statique apporté sur une clé USB.
Ce qu'Hermian n'a pas vu
Des programmes déguisés en fichiers .so dans /usr/lib, des attributs immuables, des binaires antidatés, un binaire SUID déjà présent, des processus cachés, et le trafic Tor. Chacun est une piste de règle pour les prochaines versions.
Ce qu'on a corrigé
Le rootkit se chargeait aussi dans le démon Hermian : corrigé le 18 octobre (#92). À la désinstallation, dpkg gardait le paquet listé : corrigé aussi (#90). La machine, elle, sera réinstallée depuis une image propre.