На Linux-серверах фиксируется рост атак, в которых злоумышленники используют HTTP cookies как канал управления PHP web shell. Об этом сообщили специалисты Microsoft Defender Security Research Team, отметив, что такая техника позволяет незаметно получать удалённый доступ и выполнять команды на скомпрометированных хостах.
Как работает web shell с управлением через cookies
Классические web shell обычно принимают команды через параметры URL или тело HTTP-запроса. В новой схеме вся управляющая логика переносится в значения cookies. Вредоносный PHP-код читает данные из суперглобального массива $_COOKIE и активирует заложенный функционал только при наличии определённых значений.
По данным Microsoft, такой подход даёт атакующим два ключевых преимущества: во‑первых, web shell остаётся пассивным при обычной работе приложения, а во‑вторых, запросы с управляющими командами визуально не отличаются от легитимного трафика. Cookies повсеместно используются в вебе, поэтому их сложнее выделить и проанализировать стандартными средствами мониторинга.
Cookie-gated execution: «запертое» выполнение кода
Исследователи описывают эту модель как cookie-gated execution — выполнение кода, «запираемое» на условии наличия определённых cookie. В таком режиме вредоносная логика может встраиваться в:
- обычные HTTP-запросы к веб-приложению;
- запланированные задачи и фоновые процессы;
- доверенные background workers и системные сервисы.
Пока в запросе нет «правильной» cookie, скрипт ведёт себя как безобидный фрагмент кода. При появлении заранее оговорённого значения активируется web shell: выполняются системные команды, загружается дополнительный вредоносный код или меняется конфигурация сервера.
Персистентность через cron и «самовосстанавливающийся» PHP-loader
В одном из описанных Microsoft инцидентов злоумышленники получали начальный доступ к хостингу на Linux через валидные учётные данные или эксплуатацию известной уязвимости. После этого они создавали cron-задачу, регулярно запускающую оболочечный скрипт, который загружал и исполнял обфусцированный PHP-loader.
Такая архитектура названа исследователями «самоисцеляющейся» (self-healing): если администратор удаляет вредоносный PHP-файл в ходе очистки, cron при следующем срабатывании вновь восстанавливает loader. В результате формируется устойчивый канал удалённого выполнения кода, практически независимый от единичных мер реагирования.
Сам PHP-loader при этом большую часть времени остаётся бездействующим. Его функционал активируется только при получении HTTP-запросов с корректно сформированными cookie, содержащими команды или параметры для web shell. Персистентность обеспечивается cron, а управление — cookies, что существенно снижает «шум» в логах и затрудняет расследование.
Маскировка и обфускация как ключевые элементы атаки
Общей чертой всех наблюдаемых реализаций является агрессивная обфускация PHP-кода. Злоумышленники шифруют строки, переменные и функции, используют динамическое выполнение кода и нетривиальные конструкции, чтобы скрыть реальные цели скрипта и затруднить статический анализ.
Второй обязательный элемент — cookie-based gating, когда запуск опасных операций жёстко привязан к значениям cookies. В результате web shell оставляет минимальный интерактивный след: в логах веб-сервера трудно отличить управляющие запросы от обычной пользовательской активности, особенно при отсутствии логирования заголовков cookies.
Почему такая техника опасна для Linux-серверов
По наблюдениям отрасли, web shell остаются одним из самых популярных инструментов постэксплуатации в атаках на веб-сервера. В описанном Microsoft сценарии злоумышленники не строят сложные цепочки эксплуатации, а опираются на уже доступные в среде механизмы:
- процессы веб-сервера (Apache, Nginx + PHP-FPM);
- панели управления хостингом;
- систему планировщика задач cron.
Это позволяет им обходить часть традиционных средств защиты, ориентированных на обнаружение эксплойтов или аномального сетевого трафика. Управление через cookies дополнительно усложняет применение сигнатурных и поведенческих правил на уровне WAF и IDS/IPS, если те не анализируют содержимое cookies или не хранят их в логах для последующего разбора.
Рекомендации по защите Linux-хостингов и веб-серверов
Microsoft рекомендует комплексный подход к защите от подобных атак. Ключевые меры включают:
- Многофакторная аутентификация (MFA) для панелей управления хостингом, SSH-доступа и административных интерфейсов.
- Мониторинг аномальной активности входа: неожиданные IP, геолокации, время входа, массовые попытки авторизации.
- Ограничение выполнения оболочек (bash, sh и др.) из веб-контекста, жёсткие политики для функций PHP (disable_functions, open_basedir).
- Регулярный аудит cron-задач и scheduled tasks на веб-серверах, включая задачи, созданные панелями управления.
- Проверка веб-директорий на подозрительные файлы: неизвестные PHP-скрипты, файлы с обфусцированным кодом, недавно изменённые системные компоненты.
- Ограничение shell-функционала в хостинг-панелях и, по возможности, их изоляция в отдельных контейнерах или средах.
Для повышения уровня киберустойчивости полезно также включить логирование и анализ HTTP-заголовков, включая cookies, применять WAF с поддержкой поведенческих правил и регулярно проводить ревизию кода веб-приложений на предмет скрытых точек удалённого выполнения. Чем раньше будут выявлены web shell и аномальные cron-задачи, тем выше шанс предотвратить долгосрочную компрометацию и утечку данных.