Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
react-cve-2025-55182 — вредоносное ПО, которое я нашёл на своём сервере | Kitploit
Инструменты/GitHubGitHub/stonelinks/react-cve-2025-55182
Механизмы персистентностиОбратная инженерияЭксфильтрация данныхФорензикаАнализ вредоносных программКомандование и УправлениеРазведка угрозРеагирование на ИнцидентыРазработка Полезной Нагрузки
GitHubstonelinks/react-cve-2025-55182

react-cve-2025-55182

вредоносное ПО, которое я нашёл на своём сервере

8 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

react-cve-2025-55182

Это дамп вредоносного ПО и прочего подозрительного мусора, который я нашёл на сервере моего свадебного сайта после эксплуатации уязвимости выполнения кода при серверном рендеринге React. Это небольшой дроплет Digital Ocean, на котором работает довольно заурядное приложение на Next.js.

CVE: https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components

Журнал активности сервера, показывающий различные всплески и прочее: изображение

Главный злодей, похоже, установлен в /.local/share/.r0qsv8h1

Что я нашёл

В моём bashrc:

root@kitploit:~
# System
(nohup /.local/share/.r0qsv8h1/.394ly8v9/bin/node /.local/share/.r0qsv8h1/.fvq2lzl64e.js >/dev/null 2>&1 &) 2>/dev/null
pgrep -f mesh | xargs -I {} mount -n --bind /dev/shm /proc/{} 2>/dev/null
pgrep -f mesh | xargs -I {} mount -n --bind /dev/shm /proc/{} 2>/dev/null
pgrep -f mesh | xargs -I {} mount -n --bind /dev/shm /proc/{} 2>/dev/null

Обратите внимание: pgrep'ы здесь для того, чтобы остановить этот другой фейковый вредонос "meshagent". Об этом можно прочитать в документе MESHAGENT.md.

В моём profile то же самое:

root@kitploit:~
# App
(/.local/share/.r0qsv8h1/.394ly8v9/bin/node /.local/share/.r0qsv8h1/.fvq2lzl64e.js >/dev/null 2>&1 &) 2>/dev/null

Другие подозрительные службы можно увидеть в SUSPICIOUS_SERVICES.md.

Вот анализ этого главного вредоноса:

Обзор содержимого /.local/

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

Файлы и их назначение

Декодирование манифеста

Base64-нагрузка в .5f8562 декодируется в:

root@kitploit:~
{
  "0": "c6aeb84b-0600-4e82-ae3e-f7d441a2fd7c",
  "1": ".fvq2lzj6te.js",
  "3": 1765307786421,
  "4": "desktop"
}
  • Ключ "1" ссылается на основной обфусцированный скрипт-загрузчик.
  • Ключ "0" — это UUID, который, вероятно, используется удалённым сервером для отслеживания.
  • Ключ "3" — временная метка (в миллисекундах с эпохи Unix), указывающая, когда был создан манифест.
  • Ключ "4" указывает предполагаемое расположение (desktop), намекая на то, что полезная нагрузка может пытаться скрыться там.

Порядок выполнения

  1. Загрузка (Bootstrap) — Когда запускается встроенный бинарник Node (например, node .5f8562), манифест указывает на .fvq2lzj6te.js.
  2. Загрузчик — Загрузчик создаёт JSON-RPC-запрос к удалённому серверу управления и контроля, получает blob в base64 и расшифровывает его с помощью собственного алгоритма, похожего на RC4.
  3. Развёртывание нагрузки — Расшифрованные данные записываются в файл со случайным именем в окружении пользователя и выполняются как отсоединённый дочерний процесс.
  4. Постоянство / Цикл обновления — Таймер setInterval периодически повторяет последовательность загрузка-расшифровка-запуск, позволяя атакующему отправлять новые или обновлённые нагрузки без дополнительного взаимодействия с пользователем.
  5. Фоновое выполнение — Порождённый процесс работает в собственном окружении (PATH, cwd и т. д.) и может выполнять типичные вредоносные действия, такие как криптомайнинг, кража учётных данных или удалённое выполнение команд.

Потенциальное воздействие

  • Компрометация системы — Выполнение произвольного кода с правами пользователя, запустившего среду выполнения Node.
  • Постоянство — Периодический опрос гарантирует, что вредонос может быть обновлён или заменён в любой момент.
  • Злоупотребление ресурсами — Вероятно, выполняет задачи с интенсивным использованием ЦП (например, криптомайнинг) или выводит данные.
  • Скрытность — Файлы сильно обфусцированы, а наличие легитимно выглядящего README Node.js помогает скрыть вредоносную природу.

Рекомендации

  1. Немедленное удаление — Удалите весь каталог .r0qsv8h1 и любые файлы, которые он мог создать (проверьте Desktop пользователя и временные каталоги на наличие недавно созданных исполняемых файлов).
  2. Сканирование системы — Запустите на хосте надёжный антивирусный сканер для обнаружения остаточных компонентов.
  3. Проверка путей выполнения — Убедитесь, что ни один сценарий автозагрузки или запланированная задача не ссылается на файлы в этом каталоге.
  4. Мониторинг сети — Заблокируйте исходящие подключения к неизвестным IP/хостам с заражённой машины и просмотрите недавний сетевой трафик на предмет подозрительных исходящих запросов.
  5. Обновление политик безопасности — Ограничьте выполнение неизвестных бинарных файлов и скриптов, особенно загружаемых в пользовательские каталоги с правом записи.

Этот анализ был выполнен автоматически ИИ-ассистентом на основе статического изучения файлов, присутствующих в каталоге. Никакого выполнения в рантайме не производилось.

Вы можете узнать больше в DEOBFUSCATE.md

Скачать инструмент
ФайлОписание
.394ly8v9/README.mdСтандартный README Node.js — не связан с вредоносной функциональностью; присутствует только для того, чтобы набор выглядел легитимно.
.fvq2lzl64e.js~5 КБ обфусцированного JavaScript. Формирует JSON-RPC HTTP-запрос, получает полезную нагрузку в base64, расшифровывает её пользовательским шифром, записывает нагрузку в случайный файл и выполняет её через child_process.spawn / execSync. Также порождает отсоединённый фоновый процесс, который многократно опрашивает удалённый сервер.
.lauphhtqrg.js~13 КБ обфусцированного JavaScript. Реализует аналогичный цикл загрузка-расшифровка-запуск с собственным шифром в стиле RC4 (dec). Записывает расшифрованную нагрузку в файл со сгенерированным именем и запускает его. Устанавливает таймер для последующей загрузки новых нагрузок.
.5f8562Обычная строка Base64. Декодируется в небольшой JSON-манифест: json { "0":"c6aeb84b-0600-4e82-ae3e-f7d441a2fd7c", "1":".fvq2lzj6te.js", "3":1765307786421, "4":"desktop" } Этот манифест сообщает загрузчику, какой скрипт выполнять (.fvq2lzj6te.js), и предоставляет идентификатор/метку времени.
.b0rtqscrkeovПока не изучен, но шаблон имени позволяет предположить, что это ещё один компонент той же вредоносной цепочки.
bin/node и сопутствующие файлы lib/Полноценная среда выполнения Node.js, позволяющая запускать скрипты в системе, даже если Node.js не установлен.