La vulnérabilité est confirmée officiellement dans le bulletin cisco id: 33464 du 18 mars 2013.
Certaines versions de Cisco IOS XE and Cisco IOS Software Release 15 intègrent un nouvel algorithme de hashage appelé secret 4. Les spécifications devaient être les suivantes :
algorithme de hashage : sha 256
un salt de 80 bits
1000 itérations
Tout naturellement il était destiné à remplacer le secret 5 qui lui est basé sur md5crypt.
Mais malheureusement, à cause d’un problème de mise en œuvre, le secret 4 s’est étrangement transformé
en un simple sha256 (pas de sel , pas d’itération). Sont impactés tous les CISCO IOS and IOS XE supportant le secret 4.
Du coup , CISCO préconise de ne pas utiliser le hash secret 4 , mais d’ utiliser le hash secret 5.
Mais là on rencontre une difficulté. En effet, lorsque l’on déclare un utilisateur sur un équipement CISCO, on saisit la commande suivante:
username secret
Mais cette commande ne permet pas de choisir entre le secret 4 et le secret 5.
Le secret 4 est choisi automatiquement.
2 méthodes de contournement:
1/
Pour déclarer un hash secret 5, il faut le générer avec une application tierce (exemple avec openssl)
et l’importer en le copiant dans la config du routeur
Commande openssl :
openssl passwd -1 -salt
Exemple :
salt = 12345678
Mot de passe : hashcat
openssl passwd -1 -salt 12345678 hashcat
Nous obtenons le hash md5crypt : $1$12345678$oBguOQT6/v2L/9ZuzX4Cq0
Commande pour déclarer un utilisateur avec un hash secret 5 sur un équipement CISCO
username secret 5 $1$12345678$oBguOQT6/v2L/9ZuzX4Cq0
2/
Générer un hash secret 5 sur un IOS ne supportant pas encore le secret 4 et ensuite copier-coller.
Pour finir, j’ aimerais bien que l’on m’explique comment une société comme CISCO a pu faire une telle erreur d’intégration ?
N’ hésiter pas à me laisser un commentaire.