Cyclops Blink начал приобщать к ботнету роутеры ASUS

Cyclops Blink начал приобщать к ботнету роутеры ASUS

Cyclops Blink начал приобщать к ботнету роутеры ASUS

Исследователи из 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-атак, и для шпионажа.

Новая атака на кеш Nginx позволяет красть данные и ломать сайты

Исследователь YesWeHack Алекс Брумен описал вектор кибератаки Cache Key Injection. В случае её эксплуатации последствия для потенциальной жертвы опасные: обход контроля доступа, раскрытие закрытых страниц, отказ в обслуживании и при определённых условиях.

Как объясняет исследователь YesWeHack, проблема возникает не в Nginx по умолчанию, а в конфигурациях, где администраторы просто склеивают несколько значений переменной длины без разделителей. Например:

$scheme$host$request_uri$http_accept

Разных запроса два, а итоговая строка может получиться одна. Так, запрос к /h с заголовком Accept: ome*/* создаёт тот же ключ, что и обычное обращение к /home с Accept: */*.

Если атакующий успеет первым положить в кеш ответ 404, пользователи вместо главной страницы будут получать ошибку до очистки записи. Получается CPDoS — отказ в обслуживании с доставкой прямо из кеша.

 

Ещё веселее становится с закрытыми разделами. В лабораторном примере страница /admin была доступна только с localhost, но злоумышленник мог обратиться к /ad и перенести оставшуюся часть имени в соседний компонент ключа. Nginx видел разрешённый путь, однако доставал из кеша содержимое админ-панели.

При совпадении нескольких условий техника позволяет столкнуть HTTP- и HTTPS-запросы и записать в кеш страницу со ссылкой на атакующий JavaScript, превратив ошибку конфигурации в stored XSS. Даже Cloudflare не всегда спасёт: заголовок Authorization может провести запрос мимо его кеша прямо к уязвимому кешу Nginx.

 

Защита выглядит до смешного просто: не склеивать значения вслепую. Между элементами ключа нужны разделители или структурное кодирование, например:

$scheme|$host|$request_uri|$http_accept

Также следует проверять Host, перенаправлять HTTP на HTTPS и не кешировать аутентифицированные запросы.

RSS: Новости на портале Anti-Malware.ru