React2Shell (CVE-2025-55182) та EtherRAT: критичні атаки на React/Next.js із використанням Ethereum C2

CyberSecureFox 🦊

Через кілька днів після публічного розкриття уразливості React2Shell (CVE-2025-55182) фахівці Sysdig зафіксували її реальну експлуатацію проти Next.js-додатків з подальшим розгортанням нової Linux-орієнтованої малварі EtherRAT. Шкідник працює у середовищі Node.js, управляється через смарт-контракти Ethereum та застосовує кілька рівнів персистентності, що істотно ускладнює його виявлення й видалення.

React2Shell (CVE-2025-55182): критична RCE уразливість у React Server Components та Next.js

React2Shell — це уразливість типу remote code execution (RCE) у механізмі React Server Components, що отримала максимальний рейтинг CVSS 10.0. Проблема пов’язана з небезпечною десеріалізацією даних: зловмиснику достатньо надіслати спеціально сформований HTTP-запит, щоб виконати довільний код на сервері без автентифікації та підвищення привілеїв.

Під удар потрапили стандартні конфігурації React 19.0, 19.1.0, 19.1.1, 19.2.0, а також проєкти на базі Next.js. Випущені виправлення в React 19.0.1, 19.1.2, 19.2.1 та оновлених версіях Next.js закривають діру, однак значна кількість продакшн-додатків лишається не оновленою й доступною з інтернету.

За даними Sysdig, уразливість уже активно експлуатують щонайменше дві групи китайськомовного походження — Earth Lamia та Jackpot Panda, при цьому підтверджено компрометацію понад 30 організацій. Експерти також попереджають, що подібні проблеми можуть проявлятися в інших реалізаціях React Server, зокрема у Vite RSC plugin, Parcel RSC plugin, React Router RSC preview, RedwoodSDK, Waku, де також застосовуються схожі механізми серіалізації.

Ланцюжок атаки: від HTTP-запиту до прихованого Node.js-середовища

Початковий шелл та завантаження s.sh

Атака стартує з віддаленого виконання коду через React2Shell: на сервері запускується base64-кодована шелл-команда, яка у циклі кожні 300 секунд намагається завантажити скрипт s.sh за допомогою curl, wget або python3. Після успішного завантаження скрипт робиться виконуваним і запускається.

Приховане розгортання Node.js та пейлоада

Скрипт s.sh створює прихований каталог у $HOME/.local/share/ і завантажує туди легітимний бінарний файл Node.js 20.10.0 безпосередньо з nodejs.org. У тому ж каталозі розміщується зашифрований пейлоад та обфускований JS-дроппер, який запускається через щойно встановлений Node.js. Після цього s.sh видаляє себе, мінімізуючи очевидні артефакти атаки.

Дроппер розшифровує прихований блоб за допомогою жорстко закодованого ключа AES-256-CBC, записує результат у ще один прихований JavaScript-файл і знову виконує його через Node.js. Цей компонент і є EtherRAT — повнофункціональна віддалена адміністративна платформа (RAT) для Linux.

EtherRAT: смарт-контракти Ethereum як канал C2

Блокчейн-інфраструктура замість класичних C2-серверів

Головна особливість EtherRAT — використання смарт-контрактів Ethereum як інфраструктури команд і контролю (C2). Шкідник паралельно опитує дев’ять публічних Ethereum RPC-провайдерів та обирає відповідь за принципом більшості, що підвищує стійкість до блокування окремих вузлів або спроб sinkholing.

Кожні приблизно 500 мілісекунд EtherRAT генерує псевдовипадкові URL, стилізовані під CDN-домени, звертається до керуючого середовища й виконує отриманий JavaScript-код через AsyncFunction. Таким чином зловмисники отримують інтерактивний Node.js-шелл і можуть змінювати корисне навантаження динамічно, без збереження файлів на диск.

Такий підхід продовжує тенденцію, описану як EtherHiding у звітах Google та GuardioLabs: блокчейн стає стійким до цензури каналом доставки конфігурацій та команд. Sysdig також вказує на схожість зашифрованого завантажувача EtherRAT із малвар’ю BeaverTail, що застосовувалася в кампанії Contagious Interview і приписується північнокорейському угрупованню Lazarus.

Багаторівнева персистентність і самообфускація коду

У Linux-середовищі EtherRAT реалізує кілька паралельних механізмів персистентності (за даними Sysdig — щонайменше п’ять), що можуть включати різні системні автозапуски, фонові завдання та приховані скрипти. У результаті навіть якщо адміністратор зупиняє підозрілий процес або видаляє окремий файл, інші компоненти малварі здатні відновити шкідливу активність.

Не менш небезпечна функція — самооновлення та переобфускація коду. EtherRAT надсилає власний вихідний код на спеціальний API-ендпоінт, отримує змінену, інакше обфусковану версію з тією ж функціональністю, перезаписує себе й перезапускається. Це знижує ефективність сигнатурних антивірусів, ускладнює статичний аналіз та дає можливість швидко додавати нові модулі під конкретні цілі атак.

Рекомендації для організацій: як мінімізувати ризики React2Shell та EtherRAT

1. Негайне оновлення стеку. Оновіть React до версій 19.0.1, 19.1.2, 19.2.1 і відповідні релізи Next.js. Проведіть аудит усіх бібліотек, що працюють з React Server Components, на предмет небезпечної десеріалізації.

2. Пошук артефактів компрометації. Перевірте робочі хости на наявність прихованих каталогів у $HOME/.local/share/, неочікуваних інсталяцій Node.js, файлів на кшталт s.sh, а також незвичних Node.js-процесів, запущених від сервісних облікових записів.

3. Аналіз персистентності. Проінвентаризуйте механізми автозапуску (systemd, cron, user-level автозапуски) і звірте їх з індикаторами компрометації (IoC), опублікованими Sysdig та іншими дослідницькими командами.

4. Моніторинг Ethereum RPC-трафіку. За можливості обмежте або принаймні логувати звернення до публічних Ethereum RPC-провайдерів з продакшн-серверів додатків, налаштуйте попередження щодо нетипового блокчейн-трафіку.

5. Інтеграція безпеки в розробку. Впроваджуйте DevSecOps-практики: регулярний сканинг коду та залежностей, тестування на RCE та десеріалізаційні уразливості, оперативне керування патчами, постійний моніторинг поведінки серверів.

Поєднання критичної RCE-уразливості React2Shell та просунутої блокчейн-керованої малварі EtherRAT демонструє, наскільки швидко атакувальники адаптуються до нових технологій. Чим раніше організації налагодять безперервний цикл оновлень, моніторингу та спільної роботи команд розробки й кібербезпеки, тим менша ймовірність довготривалого прихованого компрометування їхніх Linux- та хмарних середовищ.

Залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються дані ваших коментарів.