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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2023-6241-Pixel7_Adaptation — Адаптация CVE-2023-6241 для Google Pixel 7 с Google Pixel 8, взятая из securitylab/SecurityExploits/Android/Mali/CVE_2023_6241 | Kitploit
Инструменты/GitHubGitHub/ilgobbo00/cve-2023-6241-pixel7_adaptation
Безопасность AndroidАнализ уязвимостейЭксплуатацияОбратная инженерияОтладчикиМобильная безопасностьАнализ ПрошивокЭксплуатация Бинарных Файлов

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
ilgobbo00/cve-2023-6241-pixel7_adaptation

CVE-2023-6241-Pixel7_Adaptation

Адаптация CVE-2023-6241 для Google Pixel 7 с Google Pixel 8, взятая из securitylab/SecurityExploits/Android/Mali/CVE_2023_6241

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

CVE-2023-6241 для Google Pixel 7

Этот репозиторий покажет, как адаптировать эксплойт, опубликованный securitylab в его GitHub-репозитории, работающий для Google Pixel 8, под Google Pixel 7.

Перед началом модификации эксплойта предположение о том, что исходный эксплойт также работает для устройств Google Pixel 7 (после необходимых исправлений), было сделано на основе статьи, связанной с CVE-2023-6241. Это было необходимо, поскольку два устройства кажутся разными (с точки зрения аппаратного обеспечения) (сравнение).

Инструменты

Здесь перечислены инструменты, использованные для анализа и извлечения информации или файлов.

  • Ghidra
  • imjtool (для замены abootimg, так как он, похоже, не работал с новыми образами Android)
  • vmlinux-to-elf
  • Онлайн-ассемблер и дизассемблер
  • Android flash tool
  • Android NDK и компилятор aarch64-linux-android34-clang

Рабочий процесс

Ниже описано, как была достигнута цель, начиная с самого начала.

  1. Включите параметры разработчика на устройстве.

  2. Прошейте устройство с правильным патчем безопасности (в данном случае одним из UP1A.231105.003, Nov 2023 и UQ1A.240205.002, Feb 2024, оба включены), желательно используя Google Chrome и Android flash tool, нажав «Flash» в нужной записи на странице Factory Images for Nexus and Pixel Devices.

    Примечание 1: использование Android flash tool для прошивки устройств может помочь решить проблемы, связанные с версией загрузчика. Эти проблемы могут возникнуть во время операции прошивки с помощью скрипта, предоставляемого вместе с сжатым файлом, загружаемым по ссылке «Link» на странице Factory Images for Nexus and Pixel Devices.

    Примечание 2: перед прошивкой устройства в Android flash tool отметьте «Force Flash all partition», чтобы получить тот же результат, что и при использовании скрипта.

  3. Загрузите желаемый образ Android, нажав «Link», и извлеките файл boot.img из сжатого файла «image-panther.zip», находящегося внутри основного сжатого файла «panther-<release>-factory-<первые 8 символов SHA-256>.zip».

  4. Выполните ./imjtool.ELF64 boot.img extract. Будет создана новая папка «extracted» с двумя файлами внутри. imjtool-output

  5. Выполните vmlinux-to-elf ./extracted/kernel.decompressed <filename>.elf (для дальнейшего использования <filename>.elf будет Pixel7-kernel.elf). Будет создан новый файл с указанным именем.

Дополнительную информацию можно получить из статьи GitHub и репозитория GitHub, упомянутых в начале.

Скачать инструмент
vmlinux-to-elf-output
  • Откройте файл «Pixel7-kernel.elf» в Ghidra. Нет необходимости выполнять автоматический анализ, так как это занимает много времени, а информацию всё равно можно извлечь.

  • Откройте окно «Symbol table» и найдите интересующие поля (в данном случае avc_den|sel_read_enforce$|init_cred|^commit_creds$). Результат должен выглядеть примерно так: SymbolTable

  • Перейдите по адресу расположения и получите «Imagebase Offset» для всех найденных полей. imagebase-offset

  • Установите все смещения в эксплойте в соответствии с найденными значениями.
    set-offset.png

  • Вычислите значения ADD_COMMIT_2311 и ADD_INIT_2311, найдя шестнадцатеричное значение следующих операций: соответственно add x8, x8, #0xXXX и add x0, x0, #0xYYY с помощью Онлайн-ассемблера и дизассемблера. Чтобы найти значения XXX и YYY, достаточно скопировать младшие 12 бит из COMMIT_CREDS_2311 и ADD_INIT_2311 соответственно (например, если ADD_COMMIT_2311 равно 0x17f0c8, то шестнадцатеричный код add x8, x8, #0x0c8 — 0x91032108).
    Обратите внимание, что значения представлены в формате big-endian, поэтому полученные байты необходимо перевернуть.

  • Скопируйте GLES_mali.so из /vendor/lib64/egl/libGLES_mali.so (т.е. adb pull /vendor/lib64/egl/libGLES_mali.so) и скомпилируйте всё командой /home/gobbo/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android34-clang -g -DSHELL -DCL_TARGET_OPENCL_VERSION=300 -I. -L. mali_jit_csf.c mem_read_write.c mempool_utils.c -lGLES_mali -o mali_jit_csf.
    Примечание: для согласованности временных меток в эксплойте использовалась версия библиотеки OpenCL, доступная непосредственно перед патчем безопасности, исправляющим уязвимость (т.е. версия 2023.04.17).

  • Загрузите и выполните эксплойт

    root@kitploit:~
    adb push ./mali_jit_csf /data/local/tmp 
    export LD_LIBRARY_PATH=/vendor/lib64/egl
    ./data/local/tmp/mali_jit_csf