Fallo en OpenSSH puede permitir ataques de fuerza bruta de autenticación

OpenSSH (Open Secure Shell) tiene un fallo de seguridad en el mecanismo de autenticación mediante dispositivos interactivos de teclado, ya que permite a un atacante evadir el número de intentos fallidos de autenticación de contraseña por conexión.

El atacante puede intentar tantas veces como requiera, para lo cual sólo tiene que aprovechar la configuración de “tiempo de gracia para el inicio de sesión” (login graced time) que de forma predeterminada es puesta para dos minutos.

Desarrollado por el Proyecto OpenBSD, OpenSSH es un conjunto de aplicaciones de código abierto basados en el protocolo SSH para el cifrado de las comunicaciones a través de una red. Fue creado como una alternativa a Secure Shell, que es software propietario. OpenSSH es la herramienta más utilizada para el acceso remoto seguro a sistemas basados en Linux.

De forma predeterminada OpenSSH permite 6 intentos de ingreso de la contraseña en dos minutos antes de cerrar la conexión. El sistema cliente de OpenSSH permite sólo tres intentos. Este mecanismo de protección es usual para proteger contra ataques de fuerza bruta.

Sistemas como FreeBSD son afectados por la vulnerabilidad debido a que utilizan de forma predeterminada el mecanismo de autenticación mediante dispositivos interactivos de teclado.

El fallo fue reportado por King Cope quien además facilitó código aplicable como prueba de concepto de la explotación de la vulnerabilidad:

ssh -lusername -oKbdInteractiveDevices=`perl -e ‘print “pam,” x 10000’` targethost

Esta instrucción ejecutará el comando ssh para hasta 10,000 contraseñas limitadas por el ajuste del tiempo de gracia de inicio de sesión. Un atacante podría iniciar un ataque de fuerza bruta al escribir un script especialmente diseñado para intentar la conexión aprovechando el fallo para miles de intentos de adivinación de la contraseña y de tener éxito poder acceder al sistema objetivo.

Cope también proporciona un parche para openssh-6.9p1 que permitirá utilizar una lista de palabras y cualquier contraseña canalizadas al proceso ssh para ser utilizados con el fin de descifrar contraseñas de forma remota. El ataque con dicho código fue probado contra versiones antiguas y recientes de FreeBSD, específicamente la 6.2 y la 10.1.

En tanto no se disponga de un parche oficial para OpenSSH, se recomienda a los administradores de sistemas que utilizan OpenSSH utilizar llaves de cifrado para la autenticación, ajustar el periodo de gracia a 20 ó 30 segundos, y usar las herramientas Fail2BanPam-Shield para limitar los intentos fallidos de acceso.

Deja una respuesta