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

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

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

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

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

Категории

Все категории
Loading categories
cve-2021-4034-mock — Безопасная, контролируемая имитационная система, моделирующая CVE-2021-4034 (PwnKit), с чтением/записью за пределами границ, внедрением переменных окружения и обнаружением защитных механизмов ядра для учебной практики по эксплуатации уязвимостей. | Kitploit
Инструменты/GitHubGitHub/leemyunglyul/cve-2021-4034-mock
Повышение привилегийАнализ уязвимостейЭксплуатацияОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubleemyunglyul/cve-2021-4034-mock

cve-2021-4034-mock

Безопасная, контролируемая имитационная система, моделирующая CVE-2021-4034 (PwnKit), с чтением/записью за пределами границ, внедрением переменных окружения и обнаружением защитных механизмов ядра для учебной практики по эксплуатации уязвимостей.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
64 месяцев назадЕщё не проверено

CVE-2021-4034 (PwnKit) Mock Vulnerability System

Этот проект представляет собой имитационную систему, воспроизводящую ключевой принцип действия уязвимости CVE-2021-4034 (Out-of-Bounds Read/Write) в демоне pkexec для Linux. Без реального повышения привилегий SUID, в контролируемой среде безопасно моделируются механизмы вторжения в область памяти переменных окружения и инъекции (Injection) вредоносной полезной нагрузки.

Особенность данной имитационной системы заключается в том, что она обнаруживает защитный механизм execve современных ядер Linux (принудительную вставку пустой строки при передаче пустого массива, что приводит к argc=1) и корректирует смещение, тем самым успешно воссоздавая уязвимую среду памяти прошлых версий.

📂 Структура файлов (Project Structure)

cve-2021-4034-mock/
├── README.md                # Описание проекта и руководство по запуску
├── src/
│   ├── mock_pkexec.c        # Исходный код целевого демона без проверки количества аргументов (argc)
│   └── exploit.c            # Исходный код атакующего, передающего эксплойт-нагрузку через execve
└── bin/                     # Каталог для скомпилированных исполняемых файлов (создаётся при сборке)

🚀 Инструкции по сборке (Build Instructions)

Перейдите в корневой каталог проекта в терминале и введите приведённые ниже команды по одной строке, чтобы скомпилировать исходный код.

# 1. Создание папки bin для хранения исполняемых файлов
mkdir -p bin

# 2. Компиляция целевой программы (имитационной системы)
gcc -Wall -Wextra -o bin/mock_pkexec src/mock_pkexec.c

# 3. Компиляция эксплойт-скрипта атакующего
gcc -Wall -Wextra -o bin/exploit src/exploit.c

При успешной компиляции в папке bin/ будут созданы исполняемые файлы mock_pkexec и exploit.

💻 Запуск и демонстрация (Demonstration)

1. Демонстрация штатной работы (Normal Execution)

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

./bin/mock_pkexec test_argument
  • Результат: Карта памяти выводится штатно, программа завершается с сообщением [OK].

2. Демонстрация атаки и срабатывание уязвимости (Exploit)

Запустите эксплойт-скрипт, чтобы принудительно передать полезную нагрузку argc=0 (NULL-массив) и тем самым спровоцировать уязвимость.

./bin/exploit
  • Детальный разбор результата:
  1. Обнаружение защитного механизма ядра: Имитационная система обнаруживает, что современное ядро ОС принудительно устанавливает argc в 1, и динамически корректирует индекс обращения к памяти.
  2. Возникновение выхода за границы (Out-of-Bounds, OOB): Из-за отсутствия проверки индекса происходит выход за границы массива argv с вторжением в соседнюю область envp.
  3. Инъекция переменной окружения: Ограниченная защищённая переменная окружения (GCONV_PATH) успешно перезаписывается в системной памяти, и выводится предупреждение красным цветом [FATAL] ENVIRONMENT CORRUPTION DETECTED!.

🧹 Очистка (Clean up)

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

rm -rf bin/
Скачать инструмент