รหัสในการสร้างรหัสผ่านแฮช“ ลับ” ของซิสโก้?


12

ไม่มีใครมีตัวชี้ไปยังรหัส (หรือเพียงอัลกอริทึม) ที่ Cisco ใช้เพื่อสร้างรหัสผ่านแฮชสำหรับสิ่งต่าง ๆ เช่น "เปิดใช้ความลับ"

ฉันไม่ได้พยายามที่จะบุกเข้าไปอะไร ฉันกำลังพยายามสร้างบรรทัด "เปิดใช้ความลับ" ที่เหมาะสมโดยใช้รหัสผ่านข้อความที่ชัดเจนไม่ใช่ถอดรหัสบรรทัด "เปิดใช้ความลับ" ที่มีอยู่ด้วยรหัสผ่านที่แฮช ฉันต้องการสิ่งนี้สำหรับตัวสร้างไฟล์กำหนดค่าอัตโนมัติที่ฉันกำลังทำงานอยู่ (ตัวกำหนดค่า Netomata )

โดยทั่วไปสิ่งที่ฉันต้องการคือ Cisco ที่เทียบเท่ากับคำสั่ง "htpasswd" ที่ใช้สำหรับเว็บเซิร์ฟเวอร์

ตัวอย่างเช่นเมื่อฉันใส่คำสั่งต่อไปนี้ด้วยรหัสผ่านข้อความที่ชัดเจนในการกำหนดค่าของซิสโก้:

enable secret foobar

จากนั้นเมื่อฉันทำคำสั่ง 'show config' (สมมติว่าฉันเปิดใช้งาน "การเข้ารหัสรหัสผ่านบริการ") สิ่งที่ฉันเห็นคือสิ่งนี้:

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 ต้องการให้คุณใช้ค่าเกลือเฉพาะหรือไม่ แต่ในทางเทคนิคแล้วไม่มีเหตุผลว่าทำไมตราบใดที่สตริงที่คุณให้ไว้ในคำสั่ง 'เปิดใช้ความลับ' คือรหัสผ่าน MD5 ที่ถูกต้อง หากคุณมีโอกาสทดสอบฉันสนใจที่จะทราบผลลัพธ์ของคุณ


11

ซิสโก้ดูเหมือนจะต้องการเกลือ 4 ตัวอักษร โดยค่าเริ่มต้นโดยไม่มีอาร์กิวเมนต์ " -salt เกลือ " opensslจะสร้างเกลือ 8 ตัว

คุณสามารถใช้opensslเพื่อสร้างแฮชที่เข้ากันได้กับ "cleartext" ของซิสโก้พร้อมด้วยเกลือ 4 ตัวอักษรที่เหมาะสมอย่างไรก็ตาม:

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

"การopenssl rand -base64 3" คำสั่งย่อยสร้าง 3 ไบต์สุ่มแล้วเข้ารหัสไว้ในรูปแบบ base64 ซึ่งจะช่วยให้คุณ 4 ตัวอักษรที่พิมพ์ (สิ่งที่คุณต้องการสำหรับเกลือของซิสโก้ได้)

ขอบคุณ Murali Suriar สำหรับคำตอบ (ที่อื่นในหน้านี้) ซึ่งทำให้ฉันเริ่มต้นเส้นทางที่ถูกต้องในการแก้ปัญหานี้


3

5 ผมเชื่อว่าหมายถึงความจริงที่ว่ามันเป็นประเภท 5 ซึ่งใช้ MD5 ซึ่งหมายความว่าคุณจะต้อง300 เพลย์สเต 3s พิมพ์ 7 จะแตกได้อย่างง่ายดายและพวกเขายังมีสคริปต์บนเว็บไซต์สำหรับมัน นี่อาจจะถูกถามที่ดีกว่าใน Stackoverflow


1
+1 สำหรับคำตอบที่ตลก :) ผิดปกตินี้ยังทำให้ผมมีความหวังบางอย่างที่ตอนนี้อาจใช้บทความที่ฉันสามารถเริ่มได้รับเจ้านายของฉันที่จะซื้อเรา playstations ..
เกร็กฮัน

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' หมายความว่ารหัสผ่านที่ชัดเจนถูกแปลงเป็นรหัสผ่านของซิสโก้ประเภทที่ 5 รหัสผ่านประเภทที่ 5 เป็นอัลกอริทึมที่ใช้ MD5 (แต่ฉันไม่สามารถบอกได้ว่าจะคำนวณอย่างไรขอโทษ) พิมพ์ 7 ที่ใช้เมื่อคุณ "เปิดใช้รหัสผ่าน" เป็นอัลกอริทึมย้อนกลับที่รู้จักกันดี "บริการเข้ารหัสรหัสผ่าน" เพียงตรวจสอบให้แน่ใจว่ารหัสผ่านจะไม่ถูกจัดเก็บในที่ชัดเจน (ประเภท 0)

ดูที่http://en.wikipedia.org/wiki/Crypt_(Unix)#MD5-based_schemeและขอให้โชคดี :)

แก้ไข: คุณอาจดูhttp://www.h4x3d.com/md5-and-crypt-password-generator/ , http://www.koders.com/c/fid530E8983791E1CB2AB90EAA69A68789FA2A83A6D.aspxและhttp: //www.cryptgenerator .de /

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.