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

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

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

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

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

Категории

Все категории
Loading categories
humane-aipin-ghostlock — Защищённый PoC для получения root-доступа на Humane AI Pin, работающий только на источнике, для CVE-2026-43499 | Kitploit
Инструменты/GitHubGitHub/theandersmadsen/humane-aipin-ghostlock
Безопасность AndroidПовышение привилегийАнализ уязвимостейЭксплуатацияПост-эксплуатацияМобильная безопасностьСтатьи и ИсследованияРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHubtheandersmadsen/humane-aipin-ghostlock

humane-aipin-ghostlock

Защищённый PoC для получения root-доступа на Humane AI Pin, работающий только на источнике, для CVE-2026-43499

Репозиторий
13 ч 51 мин назадЕщё не проверено

GhostLock для Humane AI Pin

GhostLock для Humane AI Pin — это открытое доказательство концепции root-доступа в рамках одной загрузки для одной конкретной розничной сборки прошивки. Он использует CVE-2026-43499, use-after-free в Linux rtmutex, из обычной авторизованной оболочки ADB.

Запускающий скрипт намеренно узок. Он проверяет полный отпечаток прошивки, сборку ядра, слот, UID оболочки и состояние SELinux, прежде чем что-либо подготавливать. Несовпадение останавливает запуск.

[!WARNING] Это эксплойт ядра. Он может вызвать панику, перезагрузку или жёсткое зависание Pin. Жёсткое зависание может потребовать отключения устройства и ожидания разрядки батареи. Используйте его только на Pin, которым вы владеете и который можете позволить себе восстановить. Root исчезает при перезагрузке.

Проверенная цель

СвойствоДопустимое значение
УстройствоHumane AI Pin, розничный экземпляр
Прошивкаqti/atoll/atoll:12/SKQ1.230401.001/101.000470.45.20:user/release-keys
Android12
Ядро4.14.190-perf, собрано Mon Nov 4 18:37:23 PST 2024
Слоттолько _b
Архитектураaarch64
Профильhumane-aipin-45.20
SHA-256 образа ядраd4f4e0deb20871fce207f1f095ba1934162081c2f10afaccbb2e6a1e938719fb
Воспроизведение релиз-кандидатаОжидается финальное воспроизведение с чистой загрузки

Слот _a, developer-прошивка, близкие версии прошивки и другие продукты Qualcomm atoll отклоняются. См. детали совместимости. Совпадающего отпечатка Android недостаточно для обхода этой проверки: слоты A/B могут содержать разные загрузочные образы и раскладки ядра при одной и той же идентичности userspace-сборки.

Перед началом

Вам потребуется:

  • принадлежащий вам Pin, уже авторизованный для ADB;
  • стабильное USB-соединение для передачи данных и внешнее питание;
  • adb, Python 3.10 или новее, make и компилятор C;
  • Android NDK 28.2.13676358 (r28c) для сборки полезной нагрузки.

Этот репозиторий не содержит приватного ключа ADB, образа прошивки, загрузочного образа, bugreport, лога устройства или предсобранной полезной нагрузки.

Установите закреплённый NDK с помощью инструментов командной строки Android:

root@kitploit:~
sdkmanager "ndk;28.2.13676358"

Убедитесь, что ADB уже видит Pin как device:

root@kitploit:~
$ adb devices
List of devices attached
YOUR_SERIAL    device

Запуск

Клонируйте репозиторий, затем используйте один и тот же явный серийный номер для каждой команды:

root@kitploit:~
git clone https://github.com/TheAndersMadsen/humane-aipin-ghostlock.git
cd humane-aipin-ghostlock

./ghostlock check --serial YOUR_SERIAL
./ghostlock run --serial YOUR_SERIAL
./ghostlock verify --serial YOUR_SERIAL

check работает только на чтение. Он выводит обнаруженную прошивку, ядро, слот, границу оболочки, состояние SELinux, батарею, источник питания и ревизию NDK.

run выполняет одну защищённую попытку. Он просит вас ввести ROOT YOUR_SERIAL, собирает из исходников, проверяет хеш полезной нагрузки после её отправки, снимает bugreport текущей загрузки для определения KASLR, по умолчанию удаляет этот сырой bugreport и запускает эксплойт только после второй полной предполётной проверки.

verify независимо запрашивает у брокера root-доступа в рамках загрузки выполнение id и getenforce.

Успешная проверка выглядит так:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0
SELinux: Permissive
Boot epoch: <redacted>; uptime: <redacted>s

Точный контекст SELinux зависит от ядра и прошивки. Условием приёмки является UID/GID 0 через брокера при SELinux в режиме permissive в рамках той же загрузки.

Что изменяет PoC

Для текущей загрузки полезная нагрузка:

  1. заменяет указатели учётных данных процесса эксплойта на init_cred;
  2. снимает режим enforcing SELinux и перезагружает текущую политику;
  3. записывает небольшой командный клиент в /data/local/tmp/su;
  4. запускает брокер на Unix-сокете, который принимает только аутентифицированные ядром узлы с UID 0 или UID 2000 оболочки Android.

Он не записывает раздел, не разблокирует загрузчик, не устанавливает модуль, не изменяет verified boot, не создаёт персистентность после перезагрузки, не связывается с сетевым сервисом и не загружает телеметрию.

Запустите root-команду из другой оболочки ADB с помощью:

root@kitploit:~
adb -s YOUR_SERIAL shell '/data/local/tmp/su -c id'

Сбой и восстановление

Запускающий скрипт допускает одну попытку на загрузку ядра. Если он сообщает о промахе, тайм-ауте, отключении, неопределённом состоянии, панике или перезагрузке, не повторяйте попытку в рамках этой загрузки. Сначала перезагрузите устройство и снова запустите check.

Если ADB всё ещё отвечает:

root@kitploit:~
adb -s YOUR_SERIAL reboot

Если Pin жёстко завис и ADB не отвечает, отключите всё внешнее питание. Проверенное розничное оборудование не имеет надёжного доступного пользователю принудительного перезапуска, поэтому для восстановления может потребоваться дождаться разрядки батареи, прежде чем снова подключить питание.

После обычной перезагрузки root исчезает. Подготовленные файлы могут остаться неактивными в /data/local/tmp; чистая оболочка может их удалить:

root@kitploit:~
adb -s YOUR_SERIAL shell +  'rm -f /data/local/tmp/ghostlock-aipin.so /data/local/tmp/su +         /data/local/tmp/.ghostlock-su.sock +         /data/local/tmp/.ghostlock-aipin-attempt'

Прочитайте SAFETY.md перед использованием PoC и TROUBLESHOOTING.md перед повторной попыткой после неудачного запуска.

Приватные логи и отчёты о проблемах

Записи о запусках сохраняются во временный каталог с правами 0700. Они содержат серийный номер устройства, идентичность загрузки, адреса ядра и телеметрию эксплойта. Никогда не прикрепляйте этот каталог или сырой Android bugreport к issue.

Вместо этого создайте сокращённый отчёт:

root@kitploit:~
./ghostlock report /private/tmp/ghostlock-aipin-TIMESTAMP +  --output ghostlock-report.json

Проверьте JSON перед тем, как делиться им. Редактор опускает серийные номера, идентификаторы загрузки, пути хоста, сырой вывод команд и адреса ядра. См. PRIVACY.md.

Сборка и тестирование

Соберите полезную нагрузку для Android:

root@kitploit:~
./ghostlock build

Запустите все хостовые тесты и две независимые сборки:

root@kitploit:~
./scripts/verify-release.sh

Полезная нагрузка записывается в:

root@kitploit:~
source/build/humane-aipin-45.20/bin/preload.so

Продукты сборки игнорируются Git. Релизные артефакты следует проверять по контрольным суммам, прикреплённым к соответствующему релизу GitHub.

Как это работает

Эксплойт использует висящий в стеке rt_mutex_waiter из CVE, чтобы направить контролируемое обновление красно-чёрного дерева. KernelSnitch сначала утекает адрес mm_struct через тайминг futex-хеша. Затем шлюз perf-event с тем же PFN доказывает, что освобождённая slab-страница порядка 3 была возвращена контролируемыми данными буфера сокета, прежде чем может продолжиться триггер повреждения. База KASLR, привязанная к загрузке, выводится как минимум из двух согласующихся WARN-якорей текущей загрузки. Полученный маршрут чтения/записи разрешает текущую задачу и выполняет изменение учётных данных в рамках загрузки.

Целевой профиль содержит только смещения и символы, используемые этим маршрутом. Образ ядра и полная таблица символов не распространяются. TECHNICAL.md описывает этапы и отказобезопасные шлюзы.

Статус проекта

Это экспериментальный исследовательский релиз для неподдерживаемого потребительского устройства. Это не универсальный инструмент получения root на Android, и он не связан с Humane, HP или CosmOS.

Код лицензирован под Apache-2.0. Реализация основана на работе CyberMeowfia от NebuSec под Apache-2.0; порт для AI Pin и релизный инструментарий описаны в PROVENANCE.md и THIRD_PARTY_NOTICES.md.

Пожалуйста, прочитайте SECURITY.md перед сообщением об уязвимости или проблеме злоупотребления.

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