Практически любой начинающий Cisco-вод рано или поздно оказывается в ситуации, когда на руках имеется маршрутизатор с напрочь забытым или неизвестным, чужим паролем. Лично я, будучи преподавателем курсов Cisco, встречаюсь с этой ситуацией очень часто после лабораторных работ. Ученики строят топологию, настраивают пароли на доступ, играются с сеткой и… забывают стереть файл конфигурации перед уходом. Само собой, до следующей лабораторной работы все успешно забывают свои пароли. По непонятной мне причине, Cisco не уделяет этой теме достаточно внимание в своём учебном материале, а документация на офф-сайте зачастую пугает новичков. Этот недостаток я и хотел бы сегодня устранить.
Если вы дошли хотя бы до уровня CCENT, вам должно быть известно такое понятие, как configuration register. Это 16-битный регистр, находящийся в NVRAM-е, ответственный за последовательность загрузки маршрутизатора. А именно — откуда и в каком порядке маршрутизатор будет загружать свою операционную системы и файл настроек. Его дефолтное значение — 2102. Третья его цифра отвечает за файл настроек, четвёртая — за ОС. Наша цель — заставить маршрутизатор проигнорировать файл настроек при загрузке (именно в нём и находятся пароли) и открыть нам доступ к privileged mode. Этого мы добиваемся путём изменения третьего числа регистра на «4».
Вот и всё. Весь процесс занимает от силы 5 минут.
С первого взгляда, так оно и есть. Но заметим, что в Rommon можно попасть только через консоль и в процессе восстановления нам потребовалось перезагружать маршрутизатор «железно», а это значит, что злоумышленник должен иметь физический доступ к оборудованию чтоб воспользоваться этой «дырой». И уж если это случилось, то взломанный пароль на циске — как минимум не единственная ваша проблема.
Но если и это вас не убедило, есть способ закрыть возможность восстановления пароля таким образом. Это команда no service password-recovery. Она закроет возможность менять регистр на 2142. Но учтите, что если вы потеряете пароль теперь, чтоб вернуть маршрутизатор из мёртвых от вас потребуются очень массивные танцы с бубном.
Надеюсь, что был полезен.
До встречи на страницам хабра!
Введение
Если вы дошли хотя бы до уровня CCENT, вам должно быть известно такое понятие, как configuration register. Это 16-битный регистр, находящийся в NVRAM-е, ответственный за последовательность загрузки маршрутизатора. А именно — откуда и в каком порядке маршрутизатор будет загружать свою операционную системы и файл настроек. Его дефолтное значение — 2102. Третья его цифра отвечает за файл настроек, четвёртая — за ОС. Наша цель — заставить маршрутизатор проигнорировать файл настроек при загрузке (именно в нём и находятся пароли) и открыть нам доступ к privileged mode. Этого мы добиваемся путём изменения третьего числа регистра на «4».
Алгоритм
- Перезагружаем маршрутизатор, дожидаемся строчки «Self decompressing the image: ###» и жмём Ctrl-C или Ctrl-Break. Этим мы приостановили загрузку маршрутизатора и теперь находимся в режиме ROM Monitor (rommon):
- Меняем значение регистра на 2142 командой confreg 0x2142 (не забываем, что число это — шестнадцатиричное) и перезагружаемся ещё раз:
- После перезагрузки мы попадаем в режим setup mode (что означает, что маршрутизатор не подгрузил файл настроек, чего мы и добивались). Выходим из этого режима и переходим в privileged mode:
- Теперь у нас есть полный доступ к настройкам маршрутизатора. Если вам дороги ваши настройки (которые всё ещё хранятся в startup-config), самое время их восстановить командой copy start run. Все пароли теперь в силе, но так как мы уже «внутри», тоесть имеем права на конфигурацию, нас этот пароль больше не спросят:
- Меняем все интересующие нас пароли на новые и сохраняем наши настройки в NVRAM:
- Меняем регистр на его прежнее значение командой config-register 0x2102 и перезагружаемся для проверки новых паролей:
Вот и всё. Весь процесс занимает от силы 5 минут.
«Но это же дырка!»
С первого взгляда, так оно и есть. Но заметим, что в Rommon можно попасть только через консоль и в процессе восстановления нам потребовалось перезагружать маршрутизатор «железно», а это значит, что злоумышленник должен иметь физический доступ к оборудованию чтоб воспользоваться этой «дырой». И уж если это случилось, то взломанный пароль на циске — как минимум не единственная ваша проблема.
Но если и это вас не убедило, есть способ закрыть возможность восстановления пароля таким образом. Это команда no service password-recovery. Она закроет возможность менять регистр на 2142. Но учтите, что если вы потеряете пароль теперь, чтоб вернуть маршрутизатор из мёртвых от вас потребуются очень массивные танцы с бубном.
Надеюсь, что был полезен.
До встречи на страницам хабра!