Исследователи из Trend Micro обнаружили версию Linux-бота Cyclops Blink, нацеленную на роутеры ASUS. Производитель сетевых устройств обновил прошивки и опубликовал рекомендации по профилактике заражения.
До сих пор вредонос Cyclops Blink атаковал только файрволы WatchGuard Firebox и за 2,5 года сумел поразить более 1,5 тыс. устройств в 70 странах. Поскольку зловредные боты имеют модульную структуру, появление варианта другой ориентации не сильно удивило экспертов.
В Trend Micro изучили раздобытый образец и предупредили ASUS о новой угрозе. Вендор начал проверять свои роутеры на уязвимость к атакам Cyclops Blink и обновлять прошивки; список затронутых продуктов приведен в бюллетене по безопасности от 17 марта 2022 года. Расследование еще не закончено; пользователям на всякий случай советуют сбросить настройки до заводских, усилить админ-пароли и отключить удаленный доступ из WAN.
Эксперты Trend Micro, со своей стороны, опубликовали результаты анализа ASUS-версии Cyclops Blink, а также список (PDF) всех известных C2-серверов, в том числе уже обезвреженных, так как резидентные боты упрямо пытаются к ним подключиться. Примечательно, что в качестве центров управления бот использует взломанные устройства WatchGuard. В общей сложности исследователи насчитали более 150 таких узлов; некоторые из них были скомпрометированы еще летом 2019 года.
Адреса C2 и номера TCP-портов жестко прописаны в коде Cyclops Blink, задан также интервал обращений к таким узлам. Для каждого используемого порта вредонос создает правило в Netfilter (файрвол, встроенный в ядро Linux), чтобы без помех выводить информацию в свой канал связи.
Разбор кода написанного на C зловреда выявил три вшитых модуля:
- 0x38 — работает с данными во флеш-памяти устройств ASUS; способен обеспечить зловреду постоянное присутствие в системе, которое не сможет нарушить даже откат до заводских настроек;
- 0x08 — отвечает за отправку на C2-сервер данных зараженной системы (версия Linux, потребление памяти, список пользовательских аккаунтов, разделение пользователей на группы, информация о монтировании файловой системы, подключенных разделах дисков, сетевых интерфейсах);
- 0x0f — обеспечивает загрузку файлов из интернета; поиск источника осуществляется с использованием DoH-сервиса Google (DNS over HTTPS).
Модули бота взаимодействуют друг с другом, используя штатные IPC-механизмы Linux. По этим каналам передается такая информация, как локальный IP-адрес, ID основного процесса, адреса и порты C2-серверов, интервал для C2-коммуникаций, время отправки следующего пакета данных, новые параметры.
Собранную информацию Cyclops Blink шифрует с помощью OpenSSL и отсылает на свой сервер. Для шифрования используется AES-256 в режиме CBC; ключ генерируется на месте и впоследствии шифруется вшитым в код открытым ключом RSA-2560 (длиной 320 бит).
Сервер-получатель и порт выбираются случайным образом из заданного списка, при подключении выполняется TLS-хэндшейк. В ответ вредонос может получить команду — изменение времени отправки данных, добавление C2-сервера в список, обновление конфигурации, добавление модуля, перезагрузка или завершение программы.
Инфицированные ASUS-роутеры подключаются к тем же C2, что и WatchGuard-боты; эксперты также зафиксировали случаи заражения других устройств — их определили как роутеры, но бренд установить не удалось.
За 2,5 года ботоводы совокупно использовали более 50 SSL-сертификатов для WatchGuard C2 на различных TCP-портах (636, 989, 990, 994, 995, 3269 и 8443). Исследователи также выявили более 200 жертв Cyclops Blink в разных странах — в основном это устройства WatchGuard и ASUS в США, Индии, Италии и Канаде. Конечная цель создания ботнета пока неясна, хотя его в принципе можно использовать и для проксирования вредоносного трафика, и для DDoS-атак, и для шпионажа.