90.596
Sesiones SSH totales
431
IPs atacantes
12.358
Comandos echo
14%
Del total de comandos

El test de vida automático

Autenticar es fácil — el atacante tiene diccionarios y tiempo. Lo que no tiene es certeza sobre lo que hay al otro lado. La sesión puede ser un shell real, un honeypot, un servidor que acepta conexiones pero bloquea comandos, o un entorno con output desactivado. El scanner resuelve esa incertidumbre antes de enviar sus instrucciones reales. Lo hace con el comando más simple que existe.

# Tres variantes de echo observadas en sesiones de la campaña
$echo test
$echo 1
$echo -e '\x41\x42\x43' # \x41\x42\x43 = "ABC" — capability probe, no ofuscación
# Output esperado: el mismo texto. Si responde → shell funcional → fase siguiente

La tercera variante es la más reveladora. echo -e '\x41\x42\x43' imprime "ABC" — pero lo hace vía secuencias hex, no texto literal. El propósito no es ocultar el contenido (ABC no necesita ocultarse), sino verificar que el shell interpreta correctamente las secuencias de escape. Eso es información táctica: si el shell procesa -e con escape sequences, el atacante sabe exactamente con qué entorno está trabajando.

La puerta que filtra sesiones

Si el echo devuelve el texto esperado, el scanner pasa a la siguiente fase — en esta campaña, el GPU hunter. Si no hay respuesta o el output es inesperado, la sesión se descarta. Esto explica por qué una parte significativa de sesiones termina sin ningún comando adicional: el eco no respondió como esperaba el script, y el automatismo siguió con el siguiente objetivo.

Echo como primer eslabón de la cadena

En las sesiones analizadas, el echo siempre precede al bloque de reconocimiento de hardware. La secuencia completa, en sesiones que llegaron a fase 2:

echo testlspci | grep VGAnvidia-smi -quname -s -v -n -r -m

El echo actúa como semáforo: verde, continúa; sin respuesta, descarta. Es el coste más bajo posible para no malgastar el resto del script en un entorno inútil. El patrón completo del GPU hunter que viene después está analizado en detalle en el artículo anterior de esta serie.

Por qué esta firma importa

El echo como liveness check no es exclusivo de esta campaña — es un patrón universal en tooling SSH automatizado. Cualquier script que necesite verificar que tiene un shell funcional antes de continuar lo usa. Eso lo convierte en una firma de comportamiento más fiable que la IP de origen o el User-Agent del cliente SSH. Una IP rota es reemplazable en minutos; el protocolo de comportamiento del script cambia mucho más despacio.

Lo que diferencia esta campaña de un scanner genérico es la secuencia posterior. El echo solo tiene valor si lo que viene después es deliberado — y en este caso lo es: GPU hunter apuntando a infraestructura con aceleradores gráficos. El echo es la primera línea del guion; el resto del guion revela la intención.

Detección — y sus límites

El echo en sí no es una señal de alarma — es un comando legítimo. La firma es el contexto: un echo inmediatamente tras autenticación, sin ningún comando legítimo previo, es comportamiento de script, no de humano.

Limitación importante

La variante echo -e '\x41\x42\x43' es detectable porque usa secuencias hex. La variante simple — echo 1 — es indistinguible de uso legítimo. Ninguna regla de alerting la captura sin falsos positivos masivos.

Lo que sí detecta ambas variantes: comportamiento de sesión. Un servidor que introduce latencia artificial en los primeros 200ms, o devuelve output ligeramente distinto al esperado, puede hacer que el scanner descarte el objetivo sin que sepa por qué. La defensa pasiva cubre donde falla la detección activa.

El echo no tiene secretos. No exfiltra datos, no instala nada, no abre puertos. Es solo una pregunta: ¿hay alguien ahí? La respuesta que recibe determina si tu servidor va a recibir el resto del ataque. La señal vale su peso en oro precisamente porque es tan barata de enviar: si el atacante se molesta en hacer la pregunta, es porque lo que viene después importa.

Datos recopilados con fines de investigación en ciberseguridad. Toda la información procede de actividad no solicitada registrada en infraestructura propia.

Sobre el autor
Pablo Cortés
Head of Research · CipherSentry. Analiza patrones de ataque reales capturados por el honeypot SSH. Especializado en campañas coordinadas, TTPs de persistencia y clasificación de malware.
Fuente de datos
honeypot CipherSentry · 2026-06-26 a 2026-06-28
← Todos los artículos