Восстановление пароля на маршрутизаторах Cisco

Практически любой начинающий Cisco-вод рано или поздно оказывается в ситуации, когда на руках имеется маршрутизатор с напрочь забытым или неизвестным, чужим паролем. Лично я, будучи преподавателем курсов Cisco, встречаюсь с этой ситуацией очень часто после лабораторных работ. Ученики строят топологию, настраивают пароли на доступ, играются с сеткой и… забывают стереть файл конфигурации перед уходом. Само собой, до следующей лабораторной работы все успешно забывают свои пароли. По непонятной мне причине, Cisco не уделяет этой теме достаточно внимание в своём учебном материале, а документация на офф-сайте зачастую пугает новичков. Этот недостаток я и хотел бы сегодня устранить.


Введение


Если вы дошли хотя бы до уровня CCENT, вам должно быть известно такое понятие, как configuration register. Это 16-битный регистр, находящийся в NVRAM-е, ответственный за последовательность загрузки маршрутизатора. А именно — откуда и в каком порядке маршрутизатор будет загружать свою операционную системы и файл настроек. Его дефолтное значение — 2102. Третья его цифра отвечает за файл настроек, четвёртая — за ОС. Наша цель — заставить маршрутизатор проигнорировать файл настроек при загрузке (именно в нём и находятся пароли) и открыть нам доступ к privileged mode. Этого мы добиваемся путём изменения третьего числа регистра на «4».

Алгоритм


  1. Перезагружаем маршрутизатор, дожидаемся строчки «Self decompressing the image: ###» и жмём Ctrl-C или Ctrl-Break. Этим мы приостановили загрузку маршрутизатора и теперь находимся в режиме ROM Monitor (rommon):

    image

  2. Меняем значение регистра на 2142 командой confreg 0x2142 (не забываем, что число это — шестнадцатиричное) и перезагружаемся ещё раз:

    image

  3. После перезагрузки мы попадаем в режим setup mode (что означает, что маршрутизатор не подгрузил файл настроек, чего мы и добивались). Выходим из этого режима и переходим в privileged mode:

    image

  4. Теперь у нас есть полный доступ к настройкам маршрутизатора. Если вам дороги ваши настройки (которые всё ещё хранятся в startup-config), самое время их восстановить командой copy start run. Все пароли теперь в силе, но так как мы уже «внутри», тоесть имеем права на конфигурацию, нас этот пароль больше не спросят:

    image

  5. Меняем все интересующие нас пароли на новые и сохраняем наши настройки в NVRAM:

    image

  6. Меняем регистр на его прежнее значение командой config-register 0x2102 и перезагружаемся для проверки новых паролей:

    image


Вот и всё. Весь процесс занимает от силы 5 минут.

«Но это же дырка!»


С первого взгляда, так оно и есть. Но заметим, что в Rommon можно попасть только через консоль и в процессе восстановления нам потребовалось перезагружать маршрутизатор «железно», а это значит, что злоумышленник должен иметь физический доступ к оборудованию чтоб воспользоваться этой «дырой». И уж если это случилось, то взломанный пароль на циске — как минимум не единственная ваша проблема.

Но если и это вас не убедило, есть способ закрыть возможность восстановления пароля таким образом. Это команда no service password-recovery. Она закроет возможность менять регистр на 2142. Но учтите, что если вы потеряете пароль теперь, чтоб вернуть маршрутизатор из мёртвых от вас потребуются очень массивные танцы с бубном.

Надеюсь, что был полезен.

До встречи на страницам хабра!
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 48

    +12
    На сайте Сisco восстановление пароля описано практически для любой серии маршрутизаторов.
    В интернете представленный Вами способ описан на десятках ресурсов.
      0
      Я и не претендую на оригинальность, но я не нашёл статьи на русском со скриншотами о том как это делается. Может быть плохо искал, согласен.
      +8
      На сайте Cisco есть вообще вся инфа о девайсах Cisco. Предлагаю блог Cisco на Хабре закрыть за ненадобностью.
      +1
      По непонятной мне причине, Cisco не уделяет этой теме достаточно внимание в своём учебном материале, а документация на офф-сайте зачастую пугает новичков.

      Когда я готовился к CCNA, в учебном курсе была глава про восстановление пароля.

      А документация на сайте у них, по-моему, офигенная — практически на любую тему и отлично разжевано. Вот только найти проще через гугл, чем через их поиск :)
        +1
        По какому материалу вы учились?
          0
          На подготовительных курсах к CCNA это очень подробно рассказывается. Слушал давно в avalon.ru
            +1
            Любой инструктор с самым минимальным количеством практического опыта внесёт это в программу. Этот пост был написан больше для самоучек.
          0
          Скоро и офсайтов не понадобится. Все материалы будут продублированы на Хабре. Где же уникальность контента?
            +2
            все просто и четко, ни в одной статье которую я встречал например не объяснялось, про confreg и значения чисел(на русском языке). Однозначно в избранное…
            Спасибо.
              +2
              Несколько раз пользовался этой процедурой, но о значении разрядов confreg узнал только сейчас, спасибо.
                0
                Прошу прощения, но стоило бы, для облегчения понимания, использовать правильную терминологию, различая числа и цифры. Раз уж вся статья посвящена разъяснениям.
                «Его дефолтное значение — число 2102. Третья его цифра отвечает за файл настроек, четвёртая — за ОС»
                  0
                  «Число» там мне кажется лишним, но насчёт «цифры» вы правы. Спасибо, поправил.
                  +1
                  Капитан Очевидность снова в строю! Я не то чтобы не дошёл «хотя бы до уровня CCENT», я вообще не обучался и не получал никаких «скилов». Но я в первую же неделю работы на новом месте работы, впервые столкнувшись с роутерами Cisco, научился обращаться c rommon, configuration register, и всеми возможными способами загрузки IOS и конфигурации. А было это аж в 2003-м году.
                  Не нужно быть «посвящённым» или «гуру», чтобы выяснить элементарные вещи для работы с оборудованием Cisco. Как правило проблемы огребаешь при общении с «железками» менее успешных вендоров, мало распространённых и диковинных.
                    0
                    Была ситуация, когда Друг (виндузятник), обратился за помощью, сброса пароля на роутере, где то там в филиале, я ему дал ссылку на password recovery procedure (как и автор не задумывался о русскоязычных статьях), итого потертый конфиг. Материал изложен хорошо, по крайней мере, новичок не будет нервничать при работе первый раз, услышав фразу «можно потерять конфиг».

                    С первого взгляда, так оно и есть. Но заметим, что в процессе восстановления нам потребовалось перезагружать маршрутизатор «железно»....

                    Опустили (пропустили) факт, что в ромон попадем только, через console port.
                      0
                      Пропустил. Правлю.
                    –2
                    Эй, товарищи умные, которые все и так знают, кыш из треда!

                    Мы в прошлом году еще до окончания испытательного срока уволили CCNP-специалиста, который испытывал трудности при сбросе пароля и вливании убитого IOS-а через rommon. Так что статья найдет своего читателя.
                    +1
                    www.hopasaurus.com/CISCO_confreg.html
                    неплохая штука, позволяющая понять, что из себя представляет конфигурационный регистр
                      0
                      Спасибо за ссылку.
                      0
                      Да всё нормально, хватит пинать статью только из-за неоригинальности. Ну написал статью человек, пусть её писали все и везде, ну и что. Автор старался, приложил определенные усилия, я думаю этот топик заслуживает как минимум на плюсик.
                        +1
                        кстати, возможно кому-то пригодится:
                        если нет возможности послать Ctrl-C или Ctrl-Break (я столкнулся с таким на нетбуке с ограниченным набором софта и отсутствием клавиши break) — можно перевести консоль в скорость 1200 и нажимать пробел порядка 20 секунд после включения.
                        После — отключить консоль, перейти в 9600 as usual и вуаля — вы в rommon.
                          0
                          Если когда-нибудь встречу нетбук ещё и без клавишы 'C' — обязательно попробую :)
                            0
                            Ctrl-C почему-то не срабатывал
                            +1
                            Сталкивался с такой же проблемой, нашёл альтернативное решение:

                            на роутерах IOS обычно хранится на флэш — на той, которая воткнута на морде.
                            Алгоритм следующий:
                            1) вырубаем роутер
                            2) вытаскиваем карту памяти
                            3) включаем роутер
                            4) так как ios нет он сам вываливается в ROMMON — ничего наживать вообще не нужно.
                            5) меняем регистр
                            6) гасим роутер
                            7) вставляем карту обратно
                            8) включаем
                            дальше смотри пункт 3 в топике.
                              +1
                              жестокие век, жестокие сердца…
                                0
                                Не прокатит при вот такой конструкции:
                                boot system tftp:/192.168.1.1/ios/c2800nm-adventerprisek9_ivs-mz.124-24.T.bin

                                так что лучше как описано в статье.
                                  0
                                  хм… а что будет если просто выдернуть из циски тот шнурок, который смотрит в сторону 192.168.1.1?

                                  Сдаётся мне что в этом случае будет ещё проще!
                                  Суть ведь именно в том, что если образа IOS взять негде, то получите пожалуйста ROMMON
                                    0
                                    Суть в том, что если тот кому не надо имеет физический доступ к оборудованию — то это уже не правильно.
                                    Смысл в криптованных каналах, VPN'ах и прочей мишуре, если пограничный маршрутизатор валяется в коридоре?
                                      0
                                      А речь не идёт про «тех кому не надо». Простой пример(из личной практики):
                                      Вы аутсорсер.
                                      Вас позвали в организацию «разобраться с какими-то железками там в серверной», потому что почта не ходит\интернета нет\оттуда доносится хрюканье(привет касперскому!)\и т.д.
                                      Паролей никто, никаких и ни от чего не знает.
                                      Штатного админа нет, кто ставил это всё оборудование они не в курсе, но заходить в серверную с хрюкающими серверами им страшно…
                                      Ввм в руки дают ключ от серверной…
                                      Ну вообщем весь комплекс мер по восстановлению\взлому паролей в Вашем распоряжении, так как других вариантов зарезать свинью попасть на оборудование и выяснить, что там вообще происходит у Вас всё равно нет.
                                    0
                                    А можно сделать более универсальный алгоритм.
                                    Если мы не знаем, что там сконфигурено и откуда оно бутится, то пункт 2) в моём варианте будет выглядеть так:
                                    2) вытаскиваем карту памяти, выдёргиваем все патч-корды из всех портов
                                    Всё! путей загрузки IOS нет — Вы в ROMMON!
                                    Эх только на коммутаторах не прокатит — там карту не вытащишь…
                                      0
                                      Я не видел ни одного раутера, у которого в постоянном конфиге прописано брать иос с тфтп. Но да, в любом случае лучше поменять конфрег, чем передёргивать лишний раз карточку.
                                        0
                                        >Я не видел ни одного раутера, у которого в постоянном конфиге прописано брать иос с тфтп.
                                        да бывает…
                                        >в любом случае лучше поменять конфрег, чем передёргивать лишний раз карточку.
                                        Почитайте внимательней — конфрег в любом случае менять.
                                        Карточку нужно дёргать, когда не возможности попасть в ROMMON ввиду внешних условий, а срочно нужно — например отсутствует клавиша break, а другие известные комбинации не срабатывают.
                                          0
                                          Пардон, оговорился. Я имел в виду, что лучше найти способ провалиться в ROMMON (а такой способ всегда есть), чем дёргать карточку.
                                    0
                                    Не все терминалки поддерживают Ctrl-Break или Ctrl-C. В частности в PuTTY это Ctrl-6.
                                    0
                                    Ну тогда вот комбинации , для попадания в rommon.
                                      0
                                      Можно еще добавить, что все «зашифрованное» в конфиге командой password, отлично декодируется.
                                      Например, если кто-то указал enable password вместо enable secret, то можно это декодировать. Часто, имея такой конфиг на руках, не нужно даже менять регистр разгрузки.
                                      И еще. Если настроена правильная авторизация через tacacs/radius, то вот это «самое время их восстановить командой copy start run. Все пароли теперь в силе, но так как мы уже «внутри», тоесть имеем права на конфигурацию, нас этот пароль больше не спросят:» НЕ прокатит — в итоге, мы получим «Command autorization failed».
                                        0
                                        в учебном материале академий разжевано все отлично… Впрочем, новичкам полезно. Добавьте еще про такую команду как
                                        no service password-recovery
                                          +1
                                          Но если и это вас не убедило, есть способ закрыть возможность восстановления пароля таким образом. Это команда no service password-recovery. Она закроет возможность менять регистр на 2142. Но учтите, что если вы потеряете пароль теперь, чтоб вернуть маршрутизатор из мёртвых от вас потребуются очень массивные танцы с бубном.

                                          Последний абзац.
                                        0
                                        Для очистки совести надо было бы ещё рассказать как оно же осуществляется на свитчах, там несколько по-другому, и порой тоже бывает нужно.
                                          –1
                                          Без проблем, будет.
                                            +4
                                            Ребята может не надо? =(
                                            Что вы раздел Cisco в раздел Cisco для даунов превращаете то.
                                        0
                                        Добрый день
                                        нам на работе попалась Cisco 805 старая модель. И не знаем логин на вход (пароль знаем).
                                        При подборе логина = invalid login
                                        Его логина может не быть на ней вообще — ?
                                        Подскажите если ее разобрать там есть две перемычки reset1 и reset0 — за чем они — ?

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                        Самое читаемое