Ldfa Posté(e) le 30 décembre 2019 Partager Posté(e) le 30 décembre 2019 Dans cet billet, nous verrons quelques commandes Linux qui peuvent être utiles à tout administrateur système pour la détection d’activités “louches” sur un système.Bien que j’utilise un système Ubuntu dans cet article, toutes les commandes utilisées sont disponibles sur toutes les distributions Linux. Who et w La commande who détermine les utilisateurs connectés à un système.Dans l’image suivante, cette commande nous informe que l’utilisateur mdestroy est connecté localement (tty) et l’utilisateur root est connecté à partir de l’adresse 192.168.43.129 via un pseudo-terminal esclave (pts) ce qui représente dans notre cas une connexion ssh. Les dates représentent le début de chaque connexion. La commande w retourne les mêmes infos que who mais avec quelques précisions en plus. Ces deux commandes vous aideront à reconnaître très rapidement les logins actifs étrangers à votre système. Last La liste des récents logins peut être affichée avec last.Cette commande peut vous donner très rapidement des indications sur des accès non-autorisés. NB: A noter que les connexions via sftp, scp ou le client ssh paramiko ne laissent aucune trace avec les commandes ci-dessus listées.En effet, who, w et last ne liste que des logins de session shell, ce que ne sont pas sftp, scp et paramiko. Les accès de ces programmes seront toutefois visibles dans le fichier /var/log/auth.log. Lastb affiche quant à elle les tentatives de connexions erronnées. Cette commande ne peut être exécutée qu’avec le compte root.Dans l’image suivante, nous apprenons qu’une personne a tenté de se connecter au système à partir de l’adresse 192.168.43.96 avec les comptes root, mdestroy, marty, ahou et akissi. History La commande history fournit une liste des commandes exécutées par l’actuel utilisateur. NB: Pour voir la date précise à laquelle les commandes sont excécutées, ajoutez la ligne suivante au fichier ~/.bashrc de l’utilisteur ciblé: $ echo 'export HISTTIMEFORMAT="%d/%m/%y %T " ' >> ~/.bashrc$ source ~/.bashrc$ history Acct acct est un ensemble d’outils servant à monitorer les activités de tous les utilisateurs sur un système.L’application n’est pas installée par défaut sur les distributions basées sur Debian.Vous pouvez l’installez sur votre système comme suit: # apt-get install acct -y NB: Sur les systèmes RedHat/Centos, ce package est connu sous le nom psacct. Deux outils de ce package s’avèrent très précieux.Le premier est ac. Cet outil détermine le temps passé par chaque utilisateur sur un système.L’option d de l’outil détermine la durée totale de connexion de tous les utilisateurs selon les jours tandis que l’option p détermine la durée de connexion de chaque personne connectée au système. ac executée avec les options d et p nous permet donc de déterminer la durée de connexion (en heures) de chaque utilisateur par jour. L’autre outil interessant du package acct est lastcomm. Cet outil affiche les dernières commandes exécutées sur le système. lastcomm utilisée avec une commande montre les dates auquelles la commande été exécutée et les utilisateurs qui l’ont exécutée. Lorsqu’exécutée avec un nom d’un utilisateur, lastcomm affiche les commandes exécutées par cet utilisateur. Dans l’exemple suivant, nous remarquons que Perl a été exécuté pendant près de 20 minutes par l’utilisateur root. Nous découvrons également que ce programme a été exécuté plus d’une fois ! La découverte de cette activité anormale peut être le début d’une investigation. Ci-dessous un récapitulatif des fichiers utilisés par les utilités présentées plus haut: Utilités Fichiers utilisés who /var/log/utmp w /var/log/utmp last /var/log/wtmp lastcomm /var/log/btmp history ~/bash_history Top et ps La commande top fournit une liste des processus exécutés sur un système en temps réel.Les processus sont listés selon leur utilisation du CPU.Si vous constatez qu’un système est lent, c’est le 1er endroit à voir. La commande ps est également utilisée pour lister les processus en cours d’exécution sur un système. Exécutée avec les options a, u, x, la commande retourne tous les processus exécutés par tous les utilisateurs (avec leur PID), y compris ceux non rattachés au terminal, et le propriétaire de chacun des processus. L’option forest affiche la structure des processus. Cette commande nous donne une idée sur les liens qu’il peut avoir entre certains processus. Netstat Netstat est un outil permettant de voir toutes les ports réseaux utilisés par un système. Cette commande vous aidera à détecter les connexions louches de votre système. Ci-dessous quelques options de Netstat utiles: -p affiche le PID des programmes,-t affiche uniquement les connexions tcp,-u affiche uniquement les connexions udp,-l affiche les sockets à l’écoute,-a affiche les sockets ouverts,-n affiche les valeurs numériques des ports et des adresses (désactive la résolution des noms). Lsof La commande Lsof (list Open Files) liste les différentes ressources utilisées par les processus.Ces ressources peuvent être des dossiers, des sockets, des pipes, des appareils, etc.L’option i permet l’affichage de toutes les connexions (ipv4 ou ipv6) en cours et celles qui sont à l’écoute. Pour découvrir les ressources utilisées par un processus particulier, utilisez l’option p. L’option u permet l’affichage des ressources utilisées par un utilisateur particulier. Des informations supplémentaires sur les processus sont disponibles à travers leur dossier /proc: cat -v cmdline détermine la commande qui a été utilisée pour amorcer le processus. Crontab Si un système est compromis, il est probable que l’attaquant derrière cette action crée une persistence sur le système. Cette opération peut se faire entre autres via l’utilité de planification de tâche Cron. Pour consulter les tâches planifiées par un utilisateur particulier, il vous suffit de lancer la commande ci-dessous: # crontab -u user -l Ou la commande suivante pour l’utilisateur en cours: # crontab -l Utiliser des outils natifs de Linux pour analyser le comportement d’un système permet un gain de temps énorme. Sachez cependant que ces commandes connaissent certaines limites car il est parfois possible de manipuler leur affichage. Dans de prochains articles, nous verrons comment utiliser certaines de ces commandes pour analyser “en live” un système compromis. mdestroy Share this: Afficher l’article complet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.