Код для створення "секретних" хешей паролів Cisco?


12

Хтось має вказівник на код (або просто алгоритм), який Cisco використовує для створення хешей паролів для таких речей, як "включити секрет"?

Я не намагаюся ввірватися ні до чого; Я намагаюсь генерувати відповідний рядок "включити секрет", надавши чіткий текстовий пароль, а не розшифрувати існуючий рядок "включити секрет" з хешированним паролем. Мені це потрібно для автоматизованого генератора конфігураційних файлів, над яким я працюю ( Netomata Config Generator ).

В основному, те, що я хочу, - це еквівалент Cisco команди "htpasswd", що використовується для веб-серверів.

Наприклад, коли я помістив у конфігурацію Cisco наступну команду з ясним текстовим паролем:

enable secret foobar

тоді, коли я виконую команду "показати конфігурацію" (якщо припустити, що увімкнено "шифрування службового пароля"), я бачу щось подібне:

enable secret 5 $1$pdQG$0WzLBXV98voWIUEdIiLm11

Я хочу код, який переводить "foobar" на "5 $ 1 $ pdQG $ 0WzLBXV98voWIUEdIiLm11", щоб я міг генерувати вже хешовані паролі в своєму інструменті генерації конфігурацій, а не ставити паролі ясного тексту в створені конфігурації та чекати, коли маршрутизатор генерують хеш.

Я припускаю, що "5" у хешованому результаті - це якийсь ідентифікатор алгоритму хешу. Якщо є інші хеш-алгоритми, які Cisco в даний час або раніше використовував, я також хотів би мати код для цих алгоритмів.

Відповіді:


18

Згідно з цим веб-сайтом з'являється утиліта командного рядка OpenSSL, яка забезпечує необхідну функціональність:

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

І, мабуть, є рівнозначна функція в самій бібліотеці.

Я не впевнений, якщо IOS вимагає від вас використання певних значень солі, але технічно немає причин, чому це повинно до тих пір, поки рядок, який ви вводите в команді 'enable secret', є дійсним дайджером пароля MD5. Якщо у вас є можливість протестувати, мені буде цікаво дізнатися ваші результати.


11

Здається, Cisco потребує солі з 4 символами. За замовчуванням без аргументу " -salt сіль " opensslгенерується сіль з 8 символів.

Ви можете використовувати opensslдля створення сумісного Cisco хеша "прозорого тексту" з відповідною випадковою 4-символьною сіллю, проте так:

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

Підкоманда " openssl rand -base64 3" створює 3 випадкових байта, а потім кодує їх у форматі base64, що дає 4 символи для друку (саме те, що потрібно для солі, сумісної з Cisco).

Дякую Муралі Суріару за відповідь (в інших місцях на цій сторінці), яка запустила мене на правильний шлях до цього рішення.


3

5 Я вважаю, що це стосується того, що це тип 5, який використовує MD5, а це означає, що вам знадобиться 300 playstation 3 . Тип 7 легко зламається, і на них навіть є сценарії на веб-сайтах . Це може бути краще запитати у Stackoverflow.


1
+1 за смішну відповідь :) Як не дивно, це також дає мені певну надію, що, можливо, зараз, використовуючи цю статтю, я можу почати отримувати свого боса, щоб придбати нам майданчики ..
Грег Механ

3

Ось чудовий довідник http://haxcess.com/2008/10/21/cisco-password-recovery/

Підсумок - хеш розбивається на кілька частин

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

Ось рішення Perl, яке раніше творило для мене чудеса. Покладіть цю дитину в петлю і дайте їй бігати.

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

1

"5" означає, що прозорий пароль був перетворений у пароль пароля cisco типу 5. Пароль 5 типу - алгоритм на основі MD5 (але я не можу сказати, як його обчислити, вибачте). Тип 7, який використовується, коли ви робите "включити пароль", є добре відомим оборотним алгоритмом. "шифрування службового пароля" просто переконайтеся, що пароль не зберігатиметься в чистому режимі (тип 0)

Погляньте на http://en.wikipedia.org/wiki/Crypt_(Unix)#MD5-based_scheme та удачі :)

EDIT: Ви також можете подивитися http://www.h4x3d.com/md5-and-crypt-password-generator/ , http://www.koders.com/c/fid530E8983791E1CB2AB90EAA69A68789FA2A83A6D.aspx та http: //www.cryptgenerator .de /

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.