Blog Blog

SSH Bajo Fuego: Métodos de Intrusión y Estrategias de Hardening

September 18, 2025
SSH Bajo Fuego: Métodos de Intrusión y Estrategias de Hardening

SSH Bajo Fuego: Métodos de Intrusión y Estrategias de Hardening

Imaginá SSH como el puente levadizo de una fortaleza digital: es la única vía por la que entran y salen los administradores de sistemas. Cuando se baja de forma controlada, permite el mantenimiento y la gestión segura; pero si se descuida o queda sin guardia, un atacante puede cruzarlo con la misma facilidad y moverse por todo el interior.

En la práctica, Secure Shell (SSH) es precisamente esa puerta de acceso privilegiada: el protocolo criptográfico que garantiza comunicaciones seguras a través de redes no confiables y la entrada predilecta para la administración remota de servidores. Su enorme adopción lo convierte en un blanco irresistible para quienes buscan accesos no autorizados, moverse lateralmente dentro de la red o exfiltrar datos de manera sigilosa.

Pero no todo es oscuridad. Entender cómo piensan y actúan los atacantes es el primer paso para levantar defensas sólidas. En este artículo, primero nos pondremos el buzo Rojo para recorrer las técnicas más habituales de ataque a SSH —desde el reconocimiento inicial hasta la explotación de configuraciones débiles— y luego nos vestiremos de Azul para reforzar los sistemas con prácticas efectivas de hardening.

Porque en ciberseguridad, la mejor defensa siempre comienza con un buen conocimiento del ataque.

Pero antes...

Disclaimer:

La información y herramientas mencionadas en este artículo,en su totalidad, tienen como único propósito la educación en ciberseguridad y la práctica del hacking ético. El acceso, intento de acceso o escaneo no autorizado a sistemas informáticos, redes o dispositivos es ilegal y constituye un delito en la mayoría de países.

Úsalo de forma legal: Solo utiliza las herramientas citadas en este artículo en objetivos que te pertenezcan o sobre los cuales tengas permiso explícito y por escrito para realizar pruebas de seguridad.

El conocimiento es responsabilidad: El autor y este blog no se hacen responsables del uso indebido o malintencionado de la información aquí proporcionada. La responsabilidad del uso ético y legal de estas herramientas recae únicamente en el usuario final.

El hacking ético es clave: Promovemos el uso de estas habilidades para fortalecer la seguridad, proteger sistemas y ayudar a construir un internet más seguro para todos.

La Perspectiva del Atacante: Técnicas Comunes de Penetración de SSH

1. El Arte de Escuchar, Enumeración y Reconocimiento

Todo ataque exitoso comienza con una fase de reconocimiento meticulosa. El objetivo es simple, recopilar la mayor cantidad de información posible sin levantar sospechas.

  • Identificar algoritmos y métodos de cifrado soportados:
1nmap -p 22 --script ssh2-enum-algos <target-ip>
Por qué importa? Los cifrados obsoletos son una invitación abierta a ataques.

  • Descubrir la versión de SSH y la clave del host:
1nmap -sV -p 22 --script ssh-hostkey <target-ip>
Un dato crucial: las versiones antiguas suelen tener vulnerabilidades conocidas y explotables.

  • Obtención de banners (Banner Grabbing):
1nc <target-ip> 22
Hasta el mensaje de bienvenida puede delatar versiones vulnerables o configuraciones descuidadas.

2. Ataques de Fuerza Bruta: Cuando la Persistencia vence.

Si las contraseñas son débiles, tarde o temprano caerán. Herramientas como Hydra automatizan estos intentos con una eficacia alarmante.

  • Ataque tradicional con diccionario:
1hydra -l <username> -P <password_list> ssh://<target-ip> -t 4 -v

  • Password Spraying:
1hydra -L <user_list> -p <common_password> ssh://<target-ip> -t 4 -v
Prueba una contraseña común contra múltiples usuarios. Sorprendentemente efectivo en entornos con políticas de contraseñas débiles.

  • Fuerza bruta "low-and-slow":
1hydra -l <username> -P <password_list> -t 1 -w 30 ssh://<target-ip>
Este enfoque separa los intentos en el tiempo para eludir mecanismos de bloqueo por intentos fallidos (p. ej. reglas agresivas de fail2ban o bloqueos automáticos), haciendo el ataque más sigiloso pero mucho más lento.

3. Explotación de Configuraciones Débiles: El Camino Más Fácil

A menudo, el eslabón más débil no es la tecnología, sino su configuración.

  • Credenciales por defecto: Muchos dispositivos y servicios llegan con usuarios y contraseñas predefinidas.
Listas como rockyou.txt son el diccionario de uso común de cualquier atacante.

  • Auditoría con ssh-audit:
1ssh-audit <target-ip>
Una herramienta esencial que revela configuraciones inseguras, protocolos obsoletos (¡SSHv1!) y algoritmos débiles.

  • Búsqueda de exploits específicos:
1searchsploit openssh <version>
¿La versión es vulnerable? Searchsploit puede tener la llave para entrar.

4. Ataques Basados en Autenticación por Llaves pública y privada


La autenticación por clave pública es más segura que las contraseñas… hasta que no lo es.


Robo de claves privadas: Si un atacante accede a una clave privada (id_rsa) sin frase de paso, la puerta queda abierta de par en par.

1ssh -i <private_key> <username>@<target-ip>
Claves privadas sin passphrase , reutilizadas en múltiples servidores o permisos incorrectos (ej: chmod 644 ~/.ssh/id_rsa) son fallos críticos de seguridad.

Fortificando SSH: Defendiendo tus Sistemas contra Ataques

Conocer las tácticas del enemigo es solo la mitad de la batalla. La otra mitad implica implementar defensas sólidas y perdurables.

En esta parte del post analizamos cómo transformar tu servicio SSH de un punto débil en un servicio robusto.

1. Cambiar el Puerto Predeterminado:

Una medida simple pero efectiva. Cambiar el puerto predeterminado (22) reduce drásticamente el ruido de escaneos automatizados y ataques de fuerza bruta indiscriminados.

En /etc/ssh/sshd_config:

1# Ejemplo de puerto personalizado
2Port 2468
Recuerda: Esto es seguridad por ofuscación. Útil, pero no infalible. Siempre debe combinarse con otras medidas.

2. Deshabilitar la Autenticación por Contraseña: Obligar el Uso de Llaves

Elimina por completo el riesgo de ataques de fuerza bruta contra contraseñas obligando el uso de autenticación por clave pública

En /etc/ssh/sshd_config:

1PasswordAuthentication no
2PermitEmptyPasswords no


3. Habilitar y Asegurar la Autenticación por Llaves

Asegúrate de que el uso de llaves sea seguro y esté correctamente configurado.


En /etc/ssh/sshd_config:

1AuthorizedKeysFile .ssh/authorized_keys


Buenas prácticas:

  • Usar siempre una frase de paso (passphrase) robusta para cifrar las claves privadas.
  • Nunca reutilizar claves ni llaves entre diferentes servidores o servicios.
  • Verificar los permisos de los archivos de llaves:
1stat .ssh
2Access: (0700/drwx------)
3
4stat .ssh/authorized_keys
5Access: (0600/-rw–-----)
6
7stat .ssh/id_rsa
8Access: (0600/-rw-------)

4. Políticas de Seguridad Afinando Detalles

  • Deshabilitar el login directo como root:

PermitRootLogin no

  • Limitar intentos de autenticación:

MaxAuthTries 3

  • Reducir el tiempo de gracia para login:

LoginGraceTime 30s

  • Desconexión automática de sesiones inactivas:

ClientAliveInterval 300/ClientAliveCountMax

Desconecta al cliente después de 5 minutos de inactividad.

  • Registros detallados para mejor auditoría:

LogLevel VERBOSE

5. Detección y Mitigación Continua: Vigilancia Activa

La configuración estática no es suficiente. La vigilancia activa es clave.

  • Monitoreo de intentos de fuerza bruta:

Revisa regularmente /var/log/auth.log en busca de múltiples intentos fallidos.

Herramientas como fail2ban o logwatch pueden automatizar esta detección y bloquear IPs maliciosas automáticamente.

  • Detección de acceso root no autorizado:

Si has deshabilitado PermitRootLogin, cualquier intento de login como root debe ser investigado inmediatamente.

  • Control de sesiones SSH inactivas o sospechosas:

Usa comandos como who o w para listar sesiones activas e investigar aquellas anómalas.

  • Ocultar información del banner:

Evita dar pistas gratuitas a los atacantes:

PrintMotd no

PrintLastLog no

La Seguridad es un Proceso, No un Destino

En el panorama actual de amenazas, asegurar el acceso SSH es mucho más que una buena práctica, es una necesidad absoluta. Este protocolo, diseñado para ser seguro, solo será tan fuerte como su configuración más débil.

Al comprender algunas de las técnicas que usan los atacantes e implementar las tácticas de endurecimiento que hemos discutido —desde deshabilitar contraseñas hasta el monitoreo proactivo— transformarás tu servicio SSH de un blanco fácil en un bastión con defensas activas.

Recuerda revisar y auditar tu configuración de forma periódica.

La ciberseguridad no es un acto único, sino un ciclo continuo de mejora y adaptación.

!¡!¡Happy Hardening¡!¡! {◕_◕}








Lucas Moreno

Lucas Moreno

Técnico Universitario en Ciberseguridad - 🔵🟣🔴 - Autodidacta