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

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

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

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

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

Категории

Все категории
Loading categories
badspin — Bad Spin: Android Binder - эксплуатация повышения привилегий (CVE-2022-20421) | Kitploit
Инструменты/GitHubGitHub/0xkol/badspin
Безопасность AndroidПовышение привилегийАнализ уязвимостейЭксплуатацияЭксплуатация Бинарных Файлов
GitHub0xkol/badspin

badspin

Bad Spin: Android Binder - эксплуатация повышения привилегий (CVE-2022-20421)

Репозиторий
28950133 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Bad Spin: Android Binder LPE

Автор: Moshe Kol

Эксплойт повышения привилегий из приложения unstrusted_app для уязвимости Android Binder (CVE-2022-20421). Уязвимость исправлена в бюллетене безопасности Android за октябрь 2022 года. Эксплойт работает на устройствах с версиями ядра 5.4.x и 5.10.x и предоставляет полные примитивы чтения/записи ядра. Для Google Pixel 6 он также получает полный root и обход SELinux.

Полную статью можно найти здесь.

Запуск из оболочки

  1. Скомпилируйте библиотеку libbadspin.so, выполнив make push в каталоге src/. Это также отправит библиотеку в /data/local/tmp.
  2. Запустите adb shell.
  3. Запустите LD_PRELOAD=/data/local/tmp/libbadspin.so sleep 1. Это загрузит библиотеку и запустит эксплойт.

Запуск из демо-приложения

  1. Скомпилируйте libbadspin.so, выполнив make push в каталоге src/. Это скопирует библиотеку в каталог assets для демо-приложения Android.
  2. Скомпилируйте демо-приложение Android в каталоге app/. (Возможно, вам понадобится Android Studio.)
  3. Запустите приложение и нажмите кнопку «Exploit».
  4. Просматривайте логи с помощью: adb logcat -s BADSPIN

Параметры компиляции

Вы можете передать следующие переменные в make:

  • VERBOSE=1 для повышения подробности вывода.
  • TEST_VULN=1 для проверки уязвимости без запуска эксплойта.

Протестированные устройства

$ make list
0: Samsung Galaxy S22, Android 12 (6/2022), kernel 5.10.81
1: Samsung Galaxy S21 Ultra, Android 12 (3/2022), kernel 5.4.129
2: Google Pixel 6, Android 12 (5/2022), kernel 5.10.66
3: Google Pixel 6, Android 13 (9/2022), kernel 5.10.107

Поддержка нового устройства

Адаптировать эксплойт для нового устройства несложно.

  1. Убедитесь, что ваше новое устройство работает на версии ядра 5.4.x или 5.10.x, и что уровень исправлений безопасности Android ниже октября 2022 года.

  2. Добавьте свойства вашего устройства в dev_config.h.

  3. Укажите два указателя на функции:

    • kimg_to_lm(): Преобразует виртуальный указатель образа ядра в линейное отображение.
    • find_kbase(): Поиск базового адреса ядра из утекшего указателя anon_pipe_buf_ops.

    Вы можете использовать уже предоставленные функции для этого. (Если ваш производитель не Samsung и вы не уверены, используйте те же функции, что и для Pixel 6.)

  4. Скомпилируйте и запустите.

Если у вас всё работает, пожалуйста, отправьте pull request.

Известные проблемы

  • Телефон может вылететь при неудачных попытках.
  • Эксплойт нестабилен в первые несколько минут после загрузки.
  • Работает только на версиях ядра 5.4.x и 5.10.x.
  • Обеспечивает чтение/запись ядра только на устройствах, не являющихся Pixel.
Скачать инструмент