Sécurité

Comment effectuer une attaque Man in the Middle - MITM sur le protocole SSH

Attaque Man in the Middle sur le protocole SSH avec ssh-mitm et ettercap sous Kali Linux : ARP poisoning, capture Wireshark et lecture de shell_session_0.txt.

· 3 min de lecture · niveau avancé

Bonjour,

Il est essentiel de savoir comment est réaliser une attaque de l'homme du milieu pour mesurer l'importance d'appliquer les contre-mesures de sécurisation du service SSH.

Je vous propose de commencer à travailler sur l'environnement suivant :

  • Un serveur Kali-Linux -> Attaquant
  • Un serveur SSH sur Linux -> Cible 1
  • Un client SSH Windows ou Linux -> Cible 2

Etape 1 : Récupération et installation de SSH-MITM

Pour commencer il faut mettre à jour la liste des packages de notre Kali-Linux :

apt update

Il faudra ensuite récupérer le logiciel SSH-MITM depuis GitHub :

git clone https://github.com/jtesta/ssh-mitm

Plusieurs étapes seront à réaliser, se rendre dans répertoire d'installation, définir le

format de langage US-utf8 puis lancer le script d'installation :

cd ssh-mitm
export LANG=en_US.utf-8
sudo ./install.sh

La commande « export LANG=en_US.utf-8 » exporte via une variable d’environnement, la langue par défaut utilisée au moment de l’installation de l’outil (anglais avec un encodage UTF-8). Sans cet export, un message d’erreur empêche l’installation.

./ permet de lancer le script shell install.sh présent dans le dossier ssh-mitm.

Lors de cette installation, il peut vous être demandé d’installer AppArmor pour restreindre les droits de ssh-mitm sur la machine. Si c'est le cas, acceptez la proposition.

Nous pouvons maintenant lancer le service ssh-mitm qui écoutera sur le port 2222 :

sudo ./start.sh

Il est facilement possible de vérifier quelles sont les services liés aux ports ouverts avec :

ss -ltnp

Etape 2 : Réalisation de l'attaque MITM à l'aide d'ettercap

Les deux adresses IP doivent être remplacer par celles de votre serveur SSH Linux et de votre client SSH Windows ou Linux.

sudo ettercap -i eth0 -T -M arp /192.168.x.x// /192.168.x.x//
  • -T : lance ettercap en mode texte
  • -M : indique que l'on lance une attaque de type "Man in the middle"
  • 192.168.x.x : serveur SSH / 192.168.x.x : client SSH -> adresses IP des victimes
Illustration 1 — Comment effectuer une attaque Man in the Middle - MITM sur le protocole SSH

Je vous propose de lancer Wireshark sur notre Kali-Linux pour vérifier l'efficacité de l'empoisonnement de la table ARP (ARP Poisoning).

Illustration 2 — Comment effectuer une attaque Man in the Middle - MITM sur le protocole SSH

Etape 3 : Récupération des informations transmises par SSH

Tout d'abord il est nécessaire d'arrêter l'attaque en appuyant sur " h " puis sur " q ".

Le fichier généré /home/ssh-mitm/shell_session_0.txt contient l'ensemble des informations ayant transité entre le client et le serveur SSH lors de l'attaque man in the middle.

Illustration 3 — Comment effectuer une attaque Man in the Middle - MITM sur le protocole SSH

Il est aussi parfois possible de retrouver les logins utilisés directement depuis le fichier auth.log contenant les journaux d'authentifications du Kali-Linux.

Vous pouvez le visionner comme ceci :

cat /var/log/auth.log

Etape 4 : Renforcement de la sécurité du service openSSH

Rendez-vous sur l'article suivant : Comment renforcer la sécurité du service openSSH avec les clés de chiffrement SSH