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

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

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

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

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

Категории

Все категории
Loading categories
CTF-CVE-2022-0847 | Kitploit
Инструменты/GitHubGitHub/justinye377/ctf-cve-2022-0847
Повышение привилегийЭксплуатацияCTFОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubjustinye377/ctf-cve-2022-0847

CTF-CVE-2022-0847

Репозиторий
11 год назадЕщё не проверено

Популярное

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

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

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

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

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

Развертывание Dirty Pipe

Для этого задания вам нужно перезаписать файл "cat.txt", доступный только для чтения, с помощью эксплойта CVE-2022-0847. Существует множество способов сделать это с помощью эксплойта.

Зависимости

  • Ядро Linux версии 5.8 или новее (уязвимое)
  • gcc (GNU Compiler Collection) для компиляции кода эксплойта

Первоначальная настройка

  1. Настройка уязвимого окружения:
  • Для пользователей Linux:
    • Используйте дистрибутив Linux с версией ядра 5.8 или новее, но ниже исправленных версий:
    • Исправленные версии включают 5.16.11, 5.15.25 и 5.10.102.
    • Проверьте версию ядра в вашей системе, выполнив: uname -r
    • Если ваше ядро уже исправлено, возможно, потребуется откатить версию или использовать другую установку Linux, соответствующую критериям уязвимости.
  • Для пользователей Windows:
    • Установите виртуальную машину:
      • Загрузите и установите виртуальную машину, например Oracle VM VirtualBox или VMware.
    • Загрузите уязвимый дистрибутив Linux:
      • Посетите архивы Kali Linux, чтобы загрузить более старую версию Kali Linux.
      • Рекомендуемые версии включают любой выпуск с ядром 5.8–5.15 (например, Kali 2021.1).
    • Кроме того, подойдут другие дистрибутивы Linux с соответствующими версиями ядра (например, более старые версии Ubuntu или Debian).
  • Настройте виртуальную машину:
    • Создайте новую виртуальную машину в VirtualBox:
    • Выделите не менее 2 ГБ ОЗУ и 10 ГБ дискового пространства.
    • Используйте загруженный ISO-файл для установки дистрибутива Linux.
    • После установки проверьте версию ядра, выполнив: uname -r
  • Установите необходимые инструменты:
    • После настройки окружения убедитесь, что установлены следующие инструменты:
      • gcc: требуется для компиляции кода эксплойта.
      • make: для сборки проектов при необходимости.
      • Обновите менеджер пакетов и установите инструменты: sudo apt update sudo apt install gcc make -y

Запуск задания

  1. Запуск: Обязательно проверьте версию ядра! Используйте эту ссылку GitHub (https://github.com/basharkey/CVE-2022-0847-dirty-pipe-checker.git)

Убедитесь, что файл cat.txt доступен только для чтения.

Ограничения: атакующий должен иметь права на чтение (поскольку ему нужно выполнить splice() страницы в канал) смещение не должно находиться на границе страницы (поскольку хотя бы один байт этой страницы должен быть передан в канал через splice()) запись не должна пересекать границу страницы (поскольку для остальной части был бы создан новый анонимный буфер) файл не может быть изменён в размере (поскольку канал имеет собственное управление заполнением страниц и не сообщает кэшу страниц, сколько данных было добавлено)

  1. Развертывание эксплойта:
  • Создайте канал.

  • Заполните канал произвольными данными (чтобы установить флаг PIPE_BUF_FLAG_CAN_MERGE во всех записях кольца).

  • Опустошите канал (оставив флаг установленным во всех экземплярах struct pipe_buffer в кольце struct pipe_inode_info).

  • Выполните splice данных из целевого файла (открытого с O_RDONLY) в канал, начиная непосредственно перед целевым смещением.

  • Запишите произвольные данные в канал; эти данные перезапишут кэшированную страницу файла вместо создания нового анонимного экземпляра struct pipe_buffer, поскольку установлен флаг PIPE_BUF_FLAG_CAN_MERGE.

  • Перезапишите cat.txt, измените I'm a cat 1444 на I'm a dog 2025

  • Используйте check_cat.sh, чтобы проверить, сработало ли это chmod +x check_cat.sh ./check_cat.sh

Повторное создание задания

Используйте следующее chmod +x cat_generate.sh ./cat_generate.sh

Публикация задания

Подсказки находятся в hints.txt.

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