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

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

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

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

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

Категории

Все категории
Loading categories
mali-pagecache-root — Набор инструментов для получения root на TCL 50C721 (RTD1319 / Mali-G31) — автономная цепочка эксплуатации CVE-2022-22706 | Kitploit
Инструменты/GitLabGitLab/c4psu13/mali-pagecache-root
Безопасность AndroidБезопасность встроенных системПовышение привилегийМеханизмы персистентностиЭксплуатацияШелл-кодПост-эксплуатацияБезопасность оборудования и IoTРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitLab
218 ч 37 мин назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
c4psu13/mali-pagecache-root

mali-pagecache-root

Набор инструментов для получения root на TCL 50C721 (RTD1319 / Mali-G31) — автономная цепочка эксплуатации CVE-2022-22706

Репозиторий

TCL 50C721 rooting toolkit

Полная цепочка эксплойта для получения root и набор инструментов для работы после получения root для tethered root, SELinux Permissive, блокировки рекламы, удаления предустановленного ПО и автоматического резервного копирования на одной прошивке TCL Android TV. Это исследование и инструментарий, специфичные для конкретной прошивки, а не универсальный инструмент для получения root на TCL и не поддерживаемый установщик.

Проверенная область применения

ПунктЗафиксированный тестовый экземпляр
ТелевизорTCL QLED 50C721 / BeyondTV6
ПрошивкаV8-R51MT02-LF1V903, сборка AR10
Android / ядроAndroid 11 / 4.14.198+
SoC / GPURealtek RTD1319 / Mali-G31 (Bifrost, kbase r28p0)
Userspace32-битный ARMv7
Заявленный патч безопасности2024-03-05
Исторический результатADB shell с uid=0; SELinux Permissive

Зафиксированный успешный результат есть только для этой комбинации модели и прошивки. Точная идентификация SoC и ревизия драйвера Mali в исходных записях противоречивы; см. ограничения совместимости. При подготовке этого исходного релиза свежий тест получения root не проводился.

Что это делает

Цепочка эксплойта (auto_root)

Автономный бинарник для получения root (auto_root.c) достигает uid=0 из непривилегированного контекста приложения менее чем за 2 секунды:

  1. Фаза 1 — CVE-2022-22706 (запись в page cache через Mali GPU): импортирует MAP_SHARED-отображение страницы __cxa_atexit из libc.so как пользовательский буфер GPU через KBASE_IOCTL_MEM_IMPORT. Использует mremap(MREMAP_FIXED) для замены файлового отображения. Записывает 112-байтный Thumb-2 шелл-код поверх __cxa_atexit в page cache (файл на диске не изменяется — защищён dm-verity).

  2. Фаза 3 — Естественный триггер: каждый новый C++ процесс вызывает __cxa_atexit() во время инициализации CRT, исполняя шелл-код. Привилегированный домен (audioserver, rtkm_scene) отображает физическую страницу 0x1DE7000 через /dev/rtkmem и записывает selinux_state.enforcing = 0.

  3. Фаза 4a — Прямое изменение учётных данных: при SELinux Permissive обходит связный список task_struct ядра через чтение физической памяти посредством /dev/rtkmem. Находит наш процесс по совпадению comm[], перезаписывает структуру cred значениями uid=0 и полными capabilities из init_cred. Очищает TIF_SECCOMP, чтобы обойти BPF-фильтр seccomp в zygote.

  4. Фаза 4b — Усиление системы: bind-монтирует hosts-файл для блокировки рекламы, удаляет правила iptables, блокирующие IP-адреса телеметрии, отключает 28 пакетов предустановленного ПО, предоставляет APP_AUTO_START для сохранения после перезагрузки, деактивирует шелл-код, возвращает SELinux в режим Enforcing.

Отдельные этапы

Две отдельные программы (root_cve22706.c, libc_rtkmem_patch2.c) реализуют тот же примитив записи в page cache через CVE-2022-22706 в виде отдельных этапов tethered root, полезных для ручного получения root через ADB и понимания примитива эксплойта.

Скрипты

  • scripts/root.sh — автоматизация ADB: подключается к телевизору, запускает оба отдельных этапа, проверяет состояние root и SELinux.
  • scripts/post_root.sh — хук после получения root, вызываемый auto_root после усиления системы. Создаёт полные резервные копии устройства: установленные вручную APK, данные приложений, конфигурацию WiFi, все настройки, списки пакетов. Автоматически оставляет только 5 последних резервных копий.

Что включено

  • Техническое резюме: цепочка, побочные эффекты и пределы доказательств.
  • Исходный код и заметки по сборке: автономный root и два отдельных этапа; готовых исполняемых файлов нет.
  • Ограничения совместимости: что необходимо установить, прежде чем рассматривать другое устройство.
  • Заметки по восстановлению: историческое восстановление через USB для конкретной модели и предупреждения.
  • Фрагмент исходного кода ядра: вспомогательный анализ, не зависимость для сборки.

APK или воспроизводимый проект APK-приложения не включён; здесь нет релиза с установкой в один клик и автоматической загрузкой. Автономный бинарник для получения root предназначен для вызова из нативного кода APK, но обёртка APK не входит в этот релиз.

Быстрый старт

# Build (requires Android NDK)
cd exploit && make

# Push to TV
adb connect <TV_IP>:5555
adb push bin/auto_root /data/local/tmp/
adb push bin/root_cve22706 /data/local/tmp/
adb push bin/libc_rtkmem_patch2 /data/local/tmp/

# Option A: Run the autonomous chain (includes hardening + backup)
adb shell /data/local/tmp/auto_root

# Option B: Manual two-stage root via script
bash scripts/root.sh <TV_IP>

Перед рассмотрением использования

Используйте только на оборудовании, которым вы владеете или которое вам явно разрешено проверять. Сначала изучите все файлы C и каждое предположение, специфичное для прошивки. Сохраните данные и независимо получите заведомо подходящий образ восстановления и процедуру. Не открывайте ADB для недоверенной сети. Перезагрузка удаляет энергозависимые патчи (page-cache, bind mounts, iptables), но отключения пакетов и APP_AUTO_START сохраняются.

Не прошивайте пропатченные образы boot или vbmeta на основе этого проекта. Две исторические попытки привели к bootloop; ни метод постоянного root, ни универсальная гарантия восстановления не были установлены.

Лицензия

MIT для всего оригинального кода. Фрагмент ядра (kernel/mem.c) сохраняет свою лицензию GPL-2.0 и уведомления об авторских правах. См. LICENSE и provenance для указания авторства и ссылок на исходные материалы.

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