Wireshark: el aliado para un eficaz control de tráfico SSH en la red

Hoy en día, cualquier tipo de red demanda mayores controles e implementaciones de medidas de seguridad. Desde las más elementales hasta las más elaboradas de acuerdo al caso. Esta vez, hablaremos de la popular herramienta Wireshark y el protocolo SSH. Este último es uno de los protagonistas del tráfico en aquellas redes que admiten acceso remoto a otras máquinas, asegurando el cifrado de todo el tráfico que se genera en ellas. Te mostraremos cómo evitar que este protocolo de encriptación de tráfico se convierta en un gran problema para tu red.

¿En qué consiste el protocolo SSH?

Las siglas de SSH responden a Secure Shell. Está diseñado para permitir acceso remoto de manera confidencial y autenticada a un ordenador. Cuenta con similitudes en relación a su antecesor, Telnet, que permite a un usuario acceder justamente a ese ordenador o máquina de forma remota mediante la línea de comando. Sin embargo, lo más importante que distingue a SSH de Telnet, es que todo el tráfico de la sesión está 100% encriptado.

El uso del protocolo SSH es altamente recomendado en el caso de necesidad de comunicación con otros ordenadores, switches, routers, servidores o cualquier host. Cuenta con el puerto asignado número 22 TCP, aunque se podría cambiar a cualquier puerto en el servidor SSH.

Algunas de las aplicaciones más populares que implementan este protocolo son PuTTY y WinSCP. Ambos son compatibles con el sistema operativo Windows. Por otro lado, se encuentra a OpenSSH que está disponible para OpenBSD, Linux, Solaris, FreeBSD, AIX y otros.

Wireshark: el gurú del análisis de las redes

Es una de las aplicaciones de análisis de protocolos de red más populares y recomendadas. Te permite tener un completo control sobre lo que sucede en la red a la cual estás conectado a un nivel muy detallado. Puede ser utilizado tanto en el entorno particular como el corporativo. Incluso, las diversas instituciones educativas y el gobierno pueden sacar provecho de esta herramienta que no tiene coste alguno.

Es una solución que existe desde el año 1998 y gracias a la contribución de expertos alrededor del mundo, sigue vigente y a disposición de quien desee utilizarla. Se caracteriza por ser muy práctico a la hora de realizar análisis acerca de lo que está sucediendo en nuestra red y qué políticas o medidas de seguridad aplicar para un desempeño más seguro.

¿Qué puedes hacer con Wireshark? De acuerdo a su documentación en el sitio oficial, citamos algunas de las actividades que puedes llevar a cabo. En el caso de que tengas dudas, puedes consultar su propio sitio el cual cuenta con documentación y soporte:

  • Inspección profunda de protocolos
  • Captura de información en el momento para posterior análisis
  • Análisis de VoIP
  • Posibilidad de lectura y modificación de archivos de captura de información como tcpdump, Microsoft Network Monitor, NetScreen snoop y más.
  • Acceso a visualización en vivo de información proveniente de los protocolos de Ethernet, Bluetooth, USB, IEEE 802-11 (Wi-Fi), Frame Relay etc.
  • Exportación de información a los formatos XML, PostScript, CSV y texto plano.

Uno de los usos más interesantes e importantes para los que que puedes utilizar Wireshark, es para el incident response (respuesta a incidencias) relacionado al tráfico SSH. Recordemos que este es un protocolo muy poderoso especialmente por la encriptación con la que cuenta por defecto. Podrás contar con acceso remoto y claro está, encriptado, a cualquier dispositivo que tenga habilitada la función de servidor SSH.

Puedes realizar ataques de tipo Credential-Stuffing, escaneo de máquinas que estén funcionando con servidores SSH vulnerables y el establecimiento de shells reversos. Haremos énfasis en los dos primeros a continuación.

Ataques Credential-Stuffing

Considerando que SSH requiere la autenticación del usuario, un atacante que tenga acceso a una máquina que ejecute un servidor SSH podrá realizar ataques de este tipo sin mayores problemas. Pero, ¿qué hay con las contraseñas de las distintas credenciales? Por desgracia, la mayoría de las personas tienden a utilizar contraseñas muy fáciles de adivinar o peor aún, a optar siempre por la misma contraseña para todas sus cuentas. Esto hace que los ataques de tipo credential stuffing pasen, en la mayoría de los casos, completamente desapercibidos.

De buenas a primeras no es sencillo diferenciar los intentos de acceso vía SSH exitosos de los no exitosos en Wireshark. Sin embargo, existen algunas características que nos ayudarán a revelar qué registros son exitosos:

  • Longitud del flujo (de la sesión): si fuese una sesión SSH exitosa, la misma será de mayor duración que una fallida.
  • Tamaño del paquete: los servidores SSH han establecido respuestas para las autenticaciones exitosas o fallidas. Es posible observar el tamaño de los paquetes SSH e inferir que los de mayor tamaño, constituyen a sesiones exitosas.
  • Tiempo del paquete: Aquellos paquetes que requieren interacción del usuario, si la autenticación fue exitosa, tendrán más tiempo que aquellos que son automatizados. Esto último se refiere a los paquetes con menor tiempo de vida debido a las autenticaciones fallidas.

Además, te recomendamos revisar el número de intentos de inicio de sesión, si observas un número irregular es porque existe la posibilidad de haber sido víctimas de ataque de tipo Credential-Stuffing.

Escaneos de accesos remotos

Uno de los mayores inconvenientes y riesgos generados a partir del auge de tecnologías emergentes como el Internet de las Cosas es que los dispositivos habilitados cuentan con SSH habilitado en primera instancia. Normalmente, sus sistemas asociados acostumbran a utilizar las credenciales por defecto o con alguna modificación mínima. ¿Por qué esto es un riesgo? Cualquiera que tenga conocimiento acerca de esas contraseñas o la capacidad de adivinar las usuarios y contraseñas, puede fácilmente acceder remotamente a las máquinas.

Así es, incluso SSH puede contar con sus particulares agujeros de seguridad. Sin embargo, es posible tener control de estas máquinas que actúan como servidores SSH inseguros. Sabiendo que las solicitudes y tráfico SSH legítimas, deberían tener como origen la propia red interna. Por ende, se tratan de direcciones de IP confiables.

Filtrando en Wireshark las solicitudes y el tráfico SSH interno, además del proveniente de direcciones IP externas, ayudará a identificar situaciones sospechosas. Se puede entender que, en la mayoría de los casos, el tráfico SSH proveniente de direcciones IP desconocidas a nuestra red interna puede dar señal de que la red ha sido vulnerada.

Ésto último no significa precisamente que todo lo que pueda provenir de fuera de la red sea sospechoso o peligroso. Una vez que un atacante consigue acceso remoto a una máquina, SSH se convierte en un aliado ideal para llevar a cabo otros tipos de ataques y expandirse rápidamente a otras máquinas, realizando más de un ataque a la vez si lo desea. ¿Cómo es posible detectar esto? Con Wireshark, analizando todo el tráfico SSH, puedes establecer patrones de acceso tanto usuales como los inusuales. Un caso de patrón inusual puede consistir en que se den evidencias de un alto nivel de tráfico proveniente de una sola máquina. Otro caso de patrón inusual puede ser que una máquina realice solicitudes a otros sistemas que normalmente no lo haría.

Tanto a nivel de tu red local como una red corporativa, SSH puede convertirse en un gran aliado y a su vez, un gran enemigo. Lo que da lugar a un monitoreo muy cercano y un especial control si es que estamos con la responsabilidad de administrar de una red corporativa. Controlando e incluso bloqueando el tráfico SSH en la red resulta ser una buena idea, así también las comunicaciones y el tráfico en general que se da dentro de la red deben ser monitoreadas ante cualquier anormalidad.

Os recomendamos leer nuestro completo tutorial sobre cómo configurar un servidor SSH con la máxima seguridad.