Cisco系列路由器密碼恢復研究與實踐

weixin_34026276發表於2017-11-26
密碼恢復原理

  (1)Cisco路由器儲存了幾種不同的配置引數,並存放在不同的記憶體模組中。Cisco系列路由器的記憶體有:ROM,快閃記憶體(Flash memory),RAM,不可變RAM和動態記憶體(DRAM)等5種。 一般情況下,路由器啟動時,首先執行ROM中的程式,進行系統自檢及引導,然後執行Flash中的ISO,並在NVRAM中尋找路由器配置,並裝入DRAM中。
  
   (2)口令恢復的關鍵在於對配置登記碼(Configuration Register Value)進行修改,從而讓路由器從不同的記憶體中呼叫不同的參數列進行啟動。有效口令存放在NVRAM中,因此修改口令的實質是先讓登記碼不起作用,從而可以進行直接啟動,完成後再將登記碼恢復(如忘記恢復,路由器重新啟動後修改的配置可能會丟失)。
  
  記憶體作用
  
  ROM存放系統的載入程式,類似PC機的BIOS,是一種只讀儲存器,系統掉電程式不會丟失快閃記憶體存放Cisco IOS的映象,類似PC機的硬碟,是一種可擦寫、可程式設計的ROM,系統掉電資料不會丟失NVRAM存放配置檔案(Startup?config)RAM存放當前系統使用配置(Running?config)DRAM主要包含路由表、ARP快取、Fastswitch快取、資料包快取等,也包含正在執行的配置檔案,系統掉電該記憶體資料會丟失表2Cisco系列路由器配置登陸碼
  
  Configuration Register Value含義
  
  0X2102預設設定
  
  Bit13=0X2000Flash引導失敗5次後,自動從ROM引導
  
  Bit8=0X0100關閉Break鍵
  
  Boot field=0X20X2101從Flash中引導正常執行模式
  
  Bit13=0X2000Flash引導失敗5次後,自動從ROM引導
  
  Bit8=0X0100關閉Break鍵
  
  Boot field=0X10X142進入boot ROM執行模式Router(boot)>
  
  Bit8=0X0040進入boot monitor執行模式>或rommon>
  
  Boot field=0X2從Flash中引導正常執行模式
  
  準備工作

  廠商在設計路由器產品的時候就預留了一個Console(控制檯),它是對路由器進行配置時的一個重要介面,也是密碼恢復的第一步工作:利用DB25轉介面和交叉線,將終端或裝有超級終端軟體的PC接到路由器的Console口上。終端引數設定如下:速度:9 600 bps;資料位:8;奇偶校驗位:無;停止位:1;流控:無。
  
  3800系列路由器(以801為例)具體操作方法
  
  (1)在啟動的60 s內按下中斷鍵Ctrl+Break,如果Break被遮蔽了可以使用迴圈開機的方法,使裝置進入rom monitor狀態,提示符號為“>”。
  
  (2)在rom monitor中輸入set命令:
  
  記下當前的ios-conf值,這裡是0x2102。
  
  Boot# set
  
  ……
  
  Set prompt=“boot”
  
  Set ios-conf=0X2102
  
  (3)輸入set ios-conf 142,如下:boot# set ios-conf 142。
  
  (4)輸入boot引導系統,如果裝置在重啟過程中要求進行初始化配置,一路回答“No”,如下所示:
  
  Boot# boot
  
  ……
  
  8kbytes of non?volatile configuration
  
  memory
  
  8Mbytes of flash on board (4M from flash card)
  
  ——system configuration dialog——
  
  would you like to enter the initial configuration dialog?[yes/no]:n
  
  press reture to get started!(press enter)
  
  (5)輸入回車,enable,再回車,進入enable狀態,命令序列如下:
  
  Router>en
  
  Router#
  
  (6)輸入config mem,調入原配置檔案,並進入配置模式(注意:不要conf t),命令序列如下:
  
  Router# conf mem
  
  801(config)#
  
  (7)恢復原始配置暫存器值並啟用所有埠:
  
  801#configure terminal
  
  801(config)#config?register0X2102
  
  801(config)#interface xx
  
  801(config)#no shutdow
  
  (8)查詢並記錄丟失的口令:
  
  801#show configuration (show startup?config)
  
  (9)修改口令:
  
  801#configure terminal
  
  801(config)line console 0
  
  801(config?line)#login
  
  801(config?line)#password xxxxxxxxx
  
  801(config?line)#
  
  801(config?line)#write memory (copy running?config startup?config)
  
  4Cisco2500系列路由器(以2509為例)具體操作方法
  
  (1)在啟動的60 s內按下中斷鍵Ctrl+Break,如果Break被遮蔽了可以使用迴圈開機的方法,使裝置進入rom monitor狀態。
  
  (2)在rom monitor中輸入o命令:
  
  >o
  
  configuration register=0X2102 at last boot
  
  ……
  
  記下當前的Configuration register值,這裡是0x2102,通常為0x2102或0x102。如果用命令不能獲得有關提示,可以檢視類似的路由器來獲得配置暫存器的值或用0x2102試試。
  
  (3)輸入“>o/r 0x0142”,更新Configuration register值,使路由器啟動時跳過配置檔案直接啟動,以便原來的密碼不起作用,具體操作如下:
  
  >o/r 0x0142
  
  (4)重新啟動路由器:
  
  >I
  
  rommon 2>reset
  
  (5)在“Setup”模式,對所有問題回答“No”
  
  (6)進入特權模式:
  
  router>enable
  
  (7)下載NVRAM
  
  Router>configure memory
  
  (8)恢復原始配置暫存器值並啟用所有埠:
  
  2509#configure terminal
  
  2509(config)#config?register 0X2102
  
  2509(config)#interface xx
  
  2509(config)#no shutdown
  
  (9)查詢並記錄丟失的口令:
  
  2509#show configuration (show startup?config)
  
  (10)修改口令:
  
  2509#configure terminal
  
  2509(config)line console 0
  
  2509(config?line)#login
  
  2509(config?line)#password xxxxxxx
  
  2509(config?line)#
  
  2509(config?line)#write memory (copyrunning?configstartup?config)
  
  5Cisco2600系列路由器(以2611為例)具體操作方法
  
  (1)將路由器的口和計算機串列埠相連,啟動計算機超級終端,開啟路由器電源,在開機60s內按使路由器進入狀態,提示符:rommon1>
  
  (2)在Rommon中輸入:conf reg 0x42,如下所示:
  
  Rommon 1>conf reg 0x42
  
  (3)輸入reset,命令如下:
  
  Rommon 2>reset
  
  (4)當提示是否進入對話配置時回答“no”(如誤輸入“yes”,立刻按Ctrl+c退出,出現“press return to get started!”按回車,進入rom模式router>。
  
  (5)鍵入enable命令進入exec狀態,鍵入router#show config檢視原路由器配置和未加密碼口令,建議立刻做一文字備份檔案,以免誤操作將原路由器配置丟失。
  
  (6)下載NVRAM,將NVRAM模式中的參數列裝入記憶體:
  
  Router# configuration memory
  
  (7)更改完畢一定要寫入NVRAM中,否則路由器原配置會丟失以及改寫口令無效:
  
  Router# write memory
  
  (8)將第3步查到的登記碼還原,一般為0x2102(即從快閃記憶體正常啟動,並遮蔽中斷),並啟用所有埠(系統會將所有埠自動shutdown):
  
  Router#config?register 0x2102
  
  Router?(config)#interface xx
  
  Router(config?if)#no shutdown
  
  Router(config?if)#ctrl-z
  
  (9)重新啟動路由器:Router# reload。
  
  63600系列路由器(以3640為例)具體操作方法
  
  3640的密碼恢復和26系列基本相似,都是進入監控模式,執行conf reg命令,啟動時忽略配置檔案,進行直接啟動。此方法同樣適用於4500、7500、12000系列路由器。
  
  7Cisco系列路由器進入rom狀態的幾種方法
  
  對於Cisco的各種路由器進入rom狀態的方法不盡相同,但一般通過如下3種方法可以進入rom狀態,在使用過程中可以分別試用。
  
  (1)如果Break未被遮蔽,可以在開機60 s內按Ctrl+Break鍵中斷啟動過程,進入rom狀態。
  
  (2)如果Break鍵已經遮蔽,可以通過迴圈開機的方法進入rom狀態,方法是:路由器開機後,將電源關閉,間隔5 s後重新開機,一般會進入rom狀態。此方法適用於7500、12000等路由器。
  
  (3)將超級終端通訊波特率設定為1200,資料位8,奇偶位1,停止位無。開啟路由器電源,啟動後關機,5 s後重新開機,同時一直按住空格鍵12 s後放開,等路由器啟動完成後,重新更改超級終端位預設值,通訊波特率設定為9600,資料位8,奇偶位1,停止位1。重新連線後,從終端上可以看到已經進入rom狀態。注意:在波特率為1200時,終端上沒有內容顯示。此方法適用於2500、2600、4500等系列路由器。
  
  結束語

  作為3層裝置,路由器是一種技術含量很高的網路裝置,涉及到各種協議,技術面較廣。熟練運用各種路由器,及時處理各種突發故障,對維護網路的正常運轉有著重要意義。本文僅就Cisco各系列路由器中的典型型號的密碼恢復方法進行介紹,但對於解決Cisco各系列路由器的類似問題,其具體操作也類似。


本文轉自 蕭湘月 51CTO部落格,原文連結:http://blog.51cto.com/sniffer/24971,如需轉載請自行聯絡原作者

相關文章