Kod do generowania „tajnych” skrótów haseł Cisco?


12

Czy ktoś ma wskaźnik do kodu (lub tylko algorytm), którego Cisco używa do generowania skrótów haseł dla takich rzeczy, jak „włącz tajne”?

Nie próbuję się w nic włamać; Usiłuję wygenerować odpowiedni wiersz „włącz tajny”, podając hasło w postaci czystego tekstu, a nie dekoduj istniejący wiersz „włącz tajny” hasłem. Potrzebuję tego do automatycznego generatora plików konfiguracyjnych, nad którym pracuję ( Netomata Config Generator ).

Zasadniczo to, czego chcę, to odpowiednik Cisco polecenia „htpasswd” używanego do serwerów sieciowych.

Na przykład, gdy wstawię następujące polecenie z jawnym hasłem do konfiguracji Cisco:

enable secret foobar

potem, gdy wykonuję polecenie „show config” (zakładając, że mam włączone „szyfrowanie hasła usługi”), widzę coś takiego:

enable secret 5 $1$pdQG$0WzLBXV98voWIUEdIiLm11

Chcę kodu, który tłumaczy „foobar” na „5 $ 1 $ pdQG $ 0WzLBXV98voWIUEdIiLm11”, dzięki czemu mogę wygenerować już zakodowane hasła w moim narzędziu do generowania konfiguracji, zamiast umieszczać hasła w postaci jawnego tekstu w wygenerowanych konfiguracjach i czekać na router wygenerować skrót.

Zakładam, że „5” w haszowanym wyniku jest pewnego rodzaju identyfikatorem algorytmu skrótu. Jeśli istnieją inne algorytmy mieszające, które Cisco obecnie lub kiedyś używało, to chciałbym mieć również kod dla tych algorytmów.

Odpowiedzi:


18

Zgodnie z tą witryną narzędzie wiersza polecenia OpenSSL wydaje się zapewniać potrzebne funkcje:

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

I przypuszczalnie istnieje sama równoważna funkcja w samej bibliotece.

Nie jestem pewien, czy IOS wymaga użycia określonych wartości soli, ale technicznie nie ma powodu, dla którego miałby tak długo, dopóki ciąg podany w komendzie „enable secret” jest prawidłowym skrótem hasła MD5. Jeśli masz okazję przetestować, chciałbym poznać Twoje wyniki.


11

Wygląda na to, że Cisco wymaga 4-znakowej soli. Domyślnie bez argumentu „ -salt saltopensslwygeneruje sól o długości 8 znaków.

Możesz jednak użyć openssldo wygenerowania zgodnego z Cisco skrótu „tekstu jawnego” z odpowiednią losową 4-znakową solą, jednak tak:

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

Polecenie „ openssl rand -base64 3” generuje 3 losowe bajty, a następnie koduje je w formacie base64, co daje 4 znaki do wydrukowania (dokładnie to, czego potrzebujesz do soli kompatybilnej z Cisco).

Dzięki Murali Suriar za odpowiedź (gdzie indziej na tej stronie), która zaprowadziła mnie na właściwą drogę do tego rozwiązania.


3

5 Uważam, że odnosi się do faktu, że jest to typ 5, który wykorzystuje MD5, co oznacza, że ​​będziesz potrzebował 300 playstation 3s . Wpisz 7 jest łatwo pęknięty i mają nawet skrypty na stronach internetowych dla niego. To może być lepiej zadane na Stackoverflow.


1
+1 za zabawną odpowiedź :) Dziwnie, daje mi to również nadzieję, że może teraz, korzystając z tego artykułu, mogę zacząć nakłaniać mojego szefa do kupowania nam playstation ..
Greg Meehan

3

Oto świetne odniesienie http://haxcess.com/2008/10/21/cisco-password-recovery/

Podsumowując, skrót jest podzielony na kilka części

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

Oto rozwiązanie Perla, które w przeszłości sprawiało mi cuda. Umieść to dziecko w pętli i pozwól mu biec.

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

1

„5” oznacza, że ​​czyste hasło zostało przekonwertowane na hasło typu cisco typu 5. Hasło typu 5 to algorytm oparty na MD5 (ale niestety nie mogę powiedzieć, jak je obliczyć). Typ 7 używany podczas wykonywania hasła „włącz hasło” jest dobrze znanym algorytmem odwracalnym. „szyfrowanie hasła usługi” tylko upewnij się, że hasło nie będzie przechowywane w sposób jawny (typ 0)

Zajrzyj na http://en.wikipedia.org/wiki/Crypt_(Unix)#MD5-based_scheme i powodzenia :)

EDYCJA: Możesz również szukać http://www.h4x3d.com/md5-and-crypt-password-generator/ , http://www.koders.com/c/fid530E8983791E1CB2AB90EAA69A68789FA2A83A6D.aspx i http: //www.cryptgenerator .de /

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.