Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

عرض المستودع
منذ 2س 2دلم تتم المراجعة بعد

GhostLock لـ Humane AI Pin

GhostLock لـ Humane AI Pin هو إثبات مفهوم مفتوح المصدر لجذر مقيّد بنطاق الإقلاع (boot-scoped root) لبناء برنامج ثابت واحد محدد من نسخة البيع بالتجزئة. يستغل CVE-2026-43499، وهو ثغرة use-after-free في rtmutex بنواة Linux، من خلال صدفة 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
الملف التعريفيhumane-aipin-45.20
Kernel Image SHA-256d4f4e0deb20871fce207f1f095ba1934162081c2f10afaccbb2e6a1e938719fb
إعادة تشغيل المرشّح للإصدارفي انتظار إعادة التشغيل النهائية النظيفة عند الإقلاع

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

قبل أن تبدأ

تحتاج إلى:

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

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

ثبّت NDK المثبّتة (pinned) باستخدام أدوات سطر أوامر 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 يطلب بشكل مستقل من وسيط الجذر المقيّد بنطاق الإقلاع تشغيل 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. تستبدل مؤشرات بيانات الاعتماد (credential pointers) لعملية الاستغلال بـ init_cred؛
  2. تمسح فرض SELinux وتعيد تحميل السياسة الحالية؛
  3. تكتب عميل أوامر صغير إلى /data/local/tmp/su؛
  4. تبدأ وسيط Unix-socket يقبل فقط الأقران الموثّقين من النواة بمعرّف UID 0 أو صدفة Android بمعرّف UID 2000.

لا تكتب قسمًا (partition)، ولا تفتح الـ bootloader، ولا تثبّت وحدة (module)، ولا تعدّل verified boot، ولا تنشئ استمرارية عبر إعادة التشغيل، ولا تتصل بخدمة شبكة، ولا ترفع قياسات (telemetry).

شغّل أمر جذر من صدفة ADB أخرى باستخدام:

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

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

يسمح المشغّل بمحاولة واحدة لكل إقلاع نواة. إذا أبلغ عن فشل، أو مهلة، أو انقطاع، أو حالة غير مؤكدة، أو panic، أو إعادة تشغيل، فلا تعد المحاولة على ذلك الإقلاع. أعد التشغيل أولًا ثم شغّل check مرة أخرى.

إذا كان ADB لا يزال يستجيب:

root@kitploit:~
adb -s YOUR_SERIAL reboot

إذا كان الـ Pin معلّقًا تعليقًا قويًا وADB لا يستجيب، افصل كل الطاقة الخارجية. لا يمتلك الجهاز المُختبَر من نسخة البيع بالتجزئة إعادة تشغيل قسرية موثوقة يمكن للمستخدم الوصول إليها، لذا قد تتطلب الاستعادة انتظار نفاد البطارية قبل إعادة توصيل الطاقة.

بعد إعادة تشغيل عادية، يختفي الجذر. قد تبقى الملفات المجهّزة خاملة تحت /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. تحتوي على رقم تسلسلي للجهاز، وهوية الإقلاع، وعناوين النواة، وقياسات الاستغلال. لا تُرفق أبدًا ذلك الدليل أو bugreport خام من Android في مشكلة (issue).

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

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

راجع ملف JSON قبل مشاركته. يحذف المُنقّح (redactor) الأرقام التسلسلية، ومعرّفات الإقلاع، ومسارات المضيف، ومخرجات الأوامر الخام، وعناوين النواة. راجع 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. يجب التحقق من أصول الإصدار مقابل المجاميع الاختبارية (checksums) المرفقة بإصدار GitHub المقابل.

كيف يعمل

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

يحتوي الملف التعريفي للهدف فقط على الإزاحات (offsets) والرموز (symbols) التي يستهلكها هذا المسار. لا يتم توزيع Kernel Image وجدول الرموز الكامل. يصف TECHNICAL.md المراحل وبوابات الفشل الآمن (fail-closed gates).

حالة المشروع

هذا إصدار بحثي تجريبي لجهاز استهلاكي غير مدعوم. ليس أداة تجذير (rooting) عامة لنظام Android وليس تابعًا لـ Humane أو HP أو CosmOS.

الكود مرخّص بموجب Apache-2.0. يبدأ التنفيذ من عمل CyberMeowfia المرخّص بموجب Apache-2.0 من NebuSec؛ ويُوثَّق نقل AI Pin وأدوات الإصدار في PROVENANCE.md وTHIRD_PARTY_NOTICES.md.

يرجى قراءة SECURITY.md قبل الإبلاغ عن ثغرة أمنية أو مخاوف إساءة الاستخدام.

تنزيل الأداة