Cómo crear un Honeypot SSH para atrapar a los piratas informáticos en su servidor Linux

ssh hacker trampa Honeypot

Si alguna vez ha mirado los registros de autenticación de su servidor, entonces sabrá que cualquier servidor conectado a Internet está bajo un aluvión constante de intentos de inicio de sesión por parte de piratas informáticos.

Incluso si su servidor es un servidor de pasatiempos completamente desconocido, los scripts automatizados lo encontrarán e intentarán continuamente usar SSH por la fuerza bruta. Aunque no es probable que ingresen siempre que use contraseñas complejas u otras medidas de seguridad, siempre existe la posibilidad de que tengan éxito.

Afortunadamente, existe una forma útil y divertida de atrapar a estos piratas informáticos en su servidor y mantenerlos demasiado distraídos para causar problemas.

¿Qué es un Honeypot SSH?

En pocas palabras, un honeypot SSH es un señuelo destinado a parecerse a una fruta madura para atraer a los ciberdelincuentes y atraerlos para que lo apunten. Pero no es un objetivo real, y el hacker a menudo no se da cuenta hasta que es demasiado tarde.

Ssh Honeypot

Un honeypot puede adoptar muchas formas y tener muchos usos diferentes. A veces son poco más que una distracción, pero otras veces se utilizan para recopilar información sobre el atacante.

Muchas agencias gubernamentales usan honeypots para atrapar a los delincuentes, atrayéndolos a atacar, solo para recopilar información sobre ellos y atraparlos más tarde. Pero los honeypots también pueden ser utilizados por administradores de sistemas que trabajan para empresas o incluso simplemente por aficionados que ejecutan un servidor Linux por diversión.

¿Por qué utilizar un Honeypot SSH?

Hay muchas razones por las que alguien puede querer implementar un honeypot SSH en su servidor. En algunos casos, es posible que desee utilizarlo para poder bloquear cualquier conexión futura de ellos. Quizás simplemente desee alejarlos de objetivos reales en su sistema. O puede ser con fines educativos: para ayudar a aprender cómo funcionan los ataques.

Para los propósitos de esta guía, usamos principalmente el honeypot como distracción. Específicamente, distraerá al pirata informático de atacar partes más vulnerables de su servidor y los mantendrá demasiado ocupados para atacar el servidor de otra persona.

Y, al menos en este caso, el método utilizado también será bueno para una risa o dos.

Atrapado en SSH

Esencialmente, lo que queremos hacer es atrapar al pirata informático cuando intenta forzar el inicio de sesión SSH por la fuerza bruta. Hay algunas formas de hacer esto, pero una de las más simples es enviarles lentamente un banner SSH muy largo.

De esta manera, el script automatizado del hacker se quedará atascado esperando un banner. Esto puede durar horas, si no días o semanas. Dado que el script está automatizado, es probable que el pirata informático no le preste mucha atención y no se dé cuenta de que está bloqueado hasta que haya pasado mucho tiempo.

A esto a veces se le llama en broma un «tarpit SSH», ya que el script del hacker se atasca y no puede salir por sí solo.

Esto requiere que conozca el uso básico de SSH. Si no está seguro de cómo usar SSH, lea esta guía para comenzar.

sin fin

El programa que estamos usando para lograr esto se llama sin fin y está hecho por skeeto.

Honeypot Endlessh Github

Una vez que haya iniciado sesión en su servidor, clone el repositorio. (Necesitas tener git lo instaló.)

Ahora que tiene el repositorio en su servidor, deberá cambiar a ese directorio y compilarlo.

Pueden surgir algunos errores al intentar compilar el programa. Lo más probable es que esto signifique que le falta una dependencia que el programa necesita compilar. Deberá verificar qué dependencia dice que falta, luego instalarla con el administrador de paquetes de su distribución.

Una vez que tenga el programa para compilar, querrá moverlo a su directorio bin para que esté en su ruta.

Querrá volver a verificar para asegurarse de que se detecte en su camino.

Debería imprimir el/usr/local/bin/endlessh sendero. Si este no es el caso, querrá asegurarse de que se haya movido al directorio correcto.

Ssh Honeypot que interminable

Después de eso, convierta el programa en un demonio de servicio para que pueda funcionar como un systemd Servicio.

una vez que haya terminado, habilite el servicio para que se ejecute en segundo plano.

Ssh Honeypot Systemctl Habilitar sin fin

De forma predeterminada, Infinityh solo funcionará en puertos por encima de 1024, pero queremos que use el puerto SSH predeterminado para que podamos engañar a los piratas informáticos para que intenten atacarlo. Para hacer esto, necesitamos editar el archivo de servicio.

Este ejemplo usa nano para editar el archivo de configuración, pero siéntase libre de usar el editor de texto que prefiera.

Una vez que el archivo esté abierto, elimine el comentario de la siguiente línea eliminando el carácter #:

Luego agregue un # al comienzo de esta línea:

Archivo de servicio de Honeypot Endlessh

Guarde el archivo y ejecute este comando:

Deberá crear y configurar un archivo de configuración para que Infinityh sepa en qué puerto debe ejecutarse. Primero deberá crear un nuevo directorio para él y luego crear el archivo de configuración.

El archivo de configuración solo necesitará una línea en él. Esto le indicará a InfinityH que se ejecute en el puerto 22, que es el puerto predeterminado para SSH. Hacemos esto para que sea un objetivo más atractivo para los piratas informáticos. Verán que el puerto SSH predeterminado está abierto y luego intentarán entrar en él.

Ingrese lo siguiente en su archivo de configuración:

Configuración de Honeypot Endlessh

Deberá iniciar el servicio Infinity.

¡Eso es todo al respecto! Ahora tendrá un sinfín de horas ejecutándose en su puerto SSH predeterminado y ya está atrapando a los piratas informáticos.

Probándolo

Solo para asegurarnos de que el honeypot funciona según lo previsto, pretendamos ser un pirata informático por un segundo e intentemos obtener acceso a SSH en su servidor.

Siempre que todo se haya configurado correctamente, debería ver que el ssh El comando está atascado y no hace nada. Echemos un vistazo para ver qué está sucediendo realmente cuando usted (o un pirata informático real) emite este comando.

Repita el mismo comando pero agregue el -vvv bandera para usar la opción detallada.

Prueba Honeypot Ssh

Ahora debería ser evidente cómo esta pequeña herramienta lo está atrapando y evitando que acceda a SSH en su servidor. Lentamente, línea por línea, envía un banner SSH muy grande al cliente.

Y, por supuesto, dado que un pirata informático tiene esto automatizado con un bot, no se darán cuenta de que esto está sucediendo hasta después de haber perdido horas, si no días, de su tiempo.

Preguntas frecuentes

1. ¿Evitará esto que los piratas informáticos accedan a SSH?

Aunque es un elemento de disuasión bastante bueno, no está garantizado que detenga por completo a los piratas informáticos. Un hacker atento eventualmente notará que ha creado un honeypot en su servidor y puede probar diferentes puertos para acceder a SSH en su servidor.

Sin embargo, esto debería ser suficiente para evitar que los piratas informáticos que solo buscan la fruta madura.

2. ¿Cómo uso SSH si este programa se ejecuta en el puerto predeterminado?

Deberá cambiar el puerto en el que se ejecuta SSH. Esta es una buena práctica incluso si no tiene un honeypot en su servidor, ya que los piratas informáticos siempre probarán los puertos predeterminados primero antes de buscar otros.

3. ¿Hay otras opciones que pueda agregar al archivo de configuración?

Sí, hay varias otras configuraciones que puede cambiar, incluido el cambio de la velocidad de retardo.

Puede ver una lista de opciones en el archivo de configuración de muestra en el repositorio de Github.

Ultimas palabras

Ahora que ha aprendido cómo configurar un honeypot en su servidor para atrapar a los piratas informáticos y mantenerlos distraídos para que no puedan atacar nada más, está lejos de ser la única forma de asegurar el acceso SSH a su servidor.

Consulte este artículo que muestra cómo utilizar las claves de cifrado para iniciar sesión en SSH para ayudar a proteger aún más su servidor.

Credito de imagen: Miel en bote, panal y palo por Yay Images