SSH agent hijacking e chiavi mal gestite
L'agent SSH tiene in memoria le chiavi decifrate ed espone un socket per firmare le challenge. Chi accede al socket può usare le chiavi senza conoscerne la passphrase.
Le vie
Socket accessibile: se root (o un altro utente compromesso) trova SSH_AUTH_SOCK di una sessione, lo riusa per autenticarsi ovunque quelle chiavi valgano:
SSH_AUTH_SOCK=/tmp/ssh-XXXX/agent.1234 ssh-add -l
SSH_AUTH_SOCK=... ssh target # firma con le chiavi della vittimaAgent forwarding (ssh -A): se ti connetti con forwarding a un host compromesso, l'amministratore di quell'host usa il tuo agent per saltare ad altri sistemi come te.
Difesa
Non usare -A verso host non fidati (usa ProxyJump). Chiavi con passphrase, e conferma per ogni firma (ssh-add -c). Chiavi hardware (FIDO2/PIV) che non possono essere esfiltrate. Permessi stretti sul socket. Chiavi per-host e a scadenza (certificati SSH).