ssh-audit

ssh-audit est un outil pour l'audit de serveurs SSH.
Fonctionnalités
- Support des protocoles serveur SSH1 et SSH2 ;
- Récupération de la bannière, reconnaissance de l'appareil ou du logiciel et du système d'exploitation, détection de la compression ;
- Collecte des algorithmes d'échange de clés, de clé d'hôte, de chiffrement et de code d'authentification de message ;
- Affichage des informations sur les algorithmes (disponible depuis, supprimé/désactivé, dangereux/faible/obsolète, etc.) ;
- Affichage des recommandations d'algorithmes (ajouter ou supprimer en fonction de la version du logiciel reconnue) ;
- Affichage des informations de sécurité (problèmes associés, liste de CVE attribuées, etc.) ;
- Analyse de la compatibilité des versions SSH basée sur les informations d'algorithmes ;
- Informations historiques provenant d'OpenSSH, Dropbear SSH et libssh ;
- Aucune dépendance, compatible avec Python 2.6+, Python 3.x et PyPy ;
Utilisation
usage: ssh-audit.py [-1246pbnvl] <host>
-1, --ssh1 force ssh version 1 only
-2, --ssh2 force ssh version 2 only
-4, --ipv4 enable IPv4 (order of precedence)
-6, --ipv6 enable IPv6 (order of precedence)
-p, --port=<port> port to connect
-b, --batch batch output
-n, --no-colors disable colors
-v, --verbose verbose output
-l, --level=<level> minimum output level (info|warn|fail)
- si IPv4 et IPv6 sont tous deux utilisés, l'ordre de priorité peut être défini en utilisant soit
-46 soit -64.
- l'option batch
-b affichera les sections sans en-tête et sans lignes vides (implique l'option verbose).
- l'option verbose
-v préfixera chaque ligne avec le type de section et le nom de l'algorithme.
exemple

Journal des modifications
v1.7.0 (2016-10-26)
- implémenter des options pour permettre de spécifier l'utilisation d'IPv4/IPv6 et l'ordre de priorité
- implémenter une option pour spécifier le port distant (ancien comportement conservé pour la compatibilité)
- ajouter la prise en charge des couleurs pour Microsoft Windows via la dépendance optionnelle colorama
- corriger les problèmes d'encodage et de décodage, ajouter des tests, ne pas planter sur les erreurs d'encodage
- utiliser mypy-lang pour la vérification statique des types et vérifier tout le code
v1.6.0 (2016-10-14)
- implémenter une section de recommandations d'algorithmes (basée sur le logiciel reconnu)
- implémenter la prise en charge complète de libssh (historique des versions, algorithmes, sécurité, etc.)
- corriger la reconnaissance de la bannière SSH-1.99 et la fonctionnalité de comparaison des versions
- ne pas afficher les algorithmes vides (cela se produit pour les serveurs mal configurés)
- rendre la sortie cohérente pour les versions Python 3.x
- ajouter beaucoup plus de tests (conf, bannière, logiciel, SSH1/SSH2, sortie, etc.)
- utiliser Travis CI pour tester plusieurs versions de Python (2.6-3.5, pypy, pypy3)
v1.5.0 (2016-09-20)
- créer une section de sécurité pour les informations de sécurité associées
- faire correspondre et afficher la liste des CVE attribuées et les problèmes de sécurité pour Dropbear SSH
- implémenter la prise en charge complète de SSH1 avec les informations d'empreinte digitale
- basculer automatiquement vers SSH1 en cas d'incompatibilité de protocole
- ajouter de nouvelles options pour forcer SSH1 ou SSH2 (les deux sont autorisés par défaut)
- analyser les informations de la bannière et les convertir en version spécifique du logiciel et du système d'exploitation
- ne pas utiliser de remplissage en mode batch
- plusieurs correctifs (sshd Cisco, blocages rares, gestion des erreurs, etc.)
v1.0.20160902
- implémenter l'option de sortie batch
- implémenter l'option de niveau de sortie minimum
- corriger la compatibilité avec Python 2.6
v1.0.20160812
- implémenter la fonctionnalité de compatibilité des versions SSH
- corriger l'avertissement erroné sur l'algorithme MAC
- corriger une faute de frappe dans la version de Dropbear SSH
- analyser l'en-tête de pré-bannière
- meilleure gestion des erreurs
v1.0.20160803
- utiliser la bannière OpenSSH 7.3
- ajouter de nouveaux algorithmes d'échange de clés
v1.0.20160207
- utiliser la bannière OpenSSH 7.2
- avertissements supplémentaires pour OpenSSH 7.2
- corriger les messages d'échec d'OpenSSH 7.0
- ajouter le message d'échec de rijndael-cbc provenant d'OpenSSH 6.7
v1.0.20160105
- plusieurs avertissements supplémentaires
- prise en charge de l'algorithme « none »
- meilleure gestion de la compression
- s'assurer de lire suffisamment de données (corrige quelques SSH Linux)
v1.0.20151230
- Prise en charge de Dropbear SSH
v1.0.20151223