Détection des processus malveillants sous Linux

Avertissements :

  • Vérifiez que vos sauvegardes sont satisfaisantes avant d’apporter des modifications quelconques à votre serveur.
  • La modification d’une partie quelconque d’un serveur par l’intermédiaire d’un accès « administrateur » peut être à l’origine de la panne de certains services ou de l’impossibilité pour le système de redémarrer. Seuls des administrateurs expérimentés et autorisés devraient mettre en œuvre les mesures décrites dans ce guide.
  • Il est tout à fait possible que les utilitaires dont l’utilisation est préconisée dans ce guide (« ps », « ls », « lsof », « netstat », etc.) aient été remplacés sur le serveur par des versions piratées susceptibles de cacher des informations vitales pour la localisation des processus malveillants que vous recherchez.

 

Netstat :

L’une des principales fonctions de l’utilitaire « netstat » consiste à afficher toutes les connexions réseau actives. Pour afficher la liste de ces connexions avec les numéros de port plutôt qu’avec les noms, exécutez la commande suivante en tant que « root » :

# netstat -an

 

Lsof :

  • Exemple pour le trafic IRC :

Étant donné que l’utilisation d’IRC pour communiquer avec le serveur de contrôle et de commande constitue un symptôme habituel d’une activité de type « réseau de zombies » (botnet), il pourrait être utile d’afficher les ports actifs dans la plage de 6660 à 7000.

L’utilitaire « lsof », qui peut vous aider à déterminer la relation entre un port réseau ouvert et un fichier effectivement présent sur le disque de l’ordinateur, constitue à ce titre un outil incroyablement utile pour repérer une activité inhabituelle.

Nous devons tout d’abord trouver l’ID du processus (pid) responsable de la connexion réseau suspecte. Supposons que la commande « netstat » affiche une connexion réseau sortant du port TCP 6667 vers un autre serveur. La commande suivante (exécutée avec les permissions « root ») montrera les processus responsables de cette connexion réseau. Veuillez noter l’utilisation intentionnelle des deux points avant le numéro de port.

# lsof -RPni :6667

L’ID du processus (pid) est affiché dans la deuxième colonne à côté de chaque connexion utilisant le port considéré. L’utilisateur sous lequel s’exécute le processus constitue également une information particulièrement utile. Si cet utilisateur n’est pas « root », alors il est probable que le serveur n’a pas été complètement compromis et que la correction du problème ne nécessitera pas une réinstallation complète du système d’exploitation. Cependant, si le processus s’exécute sous « root », il pourrait y avoir de graves problèmes avec le serveur auquel il conviendrait de ne plus faire confiance. Dans ce cas, une réinstallation complète du serveur sera non seulement recommandée, mais indispensable.

Pour déterminer les fichiers utilisés par un processus découvert précédemment, on exécutera la commande suivante avec les privilèges « root », en substituant <pid> à l’ID du processus :

# lsof -Pnp <pid>

Le résultat de ces exécutions vous permettra non seulement d’utiliser la commande « kill » pour arrêter le ou les processus responsables, mais aussi de disposer d’une liste de fichiers concernés qu’il pourrait être nécessaire de supprimer. Mais faites particulièrement attention avant de supprimer ces fichiers, car certains d’entre eux pourraient légitimement faire partie du système d’exploitation et être simplement utilisés par un processus malveillant. Les fichiers qu’il faudra désactiver avec la commande « chmod » ou renommer sont généralement situés sous « /dev/shm », « /tmp », « /var/tmp », « /home/ », etc. ou dans d’autres zones où aucun fichier système ne réside. Les lignes en sortie de la commande « lsof », avec « cwd » et « txt » sous la colonne « FD », constituent ici les indices les plus importants.

Après l’arrêt et la désactivation des fichiers concernés, il faut vérifier qu’ils ne seront pas exécutés à nouveau. Même si la modification des permissions peut s’avérer utile, elle ne résout pas toujours totalement le problème. Il est ainsi extrêmement important de repérer les scripts de lancement des processus malveillants ainsi que la « crontab » (généralement celle de l’utilisateur sous lequel le processus concerné s’exécutait) dans « /etc/init.d/ » puis de les désactiver ou de les supprimer afin que le processus ne se lance pas de nouveau lors du redémarrage ou à un autre moment de la journée.

  • Exemple pour un trafic SSH hostile sortant :

Dans certains cas, un compte compromis est exploité par une personne malveillante ou par un réseau de zombies pour exécuter un programme d’attaque « force brute » par SSH. Le procédé décrit précédemment peut non seulement être utilisé pour localiser le compte qui génère ce trafic SSH hostile sortant, mais aussi pour déterminer l’emplacement du fichier malveillant.

# lsof -RPni :22
# lsof -Pnp <pid>

Une fois le compte compromis localisé, il est important d’en inspecter le contenu et les journaux à nettoyer.

  • Pour voir toutes les connexions actives :
# lsof -Pni

 

Détection des processus malveillants sous Windows

Avertissements :

  • Vérifiez que vos sauvegardes sont satisfaisantes avant d’apporter des modifications quelconques à votre serveur.
  • La modification d’une partie quelconque d’un serveur par le biais d’un accès « administrateur » peut être à l’origine de la panne de certains services ou de l’impossibilité pour le système de redémarrer. Seuls des administrateurs expérimentés et autorisés devraient mettre en œuvre les mesures décrites dans ce guide.

 

Netstat :

L’utilitaire « netstat », accessible à partir de la ligne de commande Windows, affiche toutes les connexions réseau actives. Pour en obtenir la liste, exécutez la commande suivante en tant qu’administrateur :

# netstat /ano

 

Outils tiers :

Les outils antivirus du marché pour Windows les plus répandus ne permettent que rarement de détecter une activité de type « réseau de zombies ». En effet, une fois la participation au réseau de zombies établie, certaines modifications sont effectuées pour que ces outils ne puissent plus voir les processus. C’est la raison pour laquelle il est plus efficace de détecter un comportement symptomatique d’une activité de type « réseau de zombies », puis d’essayer de déterminer les processus et les fichiers qui en sont responsables. Dans ce cadre, plusieurs outils sont disponibles.

Pour des instructions d’utilisation, veuillez consulter la documentation du fournisseur de l’outil que vous avez choisi. La liste ci-dessus n’est en aucun cas exhaustive et nous ne cautionnons pas l’utilisation de ces outils en particulier.

Vous avez d’autres questions ? Envoyer une demande

0 Commentaires

Cet article n'accepte pas de commentaires.
Réalisé par Zendesk