Skip to content

proleternal/Lab2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 

Repository files navigation

Laba.2

Лабораторная работа №2 Разбор методик эксплуатации уязвимостей Задание:

  • Список найденных ячейкой уязвимостей за 2022-2025 год 5 RCE и 5 LPE
  • Выбрать любые 4 (2 LPE и 2 RCE) репозитория и разобрать работу программного кода

1.Список найденных ячейкой уязвимостей за 2022-2025 год 5 RCE и 5 LPE

Таблица 1-Уязвимости удаленного выполнения кода (RCE)

Идентификатор Тип CVSS Год PoC
CVE-2025-55182 RCE 10.0 2025 PoC
CVE-2025-24813 RCE (Apache Tomcat) Нет данных 2025 PoC
CVE-2024-5522 RCE (WordPress) Нет данных 2024 PoC
CVE-2023-38831 RCE (WinRAR) 7.8 2023 PoC
CVE-2022-0847 RCE/LPE (Dirty Pipe, Linux) 7.8 2022 PoC

Таблица 2-Уязвимости повышения привилегий (LPE)

Идентификатор Тип CVSS Год PoC
CVE-2024-1086 LPE (ядро Linux) 7.8 2024 PoC
CVE-2025-24071 LPE (Windows) Нет данных 2025 PoC
CVE-2021-22555 LPE (ядро Linux, Netfilter) 7.8 2021 (активна в 2022-2025) PoC
CVE-2019-13272 LPE (ядро Linux) 7.8 2019 (активна в 2022-2025) PoC
CVE-2025-8088 LPE (WinRAR, Zero-Day) Нет данных 2025 PoC
  1. Разбор работы PoC-кода (2 RCE и 2 LPE)

**1.**CVE-2025-55182 (RCE) — "React2Shell" в React Server Components

Ссылка на PoC: https://github.com/msanft/CVE-2025-55182

Суть уязвимости: Критическая уязвимость (CVSS 10.0) в React Server Components, связанная с небезопасной десериализацией данных HTTP-запросов.

Механизм работы эксплойта:

  1. Создание полезной нагрузки: Эксплойт формирует специальный HTTP-запрос (обычно POST) к конечной точке серверной функции React.
  2. Внедрение кода: В тело запроса помещается сериализованный объект, который содержит произвольный код (например, команду выполнения системной команды os.command() на сервере Node.js).
  3. Эксплуатация десериализации: Уязвимый сервер React при обработке запроса десериализует этот объект без должной проверки.
  4. Выполнение кода: В процессе десериализации внедренный код исполняется на сервере с правами пользователя, под которым работает приложение, что приводит к полному контролю над сервером.

**2.**CVE-2023-38831 (RCE) — WinRAR

Ссылка на анализ: https://github.com/z3r0sw0rd/CVE-2023-38831-PoC

Суть уязвимости: Уязвимость в алгоритме обработки архивов WinRAR. При двойном клике на файл внутри архива (особенно с расширением .cmd или .bat) может быть запущен не тот файл, на который показывает пользователь.

Механизм работы эксплойта (на основе публичных отчетов):

  1. Создание "ловушки": Злоумышленник создает архив, в который помещает два файла: легитимный (например, photo.jpg) и вредоносный скрипт (photo.jpg.cmd или photo.jpg.bat).
  2. Использование спецсимволов: Файлы упаковываются таким образом, что при отображении в WinRAR пользователь видит только photo.jpg. Вредоносный скрипт маскируется.
  3. Некорректная обработка: Когда пользователь пытается открыть photo.jpg двойным кликом, WinRAR из-за логической ошибки временно извлекает и запускает на выполнение связанный с ним скрипт (photo.jpg.cmd).
  4. Получение контроля: Запущенный скрипт выполняется в контексте текущего пользователя, позволяя загрузить и запустить дальнейшую полезную нагрузку.

3.CVE-2024-1086 (LPE) — Ядро Linux

Ссылка на PoC: https://github.com/Notselwyn/CVE-2024-1086

Суть уязвимости: Уязвимость в подсистеме Netfilter (nf_tables) ядра Linux, приводящая к использованию памяти после освобождения (Use-After-Free).

Механизм работы эксплойта:

  1. Подготовка примитивов: Эксплойт, работая от непривилегированного пользователя, создает набор сокетов и манипулирует очередями сообщений (msg_msg). Это стандартный метод для создания контролируемого расположения объектов в памяти ядра.
  2. Вызов уязвимой операции: Эксплойт выполняет последовательность сетевых операций, которые приводят к вызову уязвимой функции в Netfilter.
  3. Триггеринг UAF: В определенный момент уязвимый код освобождает область памяти (например, связанную с правилом фильтрации), но сохраняется указатель на нее.
  4. Перехват контроля: Используя заранее подготовленные структуры msg_msg, эксплойт немедленно занимает только что освобожденную память своим данными.
  5. Повышение привилегий: Когда ядро позднее обращается по "висящему" указателю, оно выполняет операции уже с подконтрольными злоумышленнику данными. Это позволяет перезаписать критически важные структуры (например, cred), что дает процессу права пользователя root.

**4.**CVE-2022-0847 (LPE) — "Dirty Pipe" в ядре Linux

Ссылка на упоминание: https://github.com/AlexisAhmed/CVE-2022-0847-DirtyPipe-Exploits

Суть уязвимости: Ошибка в механизме копирования данных в конвейер (pipe) ядра Linux, позволяющая перезаписывать содержимое только для чтения файлов.

Механизм работы эксплойта:

  1. Создание канала: Эксплойт создает конвейер (pipe) и заполняет его буфер данными.
  2. Манипуляция флагами страниц: После заполнения эксплойт сбрасывает флаг PIPE_BUF_FLAG_CAN_MERGE у страниц буфера конвейера. Этот флаг разрешает объединение новых данных с уже существующими в буфере.
  3. Чтение целевого файла: Эксплойт открывает целевой файл, доступный только для чтения (например, /etc/passwd или бинарный su), и сбрасывает его данные в только что подготовленный конвейер.
  4. Перезапись данных: Теперь, записывая данные в тот же конвейер, эксплойт объединяет их с данными целевого файла, находящимися в буфере, благодаря ранее установленному флагу.
  5. Изменение файла: В результате страницы памяти ядра, содержащие данные файла только для чтения, модифицируются. Это позволяет, например, добавить нового пользователя с UID 0 в /etc/passwd или модифицировать бинарный файл для последующего получения привилегий.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published