Puerto 22: SSH

SSH (Secure Shell) es un protocolo de red que proporciona una conexión segura para acceder y gestionar servidores remotos. SSH cifra todos los datos transferidos entre el cliente y el servidor, ofreciendo una capa de seguridad que protege contra la interceptación de datos y ataques de red. Opera típicamente en el puerto 22.

Descripción de SSH

  • Protocolo: SSH utiliza el protocolo TCP y opera en el puerto 22.

  • Cifrado: Todos los datos, incluyendo credenciales y comandos, se cifran, protegiendo la comunicación contra escuchas y ataques de intermediario (MITM).

  • Autenticación: SSH puede utilizar autenticación basada en contraseñas, claves públicas y otros métodos avanzados como Kerberos.

  • Túneles Seguros: SSH puede crear túneles cifrados para otros protocolos (port forwarding), permitiendo conexiones seguras a servicios no seguros.

Relevancia en Pentesting

Importancia de SSH en Pentesting:

  • Seguridad: Aunque SSH es seguro, su correcta configuración es crucial. Los pentesters buscan configuraciones incorrectas y vulnerabilidades explotables.

  • Fuerza Bruta: Los ataques de fuerza bruta contra SSH pueden tener éxito si se utilizan contraseñas débiles o por defecto.

  • Acceso No Autorizado: Identificar credenciales débiles o comprometidas puede permitir a un pentester obtener acceso no autorizado a sistemas remotos.

  • Forwarding de Puertos: SSH puede ser utilizado para redirigir tráfico de red, lo cual puede ser útil tanto para pentesters como para administradores de sistemas.

Ejemplo de Escaneo de SSH con Nmap

Para identificar sistemas que tienen el servicio SSH activo y recopilar información adicional sobre el servidor SSH, se puede utilizar Nmap. El siguiente comando escanea el puerto 22 y ejecuta scripts NSE específicos para SSH.

Comando Nmap

nmap -p 22 --script ssh-hostkey,ssh-auth-methods,ssh-brute target-ip

Explicación del Comando

  • nmap: Ejecuta el comando Nmap.

  • -p 22: Especifica que Nmap debe escanear el puerto 22, el puerto predeterminado para SSH.

  • --script ssh-hostkey,ssh-auth-methods,ssh-brute: Utiliza scripts NSE para recopilar información sobre el servicio SSH.

    • ssh-hostkey: Recupera y muestra las claves públicas del servidor SSH.

    • ssh-auth-methods: Enumera los métodos de autenticación soportados por el servidor SSH.

    • ssh-brute: Realiza un ataque de fuerza bruta para intentar encontrar credenciales válidas.

  • target-ip: Especifica la dirección IP del objetivo.

Ejemplo de Salida de Nmap

Starting Nmap 7.80 ( https://nmap.org ) at 2024-05-18 14:23 UTC
Nmap scan report for 192.168.1.20
Host is up (0.0011s latency).

PORT   STATE SERVICE
22/tcp open  ssh
| ssh-hostkey:
|   2048 f4:92:50:47:a1:25:b6:07:4c:73:3d:8b:77:85:3b:47 (RSA)
|   256 e8:11:14:3a:c8:26:d7:41:a1:b5:c2:91:25:53:1c:41 (ECDSA)
|_  256 b7:0d:3b:4f:8d:9c:8a:e1:5c:44:65:2d:73:4d:6b:4b (ED25519)
| ssh-auth-methods:
|   Supported authentication methods:
|     publickey
|     password
|_    keyboard-interactive
| ssh-brute:
|   Accounts:
|     admin:admin - Valid credentials
|_    test:test - Valid credentials

Nmap done: 1 IP address (1 host up) scanned in 8.54 seconds

Interpretación de la Salida

  • Host is up: Indica que el sistema objetivo está en línea y responde.

  • 22/tcp open ssh: El puerto 22 está abierto y el servicio SSH está activo.

  • ssh-hostkey: Muestra las claves públicas del servidor SSH, que pueden ser utilizadas para identificar la autenticidad del servidor.

    • RSA: Tipo de clave RSA y su huella digital.

    • ECDSA: Tipo de clave ECDSA y su huella digital.

    • ED25519: Tipo de clave ED25519 y su huella digital.

  • ssh-auth-methods: Enumera los métodos de autenticación soportados por el servidor SSH.

    • publickey: Autenticación basada en claves públicas.

    • password: Autenticación basada en contraseñas.

    • keyboard-interactive: Autenticación interactiva por teclado.

  • ssh-brute: Resultados de un ataque de fuerza bruta, mostrando las credenciales válidas encontradas.

    • admin:admin y test:test: Credenciales válidas que permiten el acceso al servidor SSH.

Última actualización