$ ./ssh-auditor addcredential root root
$ ./ssh-auditor addcredential admin admin
$ ./ssh-auditor addcredential guest guest --scan-interval 1 #check this once per day
Попытка использования учетных данных на обнаруженных хостах
root@kitploit:~
$ ./ssh-auditor scan
Вывод отчета о том, какие учетные данные сработали
root@kitploit:~
$ ./ssh-auditor vuln
Повторная проверка сработавших учетных данных
root@kitploit:~
$ ./ssh-auditor rescan
Вывод отчета об использовании дублирующихся ключей
root@kitploit:~
$ ./ssh-auditor dupes
TODO
обновить таблицу 'host changes'
обрабатывать ложные срабатывания от устройств, которые не используют аутентификацию по SSH-паролю, а используют для этого оболочку.
переменные интервалы повторной проверки — каждая учетная запись имеет scan_interval в днях
улучшенная поддержка нестандартных портов — обновление требуется только для discover, остальные не учитывают порты.
возможно, демонизировать и добавить API, с которым Bro мог бы взаимодействовать для запуска discover при обнаружении нового SSH-сервера.
сделать хранилище сменяемым (mysql, postgresql).
различать неудачную попытку входа по паролю и неудачное соединение или тайм-аут. В основном сделано. Такие вещи, как fail2ban, усложняют задачу.
добавить реализации на Go для команды отчета sqlite3.
Запрос отчета.
Это запрос, который выполняется ssh-auditor vuln:
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