Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
humane-aipin-ghostlock — PoC محمي ومصدري فقط لاستغلال ثغرة CVE-2026-43499 في جهاز Humane AI Pin | Kitploit
أدوات/GitHubGitHub/theandersmadsen/humane-aipin-ghostlock
أمان أندرويدتصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالما بعد الاستغلالأمن الجوالالأوراق والأبحاثتطوير الحمولاتاستغلال الملفات الثنائية

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHubtheandersmadsen/humane-aipin-ghostlock

humane-aipin-ghostlock

PoC محمي ومصدري فقط لاستغلال ثغرة CVE-2026-43499 في جهاز Humane AI Pin

عرض المستودع
152100منذ شهر واحدلم تتم المراجعة بعد

GhostLock لـ Humane AI Pin

GhostLock لـ Humane AI Pin هو إثبات مفهوم مفتوح المصدر لجذر محدود النطاق بحدود الإقلاع، مخصص لإصدار برنامج ثابت تجاري واحد محدد. يستغل CVE-2026-43499، وهو ثغرة use-after-free في Linux rtmutex، انطلاقًا من صدفة ADB عادية مصرّح بها.

المشغّل محدود النطاق عمدًا. فهو يتحقق من بصمة البرنامج الثابت الكاملة، وبناء النواة، والفتحة (slot)، ومعرّف المستخدم للصدفة (shell UID)، وحالة SELinux قبل أن يجهّز أي شيء. أي عدم تطابق يوقف التشغيل.

[!WARNING] هذا استغلال للنواة. قد يتسبب في ذعر (panic) أو إعادة تشغيل أو تعليق قاسٍ للـ Pin. قد يتطلب التعليق القاسي فصل الجهاز وانتظار نفاد البطارية. استخدمه فقط على Pin تملكه ويمكنك تحمّل استعادته. يختفي الجذر عند إعادة التشغيل.

الهدف المُختبَر

الخاصيةالقيمة المقبولة
الجهاز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
معرّف الملف التعريفيhumane-aipin-45.20-nov4
مشروع البناءhumane-aipin-45.20
SHA-256 لصورة النواةd4f4e0deb20871fce207f1f095ba1934162081c2f10afaccbb2e6a1e938719fb
إعادة تشغيل المرشح للإصدارقيد الانتظار لإعادة التشغيل النهائية على إقلاع نظيف

يُرفض كل من الفتحة _a، والبرنامج الثابت الخاص بالمطورين، وإصدارات البرنامج الثابت القريبة، ومنتجات Qualcomm atoll الأخرى. راجع تفاصيل التوافق. بصمة Android مطابقة لا تكفي لتجاوز هذا الفحص: يمكن أن تحمل فتحات A/B صور إقلاع وتخطيطات نواة مختلفة تحت نفس هوية بناء مساحة المستخدم.

يُعرَّف التوافق بواسطة بيان (manifest) مُصدَّر بإصدار تحت profiles/. يرتبط مشغّل المضيف، والمشغّل، والفحص المسبق الأصلي المُولَّد، وهندسة المخصص (allocator)، والرموز الدنيا، والحمل (payload) المبني بذلك البيان نفسه. لا تزال إضافة فتحة إلى بيان تتطلب إعادة تشغيل مادية على إقلاع نظيف لصورة النواة المُعرَّفة بدقة.

قبل أن تبدأ

تحتاج إلى:

  • Pin مملوك للمستخدم ومصرّح له مسبقًا بـ ADB؛
  • اتصال USB بيانات مستقر وطاقة خارجية؛
  • adb، وPython 3.10 أو أحدث، وmake، ومترجم C؛
  • Android NDK 28.2.13676358 (r28c) لبناء الحمل (payload).

لا يحتوي هذا المستودع على مفتاح ADB خاص، أو صورة برنامج ثابت، أو صورة إقلاع، أو bugreport، أو سجل جهاز، أو حمل (payload) مبني مسبقًا.

ثبّت NDK المثبّت (pinned) باستخدام أدوات سطر الأوامر الخاصة بـ 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، ويبني من المصدر، ويتحقق من تجزئة الحمولة بعد دفعها، ويلتقط تقرير خطأ للإقلاع الحالي لاشتقاق KASLR، ويحذف تقرير الخطأ الخام ذلك افتراضيًا، ويبدأ الاستغلال فقط بعد فحص أولي كامل ثانٍ. يتطلب المشغّل بطارية لا تقل عن 20% وطاقة خارجية افتراضيًا، ثم يعيد المدقّق التحقق من كليهما فورًا قبل أن يستهلك المحاولة الواحدة للإقلاع. يُعطّل --min-battery 0 كلا بوابتي الطاقة، وهو مقصود فقط عندما تم التأكد من استقرار الطاقة بشكل مستقل.

verify يطلب بشكل مستقل من وسيط الجذر المقيّد بالإقلاع تشغيل 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 في الوضع المتساهل على نفس الإقلاع.

ما الذي يغيّره PoC

بالنسبة للإقلاع الحالي، تقوم الحمولة بما يلي:

  1. تستبدل مؤشرات بيانات الاعتماد الخاصة بعملية الاستغلال بـ init_cred؛
  2. تمسح فرض SELinux وتعيد تحميل السياسة الحالية؛
  3. تكتب عميل أوامر صغير إلى /data/local/tmp/su؛
  4. تبدأ وسيط مقبس Unix لا يقبل سوى الأقران الموثّقين من النواة بـ UID 0 أو UID 2000 الخاص بـ Android shell.

لا تكتب قسمًا، ولا تفتح أداة تحميل الإقلاع، ولا تثبّت وحدة، ولا تعدّل الإقلاع الموثّق، ولا تنشئ استمرارية عبر إعادة التشغيل، ولا تتصل بخدمة شبكية، ولا ترفع بيانات قياس عن بُعد.

شغّل أمر root من ADB shell آخر باستخدام:

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

الفشل والاستعادة

يسمح المشغّل بمحاولة واحدة لكل إقلاع للنواة. إذا أبلغ عن إخفاق، أو مهلة، أو انقطاع اتصال، أو حالة غير مؤكدة، أو panic، أو إعادة تشغيل، فلا تُعِد المحاولة على ذلك الإقلاع. أعِد التشغيل أولًا ثم شغّل 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 خامًا في مشكلة.

أنشئ تقريرًا مختصرًا بدلاً من ذلك:

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

راجع JSON قبل مشاركته. يحذف المُنقّح الأرقام التسلسلية ومعرّفات الإقلاع ومسارات المضيف ومخرجات الأوامر الخام وعناوين النواة. ويتضمن مددًا أحادية الاتجاه ثابتة للفحص المسبق والاستغلال والتحقق والتشغيل الكلي حتى يمكن مقارنة حالات الفشل دون مشاركة أدلة الجهاز. راجع PRIVACY.md.

البناء والاختبار

ابنِ حِزمة Android:

./ghostlock build

عندما يوجد أكثر من ملف تعريف مدعوم بالأدلة، اختر واحدًا بشكل صريح:

./ghostlock build --profile humane-aipin-45.20-nov4

شغّل جميع اختبارات المضيف وبناءين مستقلين:

./scripts/verify-release.sh

يُكتب الحمولة إلى:

source/build/humane-aipin-45.20/bin/preload.so

يتم تجاهل منتجات البناء بواسطة Git. يجب التحقق من أصول الإصدار مقابل مجاميع التحقق المرفقة بإصدار GitHub المقابل.

كيف يعمل

يستخدم الاستغلال rt_mutex_waiter المعلّق المقيم على المكدس الخاص بـ CVE لتوجيه تحديث شجرة أحمر-أسود مُتحكَّم به. يقوم KernelSnitch أولاً بتسريب عنوان mm_struct عبر توقيت futex-hash. ثم تُثبت بوابة حدث perf بنفس PFN أن صفحة slab من الرتبة 3 المُحرَّرة قد أُعيد استصلاحها بواسطة بيانات مخزن socket مُتحكَّم بها قبل أن يتمكن مُحفِّز الفساد من المتابعة. تُشتق قاعدة KASLR المرتبطة بالإقلاع من مرساة WARN اثنتين على الأقل متوافقتين للإقلاع الحالي. يحل مسار القراءة/الكتابة الناتج المهمة الحالية وينفّذ تغيير بيانات الاعتماد المحدود بنطاق الإقلاع.

يحتوي ملف تعريف الهدف فقط على الإزاحات والرموز التي يستهلكها هذا المسار. لا يتم توزيع صورة النواة وجدول الرموز الكامل. يصف TECHNICAL.md المراحل وبوابات الفشل المُغلَق.

تنزيل الأداة