КИБЕРБЕЗОПАСНОСТЬ

В Control Web Panel нашли Linux-бэкдор, который не пишет команды в логи

Бэкдор в Control Web Panel выполняет команды через веб-запросы и скрывает их из access-логов. Проверить сервер можно тремя командами.

✍️ Редакция iTech News | 07.11.2026 | ⏱ 4 мин | Источник: The Hacker News
В Control Web Panel нашли Linux-бэкдор, который не пишет команды в логи

Бэкдор в Control Web Panel позволяет выполнять команды на Linux-сервере через специально сформированные HTTP-запросы, не оставляя следов в access-логах веб-сервера. Для русскоязычных администраторов и хостингов это не история про очередную уязвимость «где-то в панели»: если CWP-сервер уже захвачен с правами root, злоумышленник получает тихий и удобный канал для дальнейшей работы внутри инфраструктуры.

О находке сообщили исследователи XLab компании QiAnXin, пишет The Hacker News. Они назвали вредоносный компонент cwpdoor: это не отдельный скрипт рядом с панелью, а модифицированная сборка cwpsrv — веб-сервера, на котором работает бесплатная панель управления Linux-хостингом Control Web Panel.

Схема атаки рассчитана не на взлом с нуля. Чтобы заменить бинарник cwpsrv, атакующему уже нужен root-доступ к серверу. Пока неизвестно, каким именно способом его получают: через украденные учётные данные, старую дыру, ошибку в настройке или другой установленный бэкдор. Но после установки cwpdoor делает закрепление заметно менее шумным: штатный на вид процесс продолжает обслуживать панель, а оператор может запускать команды через веб-запросы.

Триггером служат нестандартные HTTP-заголовки с префиксом X-Ngx-Integrity. В запросе должны быть корректные временная метка и подпись; после проверки вредоносный cwpsrv извлекает переданную команду и запускает её. Ключевая деталь — такие запросы не попадают в журналы доступа. Обычная проверка веб-логов, на которую часто рассчитывают при разборе инцидента, в этом случае ничего не покажет.

Исследователи получили установщик 29 июня 2026 года. Скрипт маскировался под обновление и работал только с двумя версиями cwpsrv: 1.15.10 и 1.24.0. При подмене файла он восстанавливал исходные даты изменения, поэтому поверхностная сверка через ls или stat может создать впечатление, что бинарник никто не трогал. На момент анализа вредоносные образцы не детектировались ни одним из 63 движков VirusTotal — ещё одно напоминание, что антивирусный статус файла не заменяет контроль целостности и расследование.

Что проверить на CWP-сервере

Признаки компрометации можно искать без остановки панели. XLab рекомендует начать с Unix-сокета, который использует вредоносный модуль:

  • ss -axp | grep integrity — результат с именем ngx_http_integrity_helper указывает на возможное заражение;
  • ps aux | grep cwpsrv — стоит проверить, не запустил ли cwpsrv неожиданные вспомогательные процессы;
  • strings /usr/local/cwpsrv/bin/cwpsrv | grep X-Ngx-Integrity — наличие этих заголовков в бинарнике считается индикатором cwpdoor.

Это не исчерпывающая проверка сервера, но хороший быстрый фильтр для инвентаризации. В описанном XLab случае список открытых TCP- и UDP-портов выглядел нормально, а подозрительный сокет обнаружился именно при проверке локальных Unix-сокетов. Для команд, отвечающих за эксплуатацию и безопасность, это практический аргумент включать в плейбуки не только сканирование сети, но и контроль процессов, сокетов и хешей критичных исполняемых файлов.

Исследователи опубликовали индикаторы компрометации: MD5 установочного скрипта cwpsrv_update.sh — e505d4ffa21cf494a5dc2d7c8f4f1236; заражённых cwpsrv версий 1.15.10 и 1.24.0 — 965aea67fb40de1bab5169ada993349f и d3f4e95113d49ab3991b45e457bda75b. Сервер раздачи находился по адресу 136.0.141[.]71. Эти данные полезны для поиска по EDR, SIEM, прокси-логам и истории DNS, но отсутствие совпадения не должно закрывать расследование: инфраструктуру злоумышленника могли сменить, а бинарник — пересобрать.

Не «починить панель», а расследовать компрометацию

Если бэкдор в Control Web Panel подтверждён, заменить файл и вернуться к работе недостаточно. Установщик, по данным XLab, создавал резервную копию исходного cwpsrv в /usr/local/cwpsrv/bin с именем вида cwpsrv.prev- и датой, однако после удачной подмены мог удалить и временные файлы, и бэкап. Исследователи советуют восстановить оригинальный бинарник при наличии копии, обновить CWP до актуальной версии и убедиться, что команда проверки сокета больше ничего не возвращает.

Дальше начинается более важная часть: смена всех учётных данных панели, ревизия SSH-ключей, задач cron, пользователей, служб и сетевых соединений. Бэкдор исполняет произвольные команды, а значит, оператор мог добавить отдельную точку входа, выгрузить секреты приложений, изменить конфигурации или использовать сервер как транзитный узел. Сервер следует считать полностью скомпрометированным, а не просто «заражённым одним файлом».

30 сентября на VirusTotal из Бразилии загрузили архив с копией cwpdoor; это, по оценке XLab, указывает на наличие реальных жертв. В том же архиве находился Ebury — давний OpenSSH-бэкдор и похититель учётных данных, известный как минимум с 2009 года. Прямую связь между двумя вредоносными программами исследователи не подтверждают: их могли оставить на одной машине разные группы. Но сочетание хорошо показывает, во что превращается сервер после потери root-доступа: не в одну «уязвимость», а в площадку для нескольких независимых операторов. Технические детали и индикаторы исследования доступны у The Hacker News.

Поделиться: Telegram X LinkedIn