$ ./ssh-auditor addcredential root root
$ ./ssh-auditor addcredential admin admin
$ ./ssh-auditor addcredential guest guest --scan-interval 1 # comprobar esto una vez al día
Probar credenciales contra hosts descubiertos
root@kitploit:~
$ ./ssh-auditor scan
Generar un informe sobre qué credenciales funcionaron
root@kitploit:~
$ ./ssh-auditor vuln
Volver a comprobar credenciales que funcionaron
root@kitploit:~
$ ./ssh-auditor rescan
Generar un informe sobre uso de claves duplicadas
root@kitploit:~
$ ./ssh-auditor dupes
PENDIENTE
actualizar la tabla de 'cambios de host'
manejar falsos positivos de dispositivos que no usan autenticación por contraseña SSH sino que usan el shell para hacerlo.
tiempos de revisión variables - cada credencial tiene un scan_interval en días
mejor soporte para puertos no estándar - discover es lo único que necesita actualizarse, el resto no importa.
posiblemente convertir en daemon y añadir una API a la que Bro pueda conectarse para iniciar un descubrimiento tan pronto como se detecte un nuevo servidor SSH.
hacer que el almacenamiento sea intercambiable (mysql, postgresql).
diferenciar entre un intento de contraseña fallido y una conexión fallida o tiempo de espera. Mayormente hecho. Cosas como fail2ban complican esto.
añadir implementaciones en Go para el comando de informe sqlite3.
Consulta de informe.
Esta consulta que ejecuta ssh-auditor vuln es
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