web-dev-qa-db-fra.com

Code pour générer des hachages de mot de passe "Secret" Cisco?

Est-ce que quelqu'un a un pointeur à coder (ou simplement l'algorithme) que Cisco utilise pour générer leur mot de passe des hachages pour des choses comme "Activer le secret"?

Je n'essaie pas de briser quoi que ce soit; J'essaie de générer la ligne "Activer Secret" appropriée donnée un mot de passe texte clair non Décode une ligne existante "Activer Secret" avec un mot de passe haché . J'en ai besoin pour un générateur de fichiers de configuration automatisé que je travaille sur ( générateur de configuration Netomata ).

Fondamentalement, ce que je veux, c'est l'équivalent Cisco de la commande "HTPASSWD" utilisée pour les serveurs Web.

Par exemple, lorsque je mettez la commande suivante avec un mot de passe claire texte dans une configuration Cisco:

enable secret foobar

ensuite, lorsque je fais une commande "Afficher la configuration" (en supposant que j'ai "le service de passe de service-cryptage"), ce que je vois est quelque chose comme ceci:

enable secret 5 $1$pdQG$0WzLBXV98voWIUEdIiLm11

Je veux du code qui traduit "foobar" à "5 $ 1 $ PDQG $ 0WZLBXV98VowiUDIILLM11", de sorte que je puisse générer les mots de passe déjà hachés dans mon outil de génération de configuration, plutôt que de placer des mots de passe ClearText dans les configurations générées et de l'attente du routeur générer le hachage.

Je suppose que le "5" dans le résultat haché est une sorte d'identifiant d'algorithme de hachage. S'il y a d'autres algorithmes de hachage que Cisco est actuellement ou a toujours utilisé, alors j'aimerais aussi avoir le code pour ces algorithmes.

12
Brent Chapman

Cisco semble nécessiter un sel de 4 caractères. Par défaut, sans le "-saltsel "argument, openssl générera un sel de 8 caractères.

Vous pouvez utiliser openssl pour générer un hachage de "Cleartext" compatible Cisco avec un sel aléatoire 4 caractères approprié, cependant, comme:

openssl passwd -salt `openssl Rand -base64 3` -1 "cleartext"

Les "openssl Rand -base64 3 "La sous-commande génère 3 octets aléatoires, puis les codes dans le format Base64, qui vous donne 4 caractères imprimables (exactement ce dont vous avez besoin pour un sel compatible Cisco).

Merci à Murali Suiar pour la réponse (ailleurs sur cette page) qui m'a fait démarrer la bonne voie vers cette solution.

11
Brent Chapman

Selon ce site Web , l'utilitaire de ligne de commande OpenSSL semble fournir les fonctionnalités dont vous avez besoin:

$ openssl passwd -1 -salt pdQG -table foobar
foobar  $1$pdQG$0WzLBXV98voWIUEdIiLm11
$

Et il y a probablement une fonction équivalente dans la bibliothèque elle-même.

Je ne sais pas si =IOS vous nécessite que vous utilisiez des valeurs de sel spécifiques, mais techniquement, il n'ya aucune raison pour que la chaîne que vous fournissez dans votre commande "Activer Secret" est valable. MD5 Mot de passe Digest. Si vous avez la possibilité de tester, je serais intéressé de connaître vos résultats.

18
Murali Suriar

5 Je crois que fait référence au fait que c'est le type 5, qui utilise MD5, ce qui signifie que vous allez avoir besoin 0 playstation 3s . Le type 7 est facilement fissuré et ils ont même des scripts sur sites Web pour cela. Cela pourrait être mieux demandé sur Stackoverflow.

3
Terry

Voici une excellente référence http://haxcess.com/2008/10/21/cisco-password-recovery/

La ligne de fond est le hachage est divisé en quelques parties

  -> Indicates MD5 algorithm
 |   -> Salt
 |  |     -> Salt + Password Hash
 |  |    |
$1$mERr$RchIrJirmCXltFBZ2l50l/

Voici une solution perl qui a travaillé des merveilles pour moi dans le passé. Mettez ce bébé dans une boucle et laissez-le courir.

#!/usr/bin/Perl
use Crypt::PasswdMD5;
my $hash = unix_md5_crypt('password','salt')
3
ZnArK

"5" signifie que le mot de passe clair a été converti au type de mot de passe Cisco 5. Le mot de passe de type 5 est un algorithme basé sur MD5 (mais je ne peux pas vous dire comment le calculer, désolé). Type 7 utilisé lorsque vous faites un "mot de passe active" est un algorithme réversible bien connaître. "Mot de passe de service-cryptage", assurez-vous simplement que le mot de passe ne sera pas stocké en clair (type 0)

Jetez un coup d'œil à - http://fr.wikipedia.org/wiki/crypt_ (UNIX) # MD5-basé_scheme et bonne chance :)

EDIT: Vous pouvez également regarder http://www.h4x3d.com/md5-and-crypt-password-generator/ , http://www.koders.com/c/ FID530E8983791E1CB2AB90AA69A68789FA2A83A6D.ASPX et http://www.cryptgenerator.de/

1
radius