Новый Linux-ботнет Evooo1Bot заражает сетевое оборудование и превращает его в скрытые SOCKS5-прокси

95 комментарии
Анализ архитектуры Linux-ботнета Evooo1Bot, активного с июля 2026 года. Операторы атакуют уязвимые устройства, доступные из интернета, для создания распределенной инфраструктуры прокси-серверов SOCKS5 и организации масштабируемых DDoS-атак.

Заражённые маршрутизаторы, межсетевые экраны и IP-камеры операторы Linux-ботнета Evooo1Bot используют как прокси-серверы SOCKS5 для собственного трафика. Разбор семейства опубликовала FortiGuard Labs – публичных отчётов по нему прежде не выходило. Судя по телеметрии управляющей инфраструктуры, заражения идут с , а первичный доступ даёт эксплуатация десяти известных уязвимостей в оборудовании, доступном из интернета. Движок DDoS перенесён из утёкшего исходного кода Mirai, поверх него надстроены шифрованный канал управления, подбор паролей по SSH, перехват учётных данных и отдельный модуль эксплойтов.

Mirai – вредоносная программа для устройств интернета вещей, исходный код которой выложили в открытый доступ . С тех пор код служит основой для десятков производных ботнетов.

Десять уязвимостей в маршрутизаторах и промышленных шлюзах

Семейство попало в поле зрения через телеметрию систем предотвращения вторжений Fortinet: перехваченные попытки эксплуатации вели к одному и тому же адресу загрузчика – 91.92.40[.]118/wget.sh. Набор целей разнородный, домашние маршрутизаторы Tenda и D-Link соседствуют с телефонной платформой Alcatel OmniPCX Enterprise и промышленными телеметрическими контроллерами ME-RTU.

Граничные устройства – оборудование на стыке локальной сети и интернета: маршрутизаторы, межсетевые экраны, IP-камеры, промышленные шлюзы. Именно такие устройства перечислены в отчёте как основные цели Evooo1Bot.

Самой старой из задействованных брешей девятнадцать лет, самые свежие получили идентификаторы в 2025 году. Шесть позиций из десяти – внедрение команд, то есть класс уязвимостей, при котором пользовательский ввод без проверки попадает в системный вызов и позволяет выполнить произвольную команду операционной системы.

ИдентификаторОборудованиеТип уязвимости
CVE-2007-3010Alcatel OmniPCX EnterpriseУдалённое выполнение кода
CVE-2016-6277Маршрутизаторы NETGEARУдалённое выполнение кода
CVE-2018-14558Tenda AC7, AC9, AC10Внедрение команд
CVE-2019-14931Контроллеры ME-RTU (Mitsubishi Electric Europe, INEA)Внедрение команд
CVE-2020-10987Tenda AC1900, модель AC15Удалённое выполнение кода
CVE-2021-46422Telesquare SDT-CW3B1Внедрение команд
CVE-2022-37055Маршрутизаторы D-LinkПереполнение буфера
CVE-2024-29269Telesquare TLR-2005KSHВнедрение команд
CVE-2025-10123D-Link DIR-823XВнедрение команд
CVE-2025-55583D-Link DIR-868L B1Внедрение команд

Метка кампании встроена прямо в команду скачивания и своя для каждой уязвимости: у целей Mitsubishi Electric это -s mitsu, у оборудования Alcatel-Lucent – rep.alcatel. По меткам оператор отдельно считает отдачу от каждой бреши.

Скрипт wget.sh и двенадцать сборок под разные архитектуры

Сам загрузчик устроен просто и перебирает четыре способа скачивания подряд: wget, busybox wget, curl, tftp. В скрипте перечислены двенадцать сборок исполняемого файла под разные процессорные архитектуры, подходящая записывается во временный каталог, получает права на запуск и выполняется. Следом очищается история команд Bash – чтобы стереть следы атаки.

Проверка на отладчики, песочницы и виртуальные машины

Строки внутри двоичного файла закрыты многослойным шифрованием, наложенным при сборке: одна и та же процедура расшифровки обслуживает более 60 блоков. Ключи AES-256-CTR и ChaCha20 целиком в файле не лежат – каждый собирается при запуске из двух 32-байтовых констант в секции .data, объединяемых операцией XOR. Часть строк в секции .rodata закрыта дополнительным однобайтовым XOR.

Перед выходом на связь проверяется окружение, и проверок четыре:

  • наличие в файловой системе инструментов анализа – отладчиков strace, gdb, lldb, дизассемблеров radare2, Ghidra, IDA, анализаторов трафика Wireshark и tcpdump, средств криминалистики YARA, binwalk, Volatility;
  • имена запущенных процессов, включая frida и frida-server;
  • названия служб песочниц – Cuckoo, CAPE, Joe Sandbox, Hybrid Analysis, Sandboxie и других;
  • признаки виртуальных сред и контейнеров: VMware, VirtualBox, QEMU, Firejail, Bubblewrap, gVisor, Kata.

Когда ни одна проверка не сработала, устанавливается шифрованное соединение с управляющим сервером на порту 443. Порт выбран не случайно: на периметре сети такой поток неотличим от обычного HTTPS. Дальше узел ждёт команд – всего интерфейс удалённого управления насчитывает 28 штук, среди них загрузка и выгрузка файлов размером до 10 МБ и интерактивная оболочка на псевдотерминале.

Ретранслятор SOCKS5: прямой режим и обратный канал

Наиболее значимой с оперативной точки зрения частью Evooo1Bot в FortiGuard Labs называют именно ретранслятор. В прямом режиме на заражённой машине открывается слушающий сокет SOCKS5 на TCP-порту 1080; сначала предпринимается попытка поднять двухстековый сокет IPv6, при неудаче происходит откат к IPv4. Каждое принятое подключение передаётся обработчику сеанса.

SOCKS5 – протокол проксирования, описанный в RFC 1928 в марте 1996 года. Работает с TCP и UDP, поддерживает авторизацию и, в отличие от HTTP-прокси, не разбирает содержимое передаваемых данных.

Обратный режим устроен иначе. Вместо открытого порта бот сам устанавливает исходящее шифрованное соединение с указанным оператором сервером-ретранслятором и держит его как управляющий канал. Получив запрос на новый сеанс, он открывает к тому же серверу второе шифрованное соединение, регистрирует его за идентификатором сеанса и передаёт обработчику SOCKS5. Управление и полезный трафик разнесены, поэтому несколько сеансов работают параллельно, не мешая постоянному каналу.

Возможность заметно повышает ценность заражённого узла для атакующих. IP-адрес жертвы годится, чтобы замаскировать вредоносный трафик, обойти региональные ограничения или получить доступ во внутреннюю сеть через уже скомпрометированную машину.

– FortiGuard Labs, отчёт от 13 августа 2026 года

В крупной сети та же функция позволяет собрать распределённую прокси-инфраструктуру и продавать доступ под видом резидентных прокси – сервисов, пропускающих трафик клиента через IP-адреса домашних пользователей и небольших компаний. Рядом работает перехватчик учётных данных: он читает /proc/net/tcp, вылавливает заголовки HTTP Basic Authorization и Cookie и складывает их в файл /tmp/.sniff.log.

Подбор паролей по SSH с двумя проверками на ловушки

До начала перебора учётных данных сканер дважды проверяет, не попал ли он на ловушку – специально уязвимую систему, которую исследователи выставляют в сеть ради сбора образцов и наблюдения за атаками. Первая проверка идёт на этапе рукопожатия, до отправки любых паролей: баннер SSH сверяется с зашитым списком из пятнадцати строк, куда входят Cowrie, Kippo, HonSSH, Glutton, OpenCanary, а также идентификаторы библиотек paramiko, libssh, russh и Twisted. При совпадении цель молча пропускается, без записи в журнал и без дальнейшего взаимодействия.

Вторая проверка выполняется уже после успешного входа. Сканер читает /proc/version и /proc/1/cmdline, ищет каталоги Cowrie и Kippo и отбрасывает цель, если в выводе версии ядра нет признаков настоящего Linux. Проверки не дублируют друг друга: первая отсеивает ловушки, выдающие себя реализацией SSH, вторая – те, что показывают правдоподобный баннер, но выдают себя структурой файловой системы.

Собственный клиент SSH отдаёт баннер SSH-2.0-OpenSSH_9.7p1. Встроенный словарь содержит более 150 записей, и помимо стандартных заводских комбинаций для устройств интернета вещей в нём есть служебные учётные записи jenkins, postgres, oracle, nagios, deploy – такие встречаются в корпоративных и промышленных сетях, а не на домашних маршрутизаторах.

Пять механизмов закрепления и защита от перезагрузки

Одна команда оператора ставит сразу все механизмы автозапуска:

  • служба systemd с описанием Apache HTTPD Cache Manager и параметром Restart=always;
  • сценарий SysV в каталоге /etc/init.d;
  • задание cron, каждые пять минут заново скачивающее и запускающее сценарий;
  • внедрение в /etc/profile.d, срабатывающее при входе пользователя;
  • дописывание строки запуска в /etc/rc.local.

Устойчивость к принудительному завершению обеспечивают ещё два приёма. Через запись в /proc/self/oom_score_adj понижается собственный приоритет для механизма OOM-killer, а открытый дескриптор /dev/watchdog не даёт сторожевому таймеру перезагрузить устройство и прервать работу.

Шестнадцать методов DDoS и модуль эксплойтов на восемь уязвимостей

Атакующая часть структурно повторяет утёкший код Mirai: шестнадцать методов флуда, от простого UDP и DNS до SYN, ACK, STOMP, инкапсуляции в GRE, фрагментированного TCP и отдельного варианта, рассчитанного на обход фильтрации OVH. В режиме HTTP оператор задаёт метод запроса, заголовки, значение User-Agent и длину тела.

Модуль эксплойтов появился только в последней сборке – в более раннем варианте есть все команды, кроме трёх, отвечающих за атаки по CVE. Внутри двоичного файла лежит открытая таблица, где идентификатору уязвимости сопоставлены готовые HTTP-запросы, а адрес сервера с полезной нагрузкой оператор подставляет в момент запуска. Предусмотрен и одновременный перебор всех записей.

ИдентификаторПродукт
CVE-2021-36260IP-камеры Hikvision
CVE-2022-26134Atlassian Confluence
CVE-2022-29464Продукты WSO2
CVE-2022-30525Межсетевые экраны Zyxel
CVE-2023-1389TP-Link Archer AX21
CVE-2024-4577PHP-CGI в Windows
CVE-2024-10914Сетевые хранилища D-Link
CVE-2025-1974Kubernetes ingress-nginx

Работает не всё. Часть записей не воспроизводит настоящий вектор атаки: либо тип уязвимости несовместим с внедрением команд, либо у цели нет интерфейса, к которому обращается запрос. Показательна запись для CVE-2023-34362 в MOVEit Transfer – передаётся аргумент файлу human2.aspx, но сама загрузка веб-оболочки не выполняется, поэтому атака заведомо не срабатывает.

Заключение

От Mirai в Evooo1Bot взят только движок флуда, остальное написано заново: шифрованный канал связи, три слоя запутывания строк, разветвлённый интерфейс управления, проксирование и перехват учётных данных. Такой набор рассчитан на длительное присутствие в сети жертвы, а не на разовую DDoS-кампанию, и заражённое устройство ценно оператору само по себе – как чистый IP-адрес, через который можно пропускать чужой трафик.

Риск ложится прежде всего на владельцев оборудования на периметре сети, для которого производитель давно не выпускает прошивки: в списке целей есть бреши 2007 и 2016 годов. Практический минимум – закрыть административные интерфейсы от доступа из интернета, обновить прошивки там, где обновления ещё выходят, и отследить исходящие соединения на порт 443 к незнакомым адресам. В антивирусных базах Fortinet семейство проходит как Linux/Agent.BDS!tr; индикаторы компрометации, включая хеши файлов, приведены в отчёте.

Автор:
Комментарии и отзывы

Нашли ошибку?

Новое на сайте