31 octubre 2024

Endlessh: Tarpit SSH

La línea que separa el bien del mal no pasa entre Estados, ni entre clases, ni entre ideologías, sino que atraviesa el corazón de cada ser humano.
Aleksandr Solzhenitsyn
Homero: Dentro de cada Hombre hay una Lucha entre el Bien y el Mal que no se resuelve (sale imaginacion con Homero vestido de diablo y con maracas en un cementerio. Y Una lapida del Homero Bueno enterrado, mientras esta cantando: 🎵 SOY HOMERO EL MALOO, SOY HOMERO EL MALOO, SOY HOMERO EL MALOO🎶)...
Un tarpit es un servicio en un sistema informático (normalmente un servidor) que retrasa deliberadamente las conexiones entrantes. La técnica se desarrolló como defensa contra un gusano informático y la idea es que los abusos de la red, como el envío de correo basura o el escaneo general, son menos eficaces y, por lo tanto, menos atractivos si tardan demasiado. El concepto es análogo al de un pozo de alquitrán, en el que los animales pueden empantanarse y hundirse lentamente bajo la superficie, como en un pantano.

Resumiendo, un Tarpit es una cosa sencilla. Una trampa que se basa en que en que un puerto de tu servidor tarde muchísimo en responder. Le drenes recursos que podría estar utilizando para atacar otros hosts y además se desmotive y se vaya a dar romper las pelotas a otro sitio.

Endlessh es un tarpit SSH que envía muy lentamente un banner SSH aleatorio e infinito . Mantiene a los clientes SSH bloqueados durante horas o incluso días seguidos. El propósito es poner su servidor SSH real en otro puerto y luego dejar que los script kiddies se queden atrapados en este tarpit en lugar de molestar a un servidor real.

Dado que el tarpit se encuentra en el banner antes de que se produzca cualquier intercambio criptográfico, este programa no depende de ninguna biblioteca criptográfica. Es un programa C simple, autónomo y de un solo subproceso. Usa poll() para atrapar a varios clientes a la vez.

Justo después de que la conexión TCP es establecida y antes de negociar la criptografía ambos lados mandan un string de identificación. No hay límite en los datos que puede enviar...
Uso
La información de uso se imprime con -h.

Usage: endlessh [-vhs] [-d MS] [-f CONFIG] [-l LEN] [-m LIMIT] [-p PORT]
-4 Bind to IPv4 only
-6 Bind to IPv6 only
-d INT Message millisecond delay [10000]
-f Set and load config file [/etc/endlessh/config]
-h Print this help message and exit
-l INT Maximum banner line length (3-255) [32]
-m INT Maximum number of clients [4096]
-p INT Listening port [2222]
-s Print diagnostics to syslog instead of standard output
-v Print diagnostics (repeatable)

El orden de los argumentos es importante. De manera predeterminada, no se generan mensajes de registro.

Podriamos usar algo asi para loguear y despues revisar:

endlessh -v >endlessh.log 2>endlessh.err

Lo podes encontrar en:
https://github.com/skeeto/endlessh

Que te diviertas!

No hay comentarios:

Publicar un comentario