BruteSSH

Posted on January 11th, 2007 in Seguridad by Miggs

Como buen administrador, después de los espectaculares resultados obtenidos en “Navegando entre los logs”, he intentado indagar en el tema, buscando sobre todo la fuente del ataque.
Al parecer, icaix.com no es la única experimentando dichos escaneos. Al tipo de ataque lo denominan ‘dictionary-based attack’, gracias a google he encontré a un tal “Zorg of #texter” (www.wget.home.ro) escribió un simple programita en C, con el cual a través de una lista de usuarios y passwords introducidas a “pelo” dentro del código, intenta conseguir acceso en la víctima.
Aquí os dejo el código. El programa (exploit) es muy sencillote de seguir y de customizar.

Hay varias soluciones para reducir las posibilidades de exito de dicho exploit:

  • La primera es evitar el uso de usuarios y passwords comunes. In icaix todos los usuarios con acceso a la shell tienen un pequeño prefijo antes del nombre de usuario (icaix1_miggs, icaix2_cdc, icaix3_game…).
  • La segunda es cambiar el puerto de escucha. Si por defecto el sshd escucha en el puerto 22, pues cambiarlo al 2222. Así evitaras todo este tipo de exploits automatizados.
  • La tercera el limitar el acceso a determinados rangos de ips. Por ejemplo, bloquear las ips pertenecientes a nigeria, rumania, china, y japon.
  • Otra opción es el uso de algún script que bloquee automáticamente la ip del posible intruso después de n intentos de acceso consecutivos fallidos. Uno de los primeros que me encontrado es este “sshblack”, pero hay multitud mas. Tengo que aclarar que no lo he probado todavía. Personalmente no me gusta porque el tiro te puede salir por la culata y quedarte bloqueado tu mismo.
  • Por ultimo, y seguramente la mas segura, es el uso de “Rsaauthentication”, lo cual se basa en el uso de “llaves criptograficas” para loguearse. Cada usuario posee una llave privada, y una llave publica. La llave privada es secreta para uso propio. Y la llave publica es publica. Cualquier usuario que quiera enviar un mensaje lo encriptara con la llave publica, y solo el poseedor de la llave privada debería ser capaz de desencriptarla. Durante la configuración del servidor (o en cualquier momento), incluimos las llaves publicas de los usuarios con acceso a este. Una vez echo esto, los usuarios solo necesitan la llave privada para loguearse (nada de passwords). Este método además evita posibles ataques “man in the middle”. Os he dejado un tutorial en la sección de howto, al que podéis acceder directamente aquí.

Pues eso es todo. Os recomiendo que intentéis el ultimo método en casa!

Un saludo, Miggs.

One Response to 'BruteSSH'

  1. zorg said, on February 13th, 2008 at 11:51 pm

    buenas,
    tot muy bien dicho pero :
    “La tercera el limitar el acceso a determinados rangos de ips. Por ejemplo, bloquear las ips pertenecientes a nigeria, rumania, china, y japon.”
    no tiene logica y sabes porque ? nunca un haxor no va escanear desde su home server, la majoria de los attacks provienen desde servers hacked.
    gracias y escuze my bad spanish i am romanian
    peace

Post a comment