Миллионам роутеров и IP-камер угрожает бот, вооруженный 30+ эксплойтами

Миллионам роутеров и IP-камер угрожает бот, вооруженный 30+ эксплойтами

Миллионам роутеров и IP-камер угрожает бот, вооруженный 30+ эксплойтами

Исследователи из Alien Labs компании AT&T выявили новую вредоносную программу, нацеленную на сетевые и IoT-устройства. Linux-зловред с кодовым именем BotenaGo ищет потенциально уязвимые мишени и пытается применить эксплойты, коих у него более трех десятков.

На момент анализа написанные на Go боты, по словам экспертов, плохо детектились антивирусами. По состоянию на 14 ноября их распознают половина защитных решений из коллекции VirusTotal (29/60), некоторые — с вердиктом Mirai, но DDoS-функциональности у новобранца не обнаружено.

После запуска BotenaGo включает счетчик заражений, чтобы информировать оператора об успехах.

 

После этого вредонос ищет папку dlrs для загрузки своих шелл-скриптов. Если эта папка не найдена, он прекращает свою работу. В противном случае происходит вызов функции scannerInitExploits, отвечающей за подготовку площади атаки — сопоставление эксплойтов с сигнатурами целевых систем.

 

Сама атака происходит следующим образом: BotenaGo отправляет простой запрос GET, ищет в ответе знакомую строку (сигнатуру) и, обнаружив совпадение, пускает в ход эксплойт.

Список уязвимостей, используемых зловредом (только те, что имеют CVE-идентификатор), в разделении по производителям устройств:

Поиск по Shodan строки Server: Boa/0.93.15, которая для бота является сигналом к атаке, показал около 2 млн потенциально уязвимых устройств. Результаты по строке Basic realm=\"Broadband Router\, на которую вредонос реагирует эксплойтом CVE-2020-10173 для Comtrend VR-3033, оказались скромнее, но тоже впечатляющими — 250 тыс. потенциальных мишеней.

Команды BotenaGo получает двумя способами: прослушивает порты 31412 и 19412 (на последнем получает IP-адрес цели) или использует терминал системы. Так, при работе зловреда локально в виртуальной машине оператор может подавать команды через Telnet.

После успешного эксплойта бот по идее должен продолжать атаку, используя присланную ссылку. Однако определить его дальнейшие действия не удалось: к моменту анализа вся полезная нагрузка уже была удалена с сервера BotenaGo.

Из-за отсутствия активной связи зловреда с C2-сервером исследователям осталось только гадать о причинах его появления в интернете. По мнению Alien Labs, варианты могут быть такими:

  1. BotenaGo является частью тулкита; в этом случае должен существовать другой модуль, передающий ему IP-адреса целей или обновляющий такую информацию на C2. 
  2. Ссылки на полезную нагрузку говорят о связи с Mirai; не исключено, что BotenaGo — новый инструмент, который операторы Mirai задействуют лишь на определенных устройствах в составе ботнета, отдавая команды вручную. 
  3. BotenaGo проходит бета-тестирование, и его код случайно слили в Сеть.

Как бы то ни было, зловред с таким богатым арсеналом составляет большую угрозу для многочисленных устройств, прошивки которых редко обновляются. Эксперты предупреждают, что число эксплойтов, которыми оперирует BotenaGo, может со временем возрасти.

Заметим, для Mirai-подобных ботнетов и аналогов использование большого количества эксплойтов для наращивания потенциала — не редкость. Достаточно вспомнить Satori, Hakai, Mozi и совсем недавний Gitpaste-12.

Баг macOS ломает TCP через 49 дней без перезагрузки

В macOS нашли редкий, но очень неприятный баг: если компьютер работает без перезагрузки примерно 49,7 дня, у него может постепенно умирать TCP. По версии исследователей, проблема связана с переполнением 32-битного счётчика времени в ядре XNU, который используется TCP-подсистемой.

После этого внутренние TCP-таймеры якобы перестают нормально обновляться, соединения в состоянии TIME_WAIT не очищаются, временные порты постепенно заканчиваются, и система в какой-то момент просто перестаёт устанавливать новые TCP-соединения.

При этом ping может продолжать работать, что делает сбой особенно странным. В Photon пишут, что заметили аномалию на своих macOS-машинах, которые круглосуточно используются для мониторинга iMessage-сервисов.

По их описанию, часть узлов после примерно 49 дней 17 часов 2 минут 47 секунд аптайма перестала открывать новые TCP-сессии. После перезагрузки всё возвращалось в норму, но таймер, по сути, запускался заново.

Авторы утверждают, что смогли воспроизвести поведение на двух машинах и связали его с переменной tcp_now в XNU. В открытом репозитории Apple действительно есть TCP-код ядра Darwin/XNU, где используются 32-битные значения времени и логика сравнения временных меток TCP, на которую ссылаются исследователи.

Поведения бага выглядит так: сначала ничего не ломается в лоб, но закрытые TCP-соединения перестают вовремя исчезать из TIME_WAIT. Затем их становится всё больше, временные порты забиваются, новые подключения начинают зависать в SYN_SENT, а сервисы, которым нужны новые TCP-сокеты, начинают сыпаться.

Если эта находка подтвердится, то для обычного пользователя баг вряд ли станет массовой проблемой: большинство устройств на macOS перезагружаются чаще (хотя бы из-за обновлений). А вот для долго работающих Mac mini, билд-серверов, CI/CD-ферм, удалённых рабочих станций и серверных компьютеров, которые могут жить без ребута неделями, история выглядит уже куда серьёзнее.

Если у вас есть компьютер на macOS, который работает неделями без перезагрузки и критичен для сервисов, мы бы посоветовали следить за его аптаймом.

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