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

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

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

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

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

Категории

Все категории
Loading categories
dirtypipe — DirtyPipe (CVE-2022-0847) exploit written in Rust | Kitploit
Инструменты/GitHubGitHub/morgenm/dirtypipe
Privilege EscalationExploitationShellcodeLearning & EducationPayload DevelopmentBinary Exploitation
GitHubmorgenm/dirtypipe

dirtypipe

DirtyPipe (CVE-2022-0847) exploit written in Rust

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

Популярное

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

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

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

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

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

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Этот код предназначен только для образовательных и исследовательских целей.

Не используйте его на системах, которыми вы не владеете или на тестирование которых у вас нет разрешения.

Автор не несет ответственности за любое неправомерное использование, ущерб или юридические последствия, возникшие в результате использования этого кода.

DirtyPipe (CVE-2022-0847)

Смотрите разбор этой уязвимости в моем блоге. Это реализация эксплойта DirtyPipe (CVE-2022-0847), написанная мной на Rust на основе разбора Макса Келлермана. Программа позволяет перезаписывать определенные файлы или перезаписывать SUID-бинарник для повышения привилегий.

Возможности

  • Проверить, уязвима ли версия ядра
  • Перезаписать любой файл данными из указанного входного файла
  • Перезаписать SUID-бинарник (по умолчанию passwd) для получения root
  • Создать резервные копии целевых файлов в /tmp перед эксплуатацией

Использование

Перезапись файла

Сначала создайте входной файл. Данные в этом файле будут использованы для перезаписи целевого. Затем просто выполните:

root@kitploit:~
./dirtypipe_exploit -m overwrite -i input.txt -o target_file -b offset

Где offset — это смещение в байтах, с которого начать запись в файл. Смещение не должно находиться на границе страницы, и запись не может пересекать границу страницы из-за природы уязвимости.

SUID для повышения привилегий

Режим SUID заменяет указанный SUID-бинарник заданным ELF-пейлоадом. ELF-файл suid предоставлен в релизе этого репозитория и будет использован эксплойтом, если не указано иное в параметрах. Кроме того, вы можете сгенерировать его самостоятельно или изменить пейлоад с помощью скрипта gen_suid.py (pwntools) и файла loader.asm. Этот вариант будет рассмотрен ниже. Эксплойт по умолчанию устанавливает цель /usr/bin/passwd.

Выполните следующее, чтобы заменить /usr/bin/passwd на предоставленный пейлоад (запускает shell от root):

root@kitploit:~
./dirtypipe_exploit -m suid

Затем выполните /usr/bin/passwd, чтобы получить root-shell.

Чтобы сгенерировать собственный пейлоад, выполните следующие шаги:

  1. Запустите скрипт gen_suid.py, который использует pwntools для генерации пейлоада (shellcode.bin), запускающего root-shell. Измените его по своему усмотрению.
  2. Создайте ELF-бинарник пейлоада, выполнив nasm -f bin -o [ИМЯ_ПЕЙЛОАДА] loader.asm. Это превратит файл shellcode.bin в исполняемый файл.
  3. Запустите ./dirtypipe_exploit -m suid -i [ИМЯ_ПЕЙЛОАДА] -o [ЦЕЛЕВОЙ_ФАЙЛ].
  4. Выполните целевой файл для получения root.

Спасибо автору STALKR's BLOG за 64-битный крошечный ELF-заголовок (здесь).

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