Hacking&Security Workshop

ตอนนี้ MaYaSeVeN ได้ย้าย Blog ไปที่ http://blog.mayaseven.com


Thursday, October 20, 2011

How to Reset or Recover your Lost Cisco Router or Switch Password

Cisco Internetwork Operating System (Cisco IOS) คือระบบปฎิบัติการที่อุปกรณ์ของ Cisco ใช้นั้นเอง สำหรับ Hardware ของอุปกรณ์ Cisco นั้นส่วนประกอบหลักๆได้แก่
1.) Rom หน่วยความจำอ่านได้อย่างเดียวส่วนนี้ทำงานคล้าย BIOS บนคอมพิวเตอร์ทั่วไป ประกอบไปด้วย
     1.1) Bootstrap เอาไว้ชี้ว่าจะไปโหลดอิมเมจไฟล์ของ IOS ที่ไหน
     1.2) Rom Monitor อันนีเปรียบเสมือน OS สำรองเวลาตัว IOS มีปัญหาก็มากู้วิกฤตกันตรงนี้ :)

2.) Flash Memory หน่วยความจำแบบ Flash หน่วยความจำประเภทนี้ปกติใช้อ่านอย่างเดียวแต่ก็สามารถลบข้อมูลและเขียนข้อมูลเข้าไปใหม่ได้ หน้าที่มันในที่นี้คือเก็บอิมเมจไฟล์ IOS นั้นเอง

3.) RAM หรือบางทีเรียก DRAM อันนี้ก็เหมือน RAM ที่ใช้ในคอมพิวเตอร์ทั่วไป

4.) NVRAM ส่วนนี้คือหน่วยความจำที่เอาไว้เก็บ Startup Configuration File

การทำงานของ IOS เมื่อเปิดเครื่องขึ้นมามันก็เริ่มจาก Bootstrap ชี้ไปที่อยู่ของ IOS แล้วก็ Decompress อิมเมจไฟล์มาไว้ใน DRAM หลังจาก IOS ทำงานมันก็จะไปดูที่ Nonvolatile RAM (NVRAM) ว่ามี Startup Configuration หรือไม่ ถ้าไม่มีก็จะนำ Default Configuration มาใช้

เกลิ่นนำมาซะยาว ><" มาเริ่มวิธีกู้ Password Cisco IOS กัน :)


จากข้างต้นเราได้เห็นวีธีการทำงานของ IOS กันแล้วในส่วนของ Startup Configuration นั้นนอกจากจะเก็บค่า Config ต่างๆแล้วมันยังเก็บ Password ไว้ในนั้นด้วย วิธีการกู้ก็คือ Boot แบบไม่ให้มันไปอ่านไฟล์ Startup Configuration นั้นเอง โดยให้มันใช้ค่า Default Configuration ในการเริ่มต้นทำงานแล้วจากนั้นเราค่อยโหลด Startup Configuration มาไว้ใน DRAM แล้วก็ทำการลบ Password เก่าที่เราลืมออกซะ

จากวิธีข้างต้นจะเห็นว่าเรายังสามารถใช้ค่า Config เก่าได้ด้วย :)

Step by Step


 1.) ปิดแล้วเปิดเครื่องใหม่ระหว่างที่กำลัง Decompressing อยู่นั้นให้เรากด { Ctrl + C } เพื่อเข้าสู่ rommon (Rom Monitor) จากนั้นให้แก้ Register เพื่อให้ข้ามการโหลด Startup Config โดยใช้คำสั่ง "confreg 0x2142" หลังจากนั้นให้ทำการ Reset


2.) หลังจาก boot ขึ้นมาเราจะเห็นว่าเข้าสู่ IOS ได้แล้วจากนั้นให้โหลด Config เก่า มาใช้ด้วยคำสั่ง "copy start run" << หมายความว่า Copy ค่าใน Start-config มาไว้ใน DRAM นั้นเอง

3.) ใช้คำสั่ง "show run" เพื่อดู config เก่าเราจะเห็นว่าได้ enable secret เอาไว้ เป็นการ Encrypt แบบ type 5 ซึ่งเป็น ้Hash ที่มีความปลอดภัยพอสมควรขึ้นอยู่กับความยากของรหัสที่เราตั้งไว้ ไม่แนะนำให้ใช้ type 7 เพราะสามารถถูก Decrypt ได้


4.) จากนั้นก็ทำการปิดหรือเปลี่ยนในส่วน password ที่เราลืมซะในที่นี้ผมเลือกปิดมันไป หลังจากนั้นก็ให้เราแก้ค่า Register กลับมาเป็นค่าปกติด้วยคำสั่ง "config-register 0x2102" แล้วก็ Reboot เป็นอันเสร็จพิธี :) 


ปล. 1.) ถ้าเจ๊งขึ้นมาผมไม่เกี่ยวนะฮ๊าฟฟฟฟฟฟฟฟ :) {เป็นอุปกรณ์ที่ราคาแพงได้ใจ ><"}
       2.) สำหรับเพื่อนๆอย่าเอาไปลองใน Lab จริงเน้อ ถ้าจะลองให้ลองใน Simulator หรืออุปกรณ์ของเรา :)


Written by MaYaSeVeN