Исследование устройства Meraki. Часть 1

Исследование устройства Meraki. Часть 1

Перед тем как я присоединился к компании Salesforce и вплотную  занялся исследованием уязвимостей, я работал в группе Red Team. Нашей задачей было поиск слабостей в системе безопасности  Salesforce, когда мы выступали в роли сторонних злоумышленников.

Автор: Alberto García Illera

Перед тем как я присоединился к компании Salesforce и вплотную занялся исследованием уязвимостей, я работал в группе Red Team. Нашей задачей было поиск слабостей в системе безопасности  Salesforce, когда мы выступали в роли сторонних злоумышленников.

Во время одного из подходов, я установил устройство Pwn Plug R3 внутри переговорной комнаты. К сожалению, когда я вернулся в офис и проверил командную оболочку, выяснилось, что устройству удалость подключиться к сети VoIP VLAN. С точки зрения злоумышленника не сильно богатый улов, но, тем не менее, я решил копнуть глубже и выяснить, что можно извлечь из этой возможности.

Первоначальное исследование

При помощи Pwn Plug R3 мне удалось добраться до свитча марки Meraki. Подобные устройства подсоединены к облачному сервису, чтобы сисадмины могли удаленно управлять сетевым оборудованием через веб-интерфейс.  Интерфейс управления показан на рисунке ниже:

https://research.trust.salesforce.com/assets/meraki-1/image00.png
Рисунок 1: Интерфейс управления устройством Meraki

Я не смог найти ни одного публичного эксплоита для компрометирования устройств Meraki за исключением шелла для доступа к другим сетям VLAN. Более того, даже авторизированные сисадмины не имеют прямого SSH-доступа, а для управления используют веб-интерфейс. Оставалось только два варианта: заняться поиском другого способа проникновения или попытаться найти эксплоит для удаленного выполнения кода. Я пошел по второму пути. Вначале я решил провести более глубокое исследование веб-портала, связанного со свитчем в надежде собрать больше информации (и, возможно, найти лазейки для выполнения кода). Здесь возможности очень ограничены, поскольку практически везде требуется аутентификация.

https://research.trust.salesforce.com/assets/meraki-1/image01.png
Рисунок 2: Для доступа к одной из областей требуются учетные данные

Я стал думать над другим подходом.

Исследование аппаратной части

Мне всегда нравилось досконально разбираться в каком-либо вопросе, и обычно каждый раз происходит нечто экстраординарное: каким-то образом появляются новые болты и гайки, когда я собираю устройство заново. Схожая магия произошла и в этот раз. Совершенно случайно для исследования мне попалось устройство Meraki MX80 Security Appliance, и я решил выполнить пентест аппаратной части, а конкретно извлечь прошивку с целью ознакомления с CGI и бинарные файлами, «висящие» на каких-либо портах. После открытия устройства, я сразу же обратил внимание на жесткий диск емкостью 1 Тб. После подключения диска выяснилось, что там нет файловой системы, а само дисковое пространство использовалось для хранения кэша.

https://research.trust.salesforce.com/assets/meraki-1/image02.png
Рисунок 3: Содержимое жесткого диска устройства MerakiMX80

Я предположил, что файлы операционной системы должны находиться во флеш-памяти, которая, в свою очередь, находится на печатной плате устройства. После нескольких часов исследований при помощи мультиметра и логического анализатора я обнаружил открытое последовательное соединение, которое дало мне полный доступ к устройству с правами суперпользователя. В качестве загрузчика использовался U-Boot, как видно на рисунке ниже, после установки корректной скорости передачи (в бодах).

https://research.trust.salesforce.com/assets/meraki-1/image03.png
Рисунок 4: Логический анализатор

Скорость последовательного соединения – 57600. Для подключения к последовательному интерфейсу я использовал устройство Raspberry Pi.

https://research.trust.salesforce.com/assets/meraki-1/image04.jpg
https://research.trust.salesforce.com/assets/meraki-1/image05.jpg
Рисунок 5: Схема подсоединения к устройству

После получения полного доступа я извлек все конфигурационные файлы: конфигурационные файлы к webUI, /etc/passwd и так далее. В качестве веб-сервера на портале использовался Lighttpd. Учетные записи к защищенным областям хранятся в файле /tmp/lighttpd-htpasswd.conf со следующим содержимым:

m00180A07A354:/# cat /tmp/lighttpd-htpasswd.*
mf_test:$1$$ZbKKXKQQpKjTbTPeMZwk..
admin:$1$$G7.z4WDwEF7FvCK4H6cah/
Q2DN-GY83-EZBU:$1$$qRPK7m23GJusamGpoGLby/
q2dn-gy83-ezbu:$1$$qRPK7m23GJusamGpoGLby/

Последние две записи связаны уникальным серийным номером устройства, но также можно заметить, что есть два пользователя: mf_test и admin, которые обычно включаются в каждую версию прошивки. Учетные записи зашифрованы алгоритмом MD5, но после перебора при помощи специального оборудования от компании Salesforce, мне удалось подобрать один из паролей:

mf_test:mf_test

Эти учетные записи можно использовать для доступа к любой защищенной области на веб-сервере и модифицировать конфигурационные файлы и другие интересные страницы (подробнее об этом позже). Системные пароли хранятся в файле /etc/password:

m00180A07A354:/etc# cat passwd
root:!:0:0:root:/tmp:/bin/ash
nobody:*:65534:65534:nobody:/var:/bin/false
meraki:MvCWFGH8/CrXM:0:0:meraki:/tmp:/usr/bin/logincheck
mf:$1$$CgXoxAaejQmJWRkDiclb6/:0:0:meraki:/tmp:/usr/bin/mf_logincheck

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

В следующей части я расскажу, как не только полностью скомпрометировать устройство и получить доступ к оболочке с правами суперпользователя, но и добиться частичной работы устройства модели Meraki на виртуальной машине с Ubuntu. Это исследование чрезвычайно важно для достижения целей, преследуемых группой Red Team.

Примечание: компания Salesforce в курсе о выявленной уязвимости. Обо всех брешах, описанных в этой статье, сообщено компании Cisco. Исправления внесены. Во второй части будут раскрыты другие подробности, включая уникальный номер CVE, где описываются данные проблемы.

Антивирус для мозга!

Лечим цифровую неграмотность без побочных эффектов

Активируйте защиту — подпишитесь