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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-3560 — Повышение привилегий через race condition в polkit | Kitploit
Инструменты/GitHubGitHub/adakoifman/cve-2021-3560
Повышение привилегийАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеRed TeamingЭксплуатация Бинарных Файлов
GitHubadakoifman/cve-2021-3560

CVE-2021-3560

Повышение привилегий через race condition в polkit

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

Популярное

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

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

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

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

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

CVE-2021-3560

Повышение привилегий через race condition в polkit.

Описание уязвимости

CVE-2021-3560 — это race condition в polkit, который позволяет неавторизованному локальному пользователю получить права root. Уязвимость существует в том, как polkit обрабатывает ошибки D-Bus при обрыве соединения.

Определение тайминга

Для определения оптимального тайминга выполните команду:

root@kitploit:~
time dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:testuser string:"Test User" int32:1

В коде используется диапазон от половины real времени ± 0.003.

Почему важен тайминг?

  • Если убить процесс слишком рано — запрос не успеет отправиться

  • Если убить слишком поздно — polkit успеет проверить авторизацию и отклонит

  • Нужно попасть в "золотое окно", когда polkit уже получил запрос, но еще не проверил авторизацию

Как работает эксплойт?

  • Отправляется D-Bus запрос на создание пользователя с параметром int32:1 (добавление в группу wheel)

  • Запрос обрывается на середине (race condition)

  • Polkit не успевает завершить проверку авторизации

  • D-Bus не может найти отправителя

  • Polkit неправильно обрабатывает ошибку и присваивает UID = 0 (root)

  • Пользователь создается без аутентификации

  • Отправляется запрос на установку пароля для нового пользователя (с тем же таймингом)

Статистика успеха

  • Пользователь может создаться с 1-2 попыток

  • Для присвоения пароля требуется больше попыток

  • 100 итераций дают высокую вероятность успеха

Если эксплойт не сработает, попробуйте:

  • Расширить TIMING_RANGE в коде

  • Запустить скрипт несколько раз

  • Убедиться, что вы в SSH-сессии (не в графической)

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