Cómo descubrir usuarios activos en servidores OpenSSH

Escrito por Sergio De Luz
Redes
0

Uno de los servidores más conocidos y usados en el mundo de las redes es OpenSSH, un servidor SSH de código libre y gratuito. Este servidor SSH está disponible para todos los sistemas operativos basados en Linux ya sea de escritorio, para servidores e incluso integrado en firmwares de routers como Tomato RAF, DD-WRT u OpenWRT.

Ahora se ha descubierto un pequeño “truco” para poder descubrir un usuario activo en dicho servidor, y de esta manera, realizar un ataque por diccionario o fuerza bruta a la clave en cuestión.

Según podemos leer en Cureblog.de, se han dado cuenta que hay un cierto retardo de tiempo cuando hacemos login con un usuario que no existe en el sistema. Para poder crackear el acceso al servidor, es necesario también saber el usuario, por tanto es lo primero que deberemos descubrir.

Al descubrir este retardo, han hecho un script para automatizar el proceso y conseguir el usuario del servidor SSH aunque la contraseña no sea la correcta.

Dicho script consiste en introducir 39.000 caracteres en el campo de contraseña, si el proceso tarda más de la condición de tiempo que hemos estipulado, es porque el usuario al que hacemos referencia existe en dicho servicio. De esta forma podremos averiguar de forma fácil un usuario en el sistema.

Si estamos probando esta pequeña herramienta en nuestro propio servidor SSH, veremos que hay un incremento muy alto en la carga de CPU ya que el demonio SSH intenta calcular la contraseña.

Este error ha sido probado en las versiones 6.X y 5.X de OpenSSH.

Una posible solución a este truco consistiría en calcular la contraseña para todos los usuarios sin comprobar si un usuario existe o no en el sistema. Otra solución sería limitar la contraseña a un determinado número de caracteres.