ssh-audit

ssh-audit — это инструмент для аудита SSH-серверов.
Возможности
- Поддержка серверов протоколов SSH1 и SSH2;
- получение баннера, определение устройства, программного обеспечения и операционной системы, обнаружение сжатия;
- сбор алгоритмов обмена ключами, хост-ключей, шифрования и кодов аутентификации сообщений;
- вывод информации об алгоритмах (доступны с, удалены/отключены, небезопасны/слабы/устарели и т.д.);
- вывод рекомендаций по алгоритмам (добавить или удалить на основе распознанной версии ПО);
- вывод информации о безопасности (связанные проблемы, список присвоенных CVE и т.д.);
- анализ совместимости версий SSH на основе информации об алгоритмах;
- историческая информация из OpenSSH, Dropbear SSH и libssh;
- без зависимостей, совместим с Python 2.6+, Python 3.x и PyPy;
Использование
usage: ssh-audit.py [-1246pbnvl] <host>
-1, --ssh1 принудительно использовать только SSH версии 1
-2, --ssh2 принудительно использовать только SSH версии 2
-4, --ipv4 включить IPv4 (порядок приоритета)
-6, --ipv6 включить IPv6 (порядок приоритета)
-p, --port=<port> порт для подключения
-b, --batch пакетный вывод
-n, --no-colors отключить цвета
-v, --verbose подробный вывод
-l, --level=<level> минимальный уровень вывода (info|warn|fail)
- если используются и IPv4, и IPv6, порядок приоритета можно задать с помощью
-46 или -64.
- флаг пакетного режима
-b выводит секции без заголовков и без пустых строк (подразумевает флаг подробного вывода).
- флаг подробного вывода
-v добавляет префикс к каждой строке с типом секции и именем алгоритма.
пример

История изменений
v1.7.0 (2016-10-26)
- реализованы опции для указания использования IPv4/IPv6 и порядка приоритета
- реализована опция для указания удаленного порта (старое поведение сохранено для совместимости)
- добавлена поддержка цветов для Microsoft Windows через опциональную зависимость colorama
- исправлены проблемы кодирования и декодирования, добавлены тесты, исправлены сбои при ошибках кодирования
- для статической проверки типов используется mypy-lang, проверен весь код
v1.6.0 (2016-10-14)
- реализован раздел рекомендаций по алгоритмам (на основе распознанного ПО)
- реализована полная поддержка libssh (история версий, алгоритмы, безопасность и т.д.)
- исправлено распознавание баннера SSH-1.99 и функциональность сравнения версий
- больше не выводятся пустые алгоритмы (происходит для неправильно настроенных серверов)
- обеспечен единообразный вывод для версий Python 3.x
- добавлено множество тестов (конфигурация, баннер, ПО, SSH1/SSH2, вывод и т.д.)
- используется Travis CI для тестирования нескольких версий Python (2.6-3.5, pypy, pypy3)
v1.5.0 (2016-09-20)
- создан раздел безопасности для информации, связанной с безопасностью
- сопоставление и вывод списка присвоенных CVE и проблем безопасности для Dropbear SSH
- реализована полная поддержка SSH1 с информацией об отпечатках
- автоматический переход на SSH1 при несоответствии протокола
- добавлены новые опции для принудительного использования SSH1 или SSH2 (по умолчанию разрешены оба)
- анализ информации баннера и преобразование её в конкретную версию ПО и ОС
- отступы не используются в пакетном режиме
- несколько исправлений (Cisco sshd, редкие зависания, обработка ошибок и т.д.)
v1.0.20160902
- реализована опция пакетного вывода
- реализована опция минимального уровня вывода
- исправлена совместимость с Python 2.6
v1.0.20160812
- реализована функция совместимости версий SSH
- исправлено неверное предупреждение об алгоритме mac
- исправлена опечатка в версии Dropbear SSH
- добавлен разбор заголовка перед баннером
- улучшена обработка ошибок
v1.0.20160803
- используется баннер OpenSSH 7.3
- добавлены новые алгоритмы обмена ключами
v1.0.20160207
- используется баннер OpenSSH 7.2
- дополнительные предупреждения для OpenSSH 7.2
- исправлены сообщения об ошибках OpenSSH 7.0
- добавлено сообщение об ошибке rijndael-cbc из OpenSSH 6.7
v1.0.20160105
- несколько дополнительных предупреждений
- поддержка алгоритма none
- улучшена обработка сжатия
- обеспечено чтение достаточного объёма данных (исправляет работу с некоторыми Linux SSH)
v1.0.20151230
v1.0.20151223