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

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

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

Репозиторий
1521001 месяц назадЕщё не проверено

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
ABI Androidarm64-v8a
ID профиляhumane-aipin-45.20-nov4
Проект сборкиhumane-aipin-45.20
SHA-256 образа ядраd4f4e0deb20871fce207f1f095ba1934162081c2f10afaccbb2e6a1e938719fb
Повтор релиз-кандидатаОжидается финальный повтор с чистой загрузки

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

Совместимость определяется версионированным манифестом в profiles/. Хостовый лаунчер, запускающий скрипт, сгенерированная нативная предварительная проверка, геометрия аллокатора, минимальный набор символов и собранная полезная нагрузка привязаны к одному и тому же манифесту. Добавление слота в манифест по-прежнему требует физического повтора с чистой загрузки для точного образа ядра из профиля.

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

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

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

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

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

sdkmanager "ndk;28.2.13676358"

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

$ adb devices
List of devices attached
YOUR_SERIAL    device

Запуск

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

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 и запускает эксплойт только после второй полной предварительной проверки. Лаунчер по умолчанию требует не менее 20% заряда батареи и внешнего питания, затем раннер повторно проверяет оба условия непосредственно перед тем, как использовать единственную попытку загрузки. --min-battery 0 отключает оба ограничения по питанию и предназначен только для случаев, когда стабильное питание подтверждено независимо.

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

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

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 или Android shell UID 2000.

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

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

adb -s YOUR_SERIAL shell '/data/local/tmp/su -c id'

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

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

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

adb -s YOUR_SERIAL reboot

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

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

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'
adb -s YOUR_SERIAL shell 'rm -rf /data/local/tmp/.ghostlock-aipin-attempt.*.lock'

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

Приватные журналы и отчёты об ошибках

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

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

./ghostlock report /private/tmp/ghostlock-aipin-TIMESTAMP --output ghostlock-report.json

Проверьте JSON перед тем, как делиться им. Редактор опускает серийные номера, идентификаторы загрузки, пути хоста, необработанный вывод команд и адреса ядра. Он включает фиксированные монотонные длительности для предполётной проверки, эксплуатации, верификации и общего запуска, чтобы можно было сравнивать сбои без передачи данных об устройстве. См. PRIVACY.md.

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

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

./ghostlock build

Если существует более одного профиля, подкреплённого доказательствами, выберите один явно:

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