A proposito dell'autore

E' Founder & Executive di AreaNetworking.it, uno dei maggiori punti di riferimento online del settore ICT ed il più grande Cisco Users Group ufficiale in Italia. Founder anche di TeslaItalia.it - Tesla Club Italy, il riferimento italiano per gli appassionati ed i clienti Tesla. E' stato l'ideatore & Event Manager del festival ICT. Oggi è Business Development Manager di Smau. Owner di CiscoForums.it.

Può capitare di smarrire la password di accesso di un router Cisco. Per recuperarla abbiamo la facoltà di ricorrere alla procedura chiamata appunto Password Recovery.

E’ cosa ovvia che, per motivi di sicurezza, questa procedura possa essere eseguita solo tramite la porta console del router. In sostanza, è necessario l’accesso fisico all’apparato.

La prima cosa da fare, quindi, è quella di collegarci tramite console al nostro router. Su Windows possiamo usare HyperTerminal mentre su un sitema Unix possiamo usufruire del famoso minicom. I parametri da usare sono: 9600 bps, No parity, 8 data bits, 1 stop bit.

Quello che dobbiamo fare ora è far sì che il router faccia il boot ignorando totalmente la presenza sia dell’IOS che della configurazione, rispettivamente situati nella memoria Flash e nella memoria NVRAM. Per fare ciò è necessario cambiare il valore di registro di sistema espresso in esadecimale. Il valore di default di questo registro è 0x2102 e dobbiamo cambiarlo in 0x2142. Possiamo verificare che il registro sia impostato a 0x2102 con il comando sh ver (show version):

router# sh ver
...
...
2 FastEthernet/IEEE 802.3 interface(s)
1 Serial network interface(s)
32K bytes of non-volatile configuration memory.
16384K bytes of processor board System flash (Read/Write)
Configuration register is 0x2102

Ma cosa accade effettivamente quando cambiamo il valore del registro da 0x2102 a 0x2142? Questo registro è composto da vari bit e noi cambieremo il settimo a partire da destra. Lo porteremo, infatti, dal valore 0 al valore 1. Così facendo, escludiamo il caricamente dell’IOS e della configurazione ponendo il router nella modalità chiamata Rommon (ROM Monitor) e garantendoci, di conseguenza, che non ci verrà chiesta alcuna password.

Ora passiamo al vero e proprio Password Recovery. Abbiamo detto quindi che dobbiamo cambiare il valore di questo registro. Per farlo, riavviamo il router e colleghiamoci ad esso in modalità Console. Fatto ciò, prima di 60 secondi dall’avvio del router, dobbiamo mandargli il segnale di break.

La generazione di questo segnale varia a seconda del programma che stiamo utilizzando:

  • HyperTerminal: ctrl+break (ctrl+pause)
  • HyperTerminal versione 595160: ctrl-F6-break
  • Minicom: ctrl+alt+f (contemporaneamente)
  • Telnet: ctrl+J
  • Teraterm: alt-b

Dopo aver mandato il segnale di break, il router entrerà in modalità Rommon escludendo quindi il caricamento dell’IOS e della configurazione, mostrandoci il prompt rommon 1 >. Procediamo ora cambiando il valore del registro: da 0x2102 a 0x2142. Per farlo utilizziamo il seguente comando:

rommon 1> confreg 0x2142
You must reset or power cycle for new config to take effect

Bene: abbiamo appena cambiato il valore del registro. Ora resettiamo il router in modo tale che faccia il boot senza IOS e di conseguenza poter eseguire il recovery.

rommon 2> reset
System Bootstrap, Version 12.2(7r) [cmong 7r], RELEASE SOFTWARE (fc1)
Copyright (c) 2002 by cisco Systems, Inc.
...
...

Durante il boot, il router ci chiederà se vogliamo configurare il router da zero. Rispondiamo negativamente:

--- System Configuration Dialog ---
Would you like to enter the initial configuration dialog? [yes/no]:  no

Ed ecco che ci troveremo il prompt Router>. Passiamo alla modalità privilegiata:

Router> enable
Router#

Copiamo ora la configurazione presente nella memoria NVRAM (Not Volatile RAM) nella memoria Flash e rendere così operativo il router:

Router# copy startup-config running-config
Destination filename [running-config]? [INVIO]
882 bytes copied in 2.456 secs (359 bytes/sec)
hostname#

Entriamo in modalità configurazione che ci permetterà di cambiare la password:

hostname# conf t
Enter configuration commands, one per line. End with CNTL/Z.
hostname(config)#

Cambiamo ora la password con:

hostname(config)# enable secret nuova_password
hostname(config)#

Abbiamo praticamente finito la procedura di Password Recovery, terminiamola copiando l’attuale configurazione (running-config) nella configurazione di startup (startup-config, quindi nella memoria Flash):

hostname(config)# end
hostname#
*Mar 1 00:24:17.999: %SYS-5-CONFIG_I: Configured from console by console
hostname# copy running-config startup-config
Destination filename [startup-config]? [INVIO]
Building configuration...
[OK]
hostname#

e riportiamo ora il registro al valore iniziale, cioè da 0x2142 a 0x2102:

hostname# conf t
hostname(config)# configure-register 0x2102
hostname(config)#

Ok, abbiamo appena terminato la procedura di Password Recovery sul router. Ora possiamo effettuarne il reload con la nuova configurazione e password:

hostname# reload

Come avete visto, per eseguire questa procedura è sufficiente poter collegarsi al router tramite la porta console. E’ cosa ovvia, quindi, che anche la “sicurezza fisica” non debba mai essere sottovalutata.

Da notare: la procedura di Password Recovery non è uguale per tutti i modelli ma questa appena vista mantiene la maggior parte dei comandi.

Post correlati

Close
Entra in contatto con altri professionisti ICT, seguici su Facebook e Twitter: