В последние несколько лет хакеры нацелились на общедоступные сетевые устройства, такие как маршрутизаторы, концентраторы VPN и балансировщики нагрузки, чтобы закрепиться в корпоративных сетях. Хотя уязвимости для удаленного выполнения кода в таких устройствах встречаются нередко, случаи, когда злоумышленникам удается развернуть на этих устройствах вредоносное ПО, способное пережить перезагрузку или обновление прошивки, редки и часто приписываются сложным организациям APT.
Поскольку в них используется флэш-память, которая со временем может деградировать при многократной записи, встроенные сетевые устройства часто хранят свою прошивку в файловой системе, доступной только для чтения, и загружают ее содержимое в оперативную память при каждой перезагрузке. Это означает, что все изменения и файлы, создаваемые различными запущенными службами во время нормальной работы устройства, являются временными, поскольку происходят только в оперативной памяти и никогда не сохраняются в файловой системе, которая при перезагрузке устройства будет восстановлена в исходное состояние.
Исключение составляют конфигурационные файлы и скрипты, создаваемые через интерфейс управления устройством и хранящиеся в ограниченной области хранения, называемой NVRAM (энергонезависимая оперативная память). С точки зрения злоумышленников, это ограничение затрудняет постоянную компрометацию сетевых устройств, поэтому, например, в масштабных атаках на домашние маршрутизаторы участвуют автоматизированные ботнеты, которые периодически сканируют и повторно заражают маршрутизатор.
Однако в сценарии целенаправленной атаки на корпоративную сеть злоумышленники предпочитают оставаться незаметными, а не атаковать одно и то же устройство несколько раз, чтобы не спровоцировать обнаружение, которое может быть осуществлено, если уязвимость станет общедоступной. Они также предпочитают иметь долгосрочный доступ к таким устройствам и использовать их в качестве мостов во внутренние сети, а также поворотных точек, с которых они могут осуществлять латеральное перемещение и расширять доступ к другим непубличным устройствам.
Возможности стойкости в балансировщиках нагрузки Citrix, F5
С 2019 года в балансировщиках нагрузки Citrix и F5 появилось три критических уязвимости (CVE-2019-19781, CVE-2020-5
902 и CVE-2022-1388), эти уязвимости были публично задокументированы и использовались в дикой природе, что вызвало предупреждения со стороны Агентства кибербезопасности и защиты инфраструктуры США (CISA) и других организаций. В связи с этим исследователи из компании Eclypsium, специализирующейся на защите встроенного ПО, недавно изучили возможности злоумышленников по сохранению уязвимостей на таких устройствах. Их результаты были опубликованы в отчете в среду.
В мае 2022 года компания Mandiant, специализирующаяся на безопасности, сообщила, что кибершпионский агент - на тот момент его идентифицировали как UNC3524, но позже связали с российской государственной группировкой APT29 (Cozy Bear) - совершил вторжение в корпоративные сети, которое было скомпрометировано благодаря установке бэкдора. Вторжение оставалось незамеченным в течение длительного периода времени на сетевых устройствах, включая балансировщики нагрузки, которые не поддерживали такие средства обнаружения, как Endpoint Detection and Response (EDR), и работали под управлением старых версий CentOS и BSD. Хотя Mandiant не назвала эти устройства и их производителей, исследователи Eclypsium полагают, что это устройства F5 и Citrix, поскольку балансировщик нагрузки F5 работает под управлением CentOS, а Citrix (бывший Netscaler) - под FreeBSD.
"Одна особенность UNC3524 выделяется: их TTP ненадежны, они используют модифицированное программное обеспечение с открытым исходным кодом для создания своего бэкдора и, похоже, знают о системе достаточно, чтобы достичь самых основных целей", - пишут исследователи Eclypsium в своем докладе. Отчет. "Их импланты были настолько ненадежны, что они устанавливали сетевые оболочки с единственной целью - перезапускать их после смерти. Именно эта особенность стала катализатором данного исследования, и открытым вопросом было: можно ли это сделать на балансировщике нагрузки? Используя готовый фреймворк C2? Достаточно ли устойчива вредоносная программа, чтобы сохраняться после перезагрузки или даже обновления? Можно ли заразить устройство настолько глубоко, что чистого стирания и переустановки будет недостаточно?"
Многие группы злоумышленников предпочитают использовать взломанные версии коммерческих систем атак, таких как Cobalt Strike или Brute Ratel, но исследователям Eclypsium хотелось иметь что-то с открытым исходным кодом, что было бы легко использовать менее искушенным злоумышленникам, поэтому они выбрали Sliver, систему моделирования Adversary с открытым исходным кодом для своих тестовых имплантатов. Sliver написан на языке Go, поэтому он кроссплатформенный и предоставляет возможности вращения и туннелирования.
Чтобы выяснить, какие файлы сохраняет балансировщик нагрузки F5 при перезагрузке и обновлении прошивки, исследователи обратились к функции резервного копирования конфигурации, доступной через интерфейс управления, с помощью которой можно создать архив со всеми конфигурациями и настройками, которые впоследствии можно будет взять при новой установке. Развертывание. Из архива, содержащего сотни файлов, исследователи выбрали три исполняемых сценария и файлы конфигурации, которые могли выполнять сценарии при определенных событиях.
"Неожиданной находкой в этом исследовании стала документация производителя: оказалось, что эти устройства содержали множество информации о недокументированных функциях и функциональности за многие годы", - говорят исследователи. "Спасибо производителю, без документации это исследование было бы гораздо сложнее. Важно понимать, как устройство работает со своими конфигурационными файлами".