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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
hazel-cve-2026-43499 — استغلال جذر مؤقت خاص بالبرامج الثابتة لأجهزة Toshiba/Amazon Fire TV (hazel) باستخدام CVE-2026-43499. ينفّذ ثغرة UAF في futex-PI لمعمارية ARM32، وتسريب عنوان النواة، واستعادة mm_struct، وتصحيح بيانات الاعتماد لتحقيق UID 0 عبر ADB. | Kitploit
أدوات/GitHubGitHub/dorlow/hazel-cve-2026-43499
أمان أندرويدأمان الأنظمة المدمجةتصعيد الامتيازاتأطر الاستغلالالاستغلالما بعد الاستغلالأمان الأجهزة وإنترنت الأشياءتطوير الحمولاتاستغلال الملفات الثنائية

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHubdorlow/hazel-cve-2026-43499

hazel-cve-2026-43499

استغلال جذر مؤقت خاص بالبرامج الثابتة لأجهزة Toshiba/Amazon Fire TV (hazel) باستخدام CVE-2026-43499. ينفّذ ثغرة UAF في futex-PI لمعمارية ARM32، وتسريب عنوان النواة، واستعادة mm_struct، وتصحيح بيانات الاعتماد لتحقيق UID 0 عبر ADB.

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

جذر مؤقت لـ Hazel Fire TV

استغلال جذر مؤقت لمنصة Amazon hazel Fire TV، مبني على CVE-2026-43499. الاستغلال مخصص لبرنامج ثابت ARM32 Linux 4.9 المشترك بين أجهزة تلفاز Hazel من عدة مصنّعين. تغطي الملفات التعريفية حاليًا البرامج الثابتة من PS7657.3645N حتى PS7716.5665N.

التكوين المُختبَر على العتاد حاليًا هو:

الجهازToshiba Fire TV (hazel)
إصدار Fire OSPS7716.5665N
النواةLinux 4.9.113
طراز المنتجAFTHA004 (C350)

[!WARNING] يظل هذا الاستغلال خاصًا بالبرنامج الثابت رغم أنه يدعم إصدارات Hazel متعددة. تُحمَّل عناوين النواة وإزاحات البُنى وإعدادات الاستعادة من ملفات تعريفية صارمة. تم اختبار PS7716.5665N على العتاد؛ أما الملفات التعريفية الأقدم المضمّنة فمبنية على تحليل ثابت للبرنامج الثابت ولا تزال بحاجة إلى تقارير من أجهزة تلفاز مطابقة.

لا تتجاوز مطابقة الملف التعريفي ولا تنسخ العناوين يدويًا إلى برنامج ثابت غير مرتبط. لا تزال الملفات التعريفية المولّدة ثابتًا تتطلب تأكيدًا على عتاد مطابق.

قد تؤدي فشل عملية استعادة الكومة إلى panic وإعادة تشغيل التلفاز. الجذر مؤقت ويُفقد بعد إعادة التشغيل. إذا تجمّد تلفازك، يمكنك دائمًا إعادة تشغيله بإطفائه وتشغيله.

ما الذي يفعله

يستخدم الاستغلال CVE-2026-43499 للحصول على UID 0 مؤقت من بيئة ADB shell العادية.

تشمل سلسلة الاستغلال:

  • استغلال UAF في futex-PI على ARM32
  • تسريب عنوان النواة
  • استعادة mm_struct عبر الكاشات (cross-cache)
  • استعادة كائنات النواة المتحكَّم بها
  • أوليات القراءة/الكتابة في النواة
  • اكتشاف المهمة الحالية (current task)
  • تعديل بيانات الاعتماد (credentials)
  • خادم/عميل أوامر جذر محلي
  • اختيار صارم للملف التعريفي للبرنامج الثابت والتحقق وقت التشغيل بعد القراءة

بعد تشغيل ناجح، يُبقي الاستغلال كائنات النواة التي يحتاجها مسار الجذر حيّة ويشغّل خادم أوامر محليًا.

يبقى SELinux في وضع Enforcing. تحتفظ الأوامر المنفَّذة عبر خادم الجذر بنطاق SELinux الخاص بـ shell ومجموعة حدود القدرات المتاحة على هذا البرنامج الثابت.

الملفات

  • hazel_root.c الاستغلال الرئيسي، ومرحلة القراءة/الكتابة في النواة، وتعديل بيانات الاعتماد، وعميل/خادم أوامر الجذر
  • hazel_reclaim.h تسريب عنوان النواة واستعادة mm_struct عبر الكاشات
  • hazel_profile.c، hazel_profile.h محلّل الملف التعريفي الصارم ومطابِقه وقت التشغيل
  • profiles/ ملفات تعريفية للبرنامج الثابت مُراجَعة ومولّدة
  • tools/profile_creator/ محلّل برنامج ثابت بلغة Python/uv ومنشئ ملفات تعريفية متوافقة
  • tools/device_scripts/ أدوات اختيارية لـ OTA وخدمات Amazon والمشغّل (launcher)

المتطلبات

  • ADB
  • Android NDK r27d
  • تمكين تصحيح ADB على التلفاز
  • مضيف قادر على بناء ملف تنفيذي ARMv7 لأندرويد

تفترض الأمثلة أدناه نظام Linux وتوفر adb في $PATH.

البناء (اختياري)

اضبط NDK على دليل Android NDK r27d الخاص بك:

export NDK=/path/to/android-ndk-r27d

ثم قم بالترجمة:

"$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/clang" \
    --target=armv7a-linux-androideabi28 \
    -O2 -g0 -Wall -Wextra -Wpedantic -fPIE -pie \
    hazel_root.c hazel_profile.c -o hazel_root \
    -pthread

التثبيت

اتصل بالتلفاز باستخدام ADB.

إذا كنت تستخدم ADB عبر الشبكة:

adb connect <TV_IP>:5555

ادفع الاستغلال:

adb shell mkdir -p /data/local/tmp/profiles
adb push hazel_root /data/local/tmp/hazel_root
adb shell chmod 755 /data/local/tmp/hazel_root
adb push profiles/. /data/local/tmp/profiles/

تحقق من اختيار الملف الشخصي دون تفعيل الاستغلال:

adb shell 'cd /data/local/tmp && ./hazel_root --check-profile'

يتطلب المُحمِّل تطابقات دقيقة لكلٍّ من ro.product.device، وبصمة البناء، والإصدار التزايدي، وإصدار النواة، والمعمارية. ويرفض الملفات الشخصية المشوّهة، والحقول غير المعروفة، ومسارات الاستغلال غير المدعومة، والتطابقات المفقودة، والملفات الشخصية المتطابقة المتعددة. ويمكن التحقق من ملف شخصي صريح باستخدام:

adb shell 'cd /data/local/tmp && ./hazel_root --check-profile --profile profiles/PROFILE.conf'

التشغيل

ابدأ من إقلاع نظيف:

adb shell 'cd /data/local/tmp && ./hazel_root'

ينتهي التشغيل الناجح بمخرجات مشابهة لما يلي:

[root] uid=0 euid=0 gid=0
[ROOT] uid=0 daemon pid=... socket=@hazel_root

إعادة الاستحواذ احتمالية. قد تفشل المحاولة غير الناجحة بشكل نظيف أو تتسبب في ذعر وإعادة تشغيل التلفاز.

إذا أعاد التلفاز التشغيل، فاتركه يقلع بشكل طبيعي وحاول مرة أخرى.

بمجرد نجاح الاستغلال، لا تشغّل نسخة أخرى. يمكنك إغلاق العملية قيد التشغيل، والمتابعة بالأوامر التالية.

تشغيل الأوامر كـ root

يعمل نفس الملف التنفيذي كعميل لخدمة root الخفية:

adb shell 'cd /data/local/tmp && ./hazel_root --client id'

على سبيل المثال:

adb shell 'cd /data/local/tmp && ./hazel_root --client getenforce'
adb shell 'cd /data/local/tmp && ./hazel_root --client cat /proc/self/status'
adb shell 'cd /data/local/tmp && ./hazel_root --client "id; uname -a"'

يجب أن يُبلّغ أمر الجذر الناجح عن:

uid=0(root) gid=0(root) context=u:r:shell:s0

لاحظ أن UID 0 لا يتجاوز SELinux. يبقى SELinux في وضع Enforcing.

تعطيل تحديثات OTA

ادفع وشغّل tools/device_scripts/disable_ota.sh عبر خادم الجذر (root daemon):

adb push tools/device_scripts/disable_ota.sh /data/local/tmp/disable_ota.sh
adb shell chmod 755 /data/local/tmp/disable_ota.sh
adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/disable_ota.sh"'

يقوم السكربت بتعطيل حزمتي Fire OS OTA، ويمسح حالة المُحدِّث المعلّقة، ويتحقق من حالة Package Manager الناتجة. لا يقوم بإعادة تشغيل التلفاز.

تعطيل فرض حزم Amazon وACR والمقاييس

يقوم tools/device_scripts/disable_amazon_services.sh بتعطيل وكيل التكوين البعيد Arcus، وخدمة حظر التطبيقات ADEP، والتعرّف التلقائي على المحتوى (ACR)، وحزم مقاييس Amazon المخصصة الموجودة على برنامج Hazel الثابت المُختبَر. يتم تعطيل ACR ومسح بياناته المخزّنة، لكن ملف APK الخاص بالنظام للقراءة فقط لا يتم حذفه، مما يجعل العملية قابلة للتراجع. لا يقوم السكربت بتعطيل CrashManager أو حزم التسجيل منخفضة المستوى، لذا تبقى تشخيصات kernel panic وDropbox متاحة أثناء تطوير الاستغلال أو استكشاف الأخطاء وإصلاحها.

ادفع السكربت إلى الجهاز وشغّله عبر خادم الجذر الخفي (root daemon):

adb push tools/device_scripts/disable_amazon_services.sh /data/local/tmp/disable_amazon_services.sh
adb shell chmod 755 /data/local/tmp/disable_amazon_services.sh
adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/disable_amazon_services.sh"'

اعرض الحالة الحالية دون تغيير أي شيء:

adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/disable_amazon_services.sh status"'

استعد الحزم لاحقًا إذا لزم الأمر:

adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/disable_amazon_services.sh restore"'

عادةً ما تبقى حالة الحزمة المفعّلة أو المعطّلة بعد إعادة التشغيل. استعادة الحزم لا تستعيد بيانات الحزمة التي تم مسحها أثناء تعطيلها.

مساعدات المشغّل

توجد سكربتات المشغّل أيضًا في tools/device_scripts/. لاختيار Projectivy:

adb push tools/device_scripts/set_projectivy_launcher.sh /data/local/tmp/set_projectivy_launcher.sh
adb shell chmod 755 /data/local/tmp/set_projectivy_launcher.sh
adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/set_projectivy_launcher.sh"'

لاستعادة المشغّل الافتراضي:

adb push tools/device_scripts/restore_stock_launcher.sh /data/local/tmp/restore_stock_launcher.sh
adb shell chmod 755 /data/local/tmp/restore_stock_launcher.sh
adb shell 'cd /data/local/tmp && ./hazel_root --client "sh /data/local/tmp/restore_stock_launcher.sh"'

الاستعادة

أعد تشغيل التلفاز:

adb reboot

لا يعدّل الاستغلال سوى حالة النواة المؤقتة، لذا تُفقد صلاحيات root بعد إعادة التشغيل.

التغييرات التي تُجرى عمدًا على إعدادات Android الدائمة أو بياناتها أثناء تفعيل root لا تُلغى بالضرورة عند إعادة التشغيل، بطبيعة الحال.

ملفات تعريف البرامج الثابتة

جميع إصدارات برامج Hazel الثابتة الـ 24 المدرجة حاليًا في أرشيف البرامج الثابتة ممثَّلة بملفات تعريف في profiles/، من PS7657.3645N حتى PS7716.5665N. وكلها متاحة للاختيار التلقائي عندما تتطابق هوية الجهاز.

تنزيل الأداة