$ ./ssh-auditor addcredential root root
$ ./ssh-auditor addcredential admin admin
$ ./ssh-auditor addcredential guest guest --scan-interval 1 #verificar uma vez por dia
Testar credenciais contra hosts descobertos
root@kitploit:~
$ ./ssh-auditor scan
Gerar um relatório sobre quais credenciais funcionaram
root@kitploit:~
$ ./ssh-auditor vuln
Re-verificar credenciais que funcionaram
root@kitploit:~
$ ./ssh-auditor rescan
Gerar um relatório sobre uso de chaves duplicadas
root@kitploit:~
$ ./ssh-auditor dupes
TODO
atualizar a tabela 'host changes'
lidar com falsos positivos de dispositivos que não usam autenticação por senha SSH, mas usam o shell para isso.
tempos de re-verificação variáveis - cada credencial tem um scan_interval em dias
melhor suporte a portas não padrão - apenas o discover precisa ser atualizado, o resto não se importa.
possivelmente transformar em daemon e adicionar uma API que o Bro possa usar para iniciar um discover assim que um novo servidor SSH for detectado.
tornar o armazenamento plugável (mysql, postgresql).
diferenciar entre uma tentativa de senha falha e uma conexão falha ou timeout. Quase concluído. Coisas como fail2ban complicam isso.
adicionar implementações Go para o comando de relatório sqlite3.
Consulta do relatório.
Essa consulta que ssh-auditor vuln executa é
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