Pull to refresh

Обходим защиту management-plane

Reading time 2 min
Views 15K
Пару дней назад мой начальник дал мне задание — пробежаться по всем девайсам в нашей сети и посмотреть каким образом можно улучшить безопасность сети в целом. Я человек далёкий от security, routing&switching — наше всё. Но тем не менее, я взялся за дело. Товарищи по работе подсказали, что стоит погуглить способы защиты management plane (имя в виду, конечно, MPP), я случайно погуглил «MOP cisco» и хорошо, что не сразу понял, что ошибся…


Немного истории


В далёкие времена, когда DEC ещё занимались сетями, они написали стэк протоколов под общим названием DECnet. Про большинство из них человечество уже успешно успело забыть. Но только не Cisco. Один из протоколов в этом стэке называется MOP (Maintenance Operation Protocol). Функций у него было не мало, но одна из них актуальна по сегодняшний день. Я говорю про RC (Remote Console). С помощью этой функции можно было получить удалённый доступ к устройству.

Почему это интересует меня сегодня?


А потому, что Cisco мало того, что до сих включает этот протокол в все IOS-ы (вплоть до 15-го), так ещё и включает его по умолчанию на всех интерфейсах! «Ну и что?» — скажете вы. Ничего революционного, telnet и SSH знают все. А особенного в этом под-протоколе то, что он бегает полностью на втором (канальном) уровне. А это значит, что любимый всеми нами access-list на VTY от этой дырки не спасёт.

Итак, вооружившись GNS-ом и VMware Player-ом я принялся за дело.

Тестируем


Всё что мне было нужно, это поднять линукс на виртуальной машине и подключить её к не менее виртуальной циске в GNS. Я воспользовался дистрибутивом Ubuntu Server 12.04 LTS и образом IOS c7200-jk9s-mz.124-21a. Единственное, что нужно было добавить на сервер это, собственно, сам LAT Daemon (apt-get install latd).

Для начала я поднял на раутере VTY без всяких ограничений просто для того, чтоб проверить, что MOPRC работает в принципе:

image

Great success!

Если вкратце, то я смог подключиться при следующих конфигурациях:

1) С access-list-ом запрещающим абсолютно всё (deny any) натянутым на VTY.
2) С no login под VTY.
3) С transport input none под VTY (и это при наличии mop в списке возможных протоколов).

Единственное, что блокирует этот протокол это no mop enabled под физическим интерфейсом.

Тут стоит оговориться — чтоб поключиться к устройству через этот протокол, нужно быть с ним в одном сегменте. Кроме того — с другого сетевого устройства подключиться не получится (или я не нашёл как это сделать на Cisco), нужно иметь хост с линуксом (хотя если вдуматься, то не вижу почему нельзя поставить latd на Juniper). К тому же — проваливаемся мы только в user-mode, и чтоб пойти дальше нужно всё-таки знать пароль. Но тем не менее — по-моему эта дырка стоит упоминания.
Tags:
Hubs:
+15
Comments 14
Comments Comments 14

Articles