Cisco IOS shellcode: All-in-one

    image

    Здравствуйте!

    Данный пост является ответом на недавнюю публикацию на ресурсе Хабрахабр от российского представительства компании Cisco.

    Автор – тот самый «незрелый» и «начинающий» исследователь из компании Digital Security, упомянутый в статье представителя Cisco.

    Странно, представительство столь известной компании позволяет себе использовать в официальном блоге столь низкий слог, а также дает комментарии, основываясь на поверхностных выводах, а не на технических деталях. Давайте посмотрим, что же такого сделал наш исследовательский центр, и с чем не смогли или не захотели разбираться специалисты Cisco.

    Комментарии по статье


    Надо сразу сказать, что ни о какой уязвимости сетевого оборудования речи не идет!

    Оборудование загружается с “чужой” прошивкой – отсутствие проверки легитимности образа. Разве это не уязвимость? Любой атакующий обрадуется такой возможности.

    Для успешной реализации злоумышленнику требуются учетная запись администратора маршрутизатора Cisco (а не коммутатора, как писали отдельные СМИ) или физический доступ к оборудованию.

    Уязвимости класса remote code execution никто не отменял, и можно сделать все тоже самое и без физического доступа.

    У вас вызовет удивление, если вам скажут, что некто, заполучив логин и пароль админа ПК, переустановил на нем ОС или поставил вредоносное ПО? Скорее всего нет. Это достаточно очевидная угроза, нередко реализуемая на практике.

    Очень слабый сценарий. А почему не упоминается сценарий NSA?! Ведь можно так: транспортируемое устройство на транспортном узле извлекается третей стороной. Далее, третья сторона модифицирует на системе прошивку (ЗНАЯ ДЕФОЛТНЫЙ ЛОГИН И ПАРОЛЬ), встраивая вредоносную функциональность. Затем сносит все настройки «в ноль», как будто устройство никогда не включалось. В итоге, заказчик получает устройство, абсолютно не подозревая, что прошивка его не оригинальная, а «протрояненная», и при определенных условиях «железка» перестанет быть его оборудованием, попадет под контроль «чужака».

    Для идентификации SYNful Knock было предложено несколько достаточно простых механизмов и рекомендаций

    Механизмы и рекомендации – отлично, но они работают уже после того, как устройство в течение определенного времени находилось под контролем злоумышленника, и он мог им распоряжаться по своему усмотрению внутри чужой компании. То есть это все лишь для ИДЕНТИФИКАЦИИ. Это все ПОСТФАКТУМ.

    Между тем, и по сей день можно загружать модифицированный образ, и можно не сомневаться в том, что выйдет новая малварь. А производитель просто выпустит новый сканер и новые сигнатуры.

    Рассказы о том, как с помощью потенциально модифицированного образа проверить его же на модификации с помощью команды verify, выглядят странно до смешного. Обращаем ваше внимание: в модифицированном образе можно подправить код, отвечающий за проверку вашей контрольной суммы.

    По доступной на настоящий момент информации серьезного урона SYNful Knock не нанес, а ареал его распространения (число пострадавших сетевых устройств) оказался ограниченным и составил на 20 сентября 2015 года 163 устройства по данным Shadowserver (из десяти миллионов проданных устройств данного поколения).

    Интересная игра с цифрами. Девайс девайсу рознь. Одно дело, когда устройство такого класса стоит в небольшой компании, и совсем другое – если его использует крупный игрок из сферы телеком. То есть по импакту и профиту это абсолютно разные истории, как вы понимаете.

    Плюс ко всему, стоит учитывать, что опубликованные сведения от ShadowServer описывают только те устройства, к которым возможно было подключиться извне и задетектить, что они инфицированы. Следовательно, неохваченной осталась масса устройств, подконтрольных злоумышленнику (ам), имеющему доступ к внутренней сети, к примеру, через любое другое зараженное «стандартным» вредоносным программным обеспечением устройство или ПК.

    не зря компания Cisco внедрила механизм цифровой подписи обновлений ROMMON и образов операционной системы IOS, но на платформах предыдущих поколений проверку необходимо активировать вручную

    Наш опыт исследований оборудования Cisco показывает, что не для всех устройств можно обновить, например, ROMMON. Он просто недоступен на сайте производителя. Для некоторого «железа» только сейчас начали выкладывать ROMMON – возможно, это как раз связано с ростом инцидентов, связанных с инфицированием. И для того, чтобы дать возможность клиентам обновить ROMMON, его предоставили для скачивания.

    Поэтому, когда какой-либо исследователь или компания безапелляционно заявляет о том, что они «взломали IOS», то это либо признак непрофессионализма и непонимания того, что у нас существует множество разных модификаций нашей основополагающей операционной системы, либо банальное желание приукрасить и попиариться на громкой новости.

    Автор статьи испугался новостных заголовков и не дождался публикации технических слайдов и видео с выступления с ZeroNights 2015 “Cisco IOS shellcode: all-in-one”. Об этом также говорится в презентации:

    image

    Как можно заметить, слайд никак не противоречит вышесказанному. Более того, лейтмотивом второй части исследования как раз и был разговор о том, как исследователю «иметь дело» с существующем многообразием аппаратных платформ, архитектур процессоров и операционных систем Cisco. В исследовании было отмечено, что, хотя бинарные образы Cisco IOS могут серьезно отличаться, всегда можно найти архитектурные особенности, которые останутся неизменными от образа к образу, своего рода «инварианты». В рассматриваемом случае таким «инвариантом» стала подсистема «Tcl», которая одинаково устроена и функционирует вне зависимости от версии ОС и архитектуры железа.

    Хотя непосредственным объектом исследования была ОС Cisco IOS (PowerPC), предложенный подход к реализации переносимого между образами шелл-кода можно распространить как на другую процессорную архитектуру, так и другое семейство ОС Cisco IOS XE.

    Но давайте посмотрим правде в глаза. Сама уязвимость в интерпретаторе Tcl известна уже давно и имеет даже свой идентификатор CVE. То есть заявление о найденной уязвимости являются откровенным враньем, сделанным только для собственного PR.

    Давайте посмотрим правде в глаза и скажем, что автор не в курсе содержания доклада, поскольку не присутствовал на нем. В исследовании вообще уязвимости в оборудовании Cisco не затрагивались, а лишь упоминались вскользь!

    Исследование посвящено переносимому шелл-коду на базе «Tcl» для оборудования Cisco, который может использоваться в связке с любой бинарной уязвимостью, позволяющей выполнить произвольный код, а упомянутая уязвимость в интерпретаторе «Tcl» имеет к нему лишь опосредованное отношение (возможно, только слово «Tcl» в названии). Не сомневаемся, что разница между терминами «уязвимость» и «шелл-код» очевидна для специалиста.

    Если затрагивать вопрос эскалации привилегий, то нужно заметить, что шелл-код имеет прямой доступ к физической памяти и может модифицировать как сам код Cisco IOS, так и различные управляющие структуры, в том числе, повышать привилегии.

    Иными словами, с точки зрения специалиста по безопасности, работающего на каком-либо предприятии и интересующегося информацией о защищенности своего сетевого оборудования, стоит изучать не только пресс-релизы исследователей, но и информацию об устранении дыры и об ограничениях в ее использовании, которые дает производитель.

    Все так. Однако, мы не рассказывали об уязвимостях. Все прекрасно понимают, что уязвимости есть и будут, и делать доклад про ряд обычных уязвимостей на международной конференции ZeroNights нам было не очень-то интересно. Мы рассказали о том, что можно делать после эксплуатации уязвимости в оборудовании Cisco.

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

    Ключевое слово “постоянно” ;)

    Более того, когда специалисты Cisco PSIRT по своей инициативе связались с Digital Security по поводу недавнего доклада на ZeroNights о якобы обнаруженной уязвимости в оборудовании Cisco, представители Digital Security не смогли ничего ответить и представить детали своего исследования

    Да, связались после выхода новостей и получили ответ, что никаких уязвимостей в оборудовании Cisco не рассматривалось и слайды будут скоро доступны для всех желающих.

    Вот презентация исследования (видео будет доступно позже):



    Про заражение устройств Cisco


    Данную тему мы вообще не поднимали в нашем исследовании — это тема отдельная. Единственное, что хочется отметить: при разговоре об уязвимостях производитель концентрируется на огромном количестве оборудования, ОС и архитектур, но, когда речь заходит о защите против модификации образа прошивки, мгновенно забывает об этом, упоминая технологии Trust Anchor, Secure Boot, которые есть далеко не везде.

    Как определить, есть ли у вас Trust Anchor, Secure Boot — это отдельный квест. Одни официальные документы от Cisco говорят одно, а другие источники (сервис Cisco Feature Navigator) декларируют другое. Кому верить?

    Наш опыт исследования оборудования Cisco, которое сейчас используется в компаниях (а не стоит на полках в магазинах), за последние несколько лет показывает, что в большинстве случаев для проверки легитимности образа используется контрольная сумма. Естественно, подделать (пересчитать) контрольную сумму модифицированного образа очень просто. На ряде устройств, где образ имеет цифровую подпись, цифровые сертификаты лежат там же, и злоумышленнику не составляет труда добавить туда свой сертификат.

    Также внимательный/искушенный читатель может подумать о TPM (Trusted Platform Module). Но Cisco не транспортирует его в ряд стран из-за криптографии, включая Россию. И мы честно пытались найти, какое же оборудование поддерживает TPM. Оказалось, его количество ничтожно мало.

    Конечно, оборудование Cisco развивается, внедряются новые механизмы безопасности. Но обновления касаются лишь последних моделей, а ситуация с основной массой «железа», которое активно используется в компаниях, остается прежней. Получается, как с ОС Android: в последней версии все хорошо, ну а остальные пусть обновляются. Проблема в том, что обновить весь парк сетевого оборудования не так просто (и не дешево). Это не ОС на телефоне. И мы четко видим такую проблему у наших клиентов.

    Заключение


    Безусловно, нас, как исследователей, только радует тот факт, что наша работа вызывает активную реакцию со стороны Cisco и публикацию статей по безопасности. Однако, хотелось бы надеяться, что специалисты вендора не ограничатся эмоциональными отзывами, а направят свою энергию на совершенствование безопасности собственных продуктов.
    • +28
    • 15.9k
    • 1
    Digital Security
    304.96
    Безопасность как искусство
    Share post

    Similar posts

    Comments 1

      –14
      Идем ко мнееееееее, в мир отрицательной кармыыыыыыыы. Блииииижее…

      Only users with full accounts can post comments. Log in, please.