Tim Riegert sent me an interesting hint: you don't need password crackers to decode type-7 passwords, you just need access to a router. Here's how you do it:
We'll turn on type-7 encryption for local passwords and generate a test username
R1(config)#service password-encryption
R1(config)#username test password t35t:pa55w0rd
Next we'll inspect the generated username with the show running command
R1(config)#do show run | include username
username test password 7 08351F1B1D431516475E1B54382F
Now we'll create a key chain and enter the type-7 encrypted password as the key string …
R1(config)#key chain decrypt
R1(config-keychain)#key 1
R1(config-keychain-key)#key-string 7 08351F1B1D431516475E1B54382F
… and the show command does the decryption for us.
R1(config-keychain-key)#do show key chain decrypt
Key-chain decrypt:
key 1 -- text "t35t:pa55w0rd"
accept lifetime (always valid) - (always valid) [valid now]
send lifetime (always valid) - (always valid) [valid now]

This is so interesting and cool. Thanks!
ReplyDeleteSeconded. Very neat!
ReplyDeleteThat...I didn't know. Easier than with a C based tool ;)
ReplyDeletewow! this is super cool...impressive! any more tricks?
ReplyDeletehi,
ReplyDeletesure it is interesting, but if you have config privilege (you can configure key chain) you don't need to know old passwords to recover it, you can change it .. :-)
How about this scenario: you have a router configuration (including passwords) and another router on which you can enter the key-chain command (even Dynamips would do).
ReplyDeleteThis is cool ! However I tried to decrypt an 128bit encrypted 7 WEP key (Aironet 1130AG), no success...
ReplyDeleteis it possible to decrypt it somehow?
re<<to know old passwords to recover it, you can change it>>
ReplyDeletebut what if you had a encrypted pre-share key that was the same an loaded on MANY routers... if you changed it you would break your vpn
or also encrypted key for a WAP...
with this you can read it if you have some how lost it
i.e. its not JUST for passwords
cool 8-)
ReplyDeleteHi!
ReplyDeleteOn Nexus the 'password 7' method seems to be a different one.
Here a password of 'cisco123' encrypts to 'fewhg123'.
password required 7 fewhg123
Any idea how this can be decrypted? Or what algorithm is used?
It's interesting, that the numeric values are unchanged.
Ciao,
Chris