Skip to content


Критическая уязвимость в Cisco IOS в функциональности Smart Install

На конкурсе GeekPWN 2017 13 мая 2017 продемонстирировали эпичную уязивомсть в Smart Install Client, позволяющую получить получить доступ к устройству без прохождения аутентификации:

Smart Install – это plug-and-play функциональность для конфигурации и управления, которая обеспечивает быстрое развертывание новых устройств, автоматизируя процесс начальной конфигурации и загрузки образа операционной системы для нового коммутатора. То есть можно просто установить несконфигурированный коммутатор, подключить питание и всё. Данная технология также предоставляет возможность бекапа конфигураций. Сеть, использующая Smart Install включает в себя группу сетевых устройств в роли клиентов, которая обслуживаетя общим director-ом.

Smart Install Client запускает сервер на TCP-порту 4786 для взаимодействия со Smart Install Director. By design требуется, чтобы порт был открыт по умолчанию. Уязвимость связана c переполнением стека в коде Smart Install Client. Путем отправки специально оформленного сообщения ibd_init_discovery_msg на TCP-порт 4786 и можно получить доступ.

Если обновить софт возможности и/или желания нет, можно использовать простой workaround, просто отключив smart install. Под рукой как раз был такой дырявый Cisco Catalyst 3750G, решил на нем проверить.

Как видим, упомнятый порт у него открыт:

$ nmap -p T:4786 10.10.10.2
 
Starting Nmap 7.60 ( https://nmap.org ) at 2018-04-06 11:26 EEST
Nmap scan report for 10.10.10.2
Host is up (0.14s latency).
 
PORT     STATE SERVICE
4786/tcp open  smart-install
 
Nmap done: 1 IP address (1 host up) scanned in 0.37 seconds

Идем на коммутатор, смотрим включена ли фича:

sw1#show version | inc Model number  
Model number                    : WS-C3750G-24TS-E
 
sw1#show vstack config
 Role: Client (SmartInstall enabled)
 Vstack Director IP address: 0.0.0.0
 
 *** Following configurations will be effective only on director ***
 Vstack default management vlan: 1
 Vstack management Vlans: none
 Join Window Details:
         Window: Open (default)
         Operation Mode: auto (default)
 Vstack Backup Details:
         Mode: On (default)
         Repository:

Выключаем:

sw1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
sw1(config)#no vstack
sw1(config)#exi
 
sw1#show vstack config
 Role: Client (SmartInstall disabled)
 Vstack Director IP address: 0.0.0.0
 
 *** Following configurations will be effective only on director ***
 Vstack default management vlan: 1
 Vstack management Vlans: none
 Join Window Details:
         Window: Open (default)
         Operation Mode: auto (default)
 Vstack Backup Details:
         Mode: On (default)
         Repository:

Проверяем доступность по сети, порт теперь закрыт:

$ nmap -p T:4786 10.10.10.2
 
Starting Nmap 7.60 ( https://nmap.org ) at 2018-04-06 11:46 EEST
Nmap scan report for 10.10.10.2
Host is up (0.12s latency).
 
PORT     STATE  SERVICE
4786/tcp closed smart-install
 
Nmap done: 1 IP address (1 host up) scanned in 0.49 seconds

Примечательно, что исправление Cisco выпустила только 28-го марта 2018 г. В базе данных CVE уязвимости просвоен идентификатор CVE-2018-0171.

Posted in Cisco.


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

You must be logged in to post a comment.