В начале 2025 года исследователи кибербезопасности обнаружили ранее неизвестный ботнет, получивший название PolarEdge, который эксплуатирует уязвимость CVE-2023-20118 в маршрутизаторах Cisco для удаленного выполнения кода. В ходе последующего анализа выявлена сложная бэкдор-программа, которая также поражает устройства других производителей, включая сетевые хранилища QNAP, Synology и маршрутизаторы Asus.
Описание
Первые признаки активности PolarEdge были зафиксированы в январе 2025 года через систему honeypot-ловушек, где злоумышленники пытались установить веб-шелл на целевые маршрутизаторы. Однако 10 февраля атака повторилась с более изощренной тактикой - на этот раз использовалась удаленная команда для загрузки и выполнения скрипта, который устанавливал ранее не документированный имплант. Анализ показал, что этот имплант представляет собой бэкдор на основе TLS с многофункциональными возможностями.
Технический анализ выявил, что образец для QNAP NAS представляет собой 64-битный исполняемый файл ELF размером 1,6 МБ, статически собранный и лишенный символов отладки. Основная функция бэкдора - отправка цифрового отпечатка устройства на командный сервер и прослушивание команд через встроенный TLS-сервер, реализованный с помощью библиотеки mbedTLS. При запуске в режиме сервера программа не только запускает TLS-сервер для приема команд, но и создает отдельный поток, который ежедневно отправляет информацию о системе на сервер управления.
Конфигурация бэкдора встроена в последние 512 байт бинарного файла и разделена на три части, каждая из которых помечена специальными маркерами и зашифрована простым XOR с ключом 0x11. Первая часть содержит путь к так называемому «фильтр-файлу», вторая - параметры TLS-сервера, включая порт прослушивания 49254, а третья - список командных серверов.
TLS-сервер использует сертификаты, связанные с PolarSSL, включая корневой сертификат УЦ и промежуточные сертификаты. Бэкдор реализует собственный бинарный протокол поверх TLS, который проверяет несколько жестко заданных токенов перед выполнением команд. Любой, кто имеет доступ к установленному бинарному файлу, может извлечь эти значения и отправлять произвольные команды, что указывает на потенциальную уязвимость механизма аутентификации.
Процесс сбора информации о системе включает получение IP-адресов, MAC-адресов, идентификатора процесса и других параметров, которые форматируются в строку HTTP-запроса и отправляются на сервер управления. Если сервер отвечает полезной нагрузкой, она записывается в файл /tmp/.qnax.sh и выполняется, что обеспечивает дополнительную функциональность.
Для противодействия анализу бэкдор использует несколько методов шифрования: помимо однобайтового XOR для конфигурации, применяются алгоритмы поворота символов и блочный шифр PRESENT для расшифровки секций .init_rodata и .init_text во время выполнения. Ключ шифрования жестко задан в коде. Дополнительно используется аффинный шифр для строк, которые включают параметры HTTP-запросов.
Бэкдор применяет маскировку процессов, случайным образом выбирая имя из предопределенного списка, включающего системные процессы типа igmpproxy, wscd и другие. Он также скрывает свои внутренние структуры, пытаясь перемонтировать свой каталог в /proc. Хотя программа не обеспечивает постоянство после перезагрузки, она создает дочерний процесс, который каждые 30 секунд проверяет наличие родительского процесса и перезапускает бэкдор при его исчезновении.
Помимо основного режима работы, PolarEdge Backdoor поддерживает режим обратного подключения, в котором действует как TLS-клиент для загрузки файлов с удаленного сервера, и режим отладки, который позволяет обновлять список командных серверов на лету. Режим отладки требует наличия фильтр-файла и использует Base64 и аффинный шифр для декодирования новых параметров конфигурации.
Обратное проектирование PolarEdge Backdoor демонстрирует сложный имплант, построенный вокруг настраиваемого TLS-сервера и неаутентифицированного бинарного протокола для выполнения команд. Его конфигурация хранится в конечных байтах исполняемого файла, а криптографические методы и методы противодействия анализу затрудняют обнаружение и анализ. Атаки на сетевые устройства остаются серьезной угрозой, и организациям рекомендуется регулярно обновлять прошивки и мониторить подозрительную активность в своих сетях.
Индикаторы компрометации
SHA256
- a3e2826090f009691442ff1585d07118c73c95e40088c47f0a16c8a59c9d9082
Yara
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | rule PolarEdgeBackdoor{ meta: id = "c3749828-4345-424e-a1f4-d13ed227e6d2" version = "1.0" malware = "PolarEdge Backdoor" description = "Detects PolarEdge Backdoor" source = "Sekoia.io" creation_date = "2025-07-10" classification = "TLP:GREEN" strings: $marker1 = {41 82 01 67 42 22 04 17} $marker2 = {21 12 01 47 51 13 81 15} $s1 = "mode" $s2 = "query_str" $s3 = "server_port" $s4 = "m:h:e:f:q:d:" $PresentInvSBOX = {05 00 0E 00 0F 00 08 00 0C 00 01 00 02 00 0D 00 0B 00 04 00 06 00 03 00 00 00 07 00 09 00 0a 00} condition: uint32be(0) == 0x7f454c46 and $PresentInvSBOX and (all of ($marker*) or all of ($s*)) and filesize < 2MB } |