$ ./ssh-auditor addcredential root root
$ ./ssh-auditor addcredential admin admin
$ ./ssh-auditor addcredential guest guest --scan-interval 1 #controlla questa una volta al giorno
Provare le credenziali sugli host scoperti
root@kitploit:~
$ ./ssh-auditor scan
Generare un report sulle credenziali che hanno funzionato
root@kitploit:~
$ ./ssh-auditor vuln
Ricontrollare le credenziali che hanno funzionato
root@kitploit:~
$ ./ssh-auditor rescan
Generare un report sull'uso di chiavi duplicate
root@kitploit:~
$ ./ssh-auditor dupes
TODO
aggiornare la tabella 'host changes'
gestire i falsi positivi da dispositivi che non usano l'autenticazione password SSH ma usano invece la shell per farlo.
tempi di ricontrollo variabili - ogni credenziale ha un scan_interval in giorni
miglior supporto per porte non standard - discover è l'unica cosa che deve essere aggiornata, il resto non si preoccupa.
eventualmente demonizzare e aggiungere un'api a cui bro possa agganciarsi per avviare una scoperta non appena viene rilevato un nuovo server SSH.
rendere il database sostituibile (mysql, postgresql).
differenziare tra un tentativo di password fallito e una connessione fallita o timeout. Per lo più fatto. Cose come fail2ban complicano la cosa.
aggiungere implementazioni go per il comando report sqlite3.
Query di report.
Questa query che ssh-auditor vuln esegue è
root@kitploit:~
select
hc.hostport, hc.user, hc.password, hc.result, hc.last_tested, h.version
from
host_creds hc, hosts h
where
h.hostport = hc.hostport
and result!='' order by last_tested asc