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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
android-hardware-attestation-demo — أداة عرض توضيحي للتحقق من سلامة العتاد (HW Attestation) على نظام أندرويد | Kitploit
أدوات/GitHubGitHub/quarkslab/android-hardware-attestation-demo
أمان أندرويدالمصادقة والترخيصاختبار اختراق تطبيقات الجوالأمن الجوالأمن الأجهزةالتعلم والتعليم
GitHubquarkslab/android-hardware-attestation-demo

android-hardware-attestation-demo

أداة عرض توضيحي للتحقق من سلامة العتاد (HW Attestation) على نظام أندرويد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
47651منذ شهر واحدلم تتم المراجعة بعد

تجاوز التحقق المعتمد على العتاد في أندرويد — عرض توضيحي

يرافق هذا المستودع مقالة Quarkslab حول التحقق من المفتاح المعتمد على العتاد في أندرويد (Android hardware Key Attestation)، وهو مخصص لتوضيحها.

إنه إثبات مفهوم صغير ومتكامل يعرض تجاوزًا بسيطًا: محلل على هاتف مُجذر يتغلب على فحص التحقق المعتمد على العتاد لدى الخادم الخلفي عبر ترحيل التحقق إلى جهاز ثانٍ نظيف. لا شيء مُزيّف. تُمرَّر سلسلة تحقق حقيقية، أنتجها جهاز غير معدّل ومرتبطة بـ nonce الخاص بالخادم الخلفي نفسه، بدلًا من سلسلة الجهاز المُجذر المرفوضة.

النطاق والأخلاقيات. هذه مادة تعليمية لأغراض البحث الأمني. إنها تستخدم HTTP عاديًا وتعطّل فحوصات السلامة عمدًا (علامات "للعرض فقط" في كل مكان). شغّلها على أجهزتك الخاصة وخادمك الخلفي الخاص، على شبكة محلية موثوقة.

كيف يعمل التجاوز

تحقق Keystore على جهاز مُجذر يُبلغ عن مُحمّل إقلاع غير مقفول، لذلك يرفضه الخادم الخلفي. بدلًا من مهاجمة التشفير، يعترض المحلل استدعاء التحقق الخاص بالتطبيق ويستبدله بسلسلة تُجلب مباشرة من جهاز نظيف لنفس التحدي.

يستبدل الخطاف (hook) الدالة KeystoreAttestation.generateAttestedKey(challenge) في تطبيق العرض ولا يستدعي Keystore المحلي أبدًا، وبالتالي لا تُنشأ سلسلة الجهاز المُجذر إطلاقًا. السلسلة المُرحّلة حقيقية وتجتاز فحوصات الإقلاع الموثّق والفحوصات المعتمدة على العتاد في الخادم الخلفي.

المكوّنات

المكوّنالمسارالدوريعمل على
تطبيق العميل التجريبيapps/QuarkslabAttestationDemo/التطبيق المستهدف. يطلب nonce، ويؤدي التحقق، ويرسل السلسلة إلى الخادم الخلفي. يتم خطفه بواسطة Frida.جهاز التحليل المُجذر
خادم التحققapps/QuarkslabAttestationServer/مرجع التحقق. يُنتج سلسلة حقيقية لـ nonce معيّن. لا يتحقق من أي شيء.جهاز نظيف غير معدّل
الأدواتinstrumentation/وكيل Frida (الخطاف) بالإضافة إلى وحدة التحكم التي ترحّل الـ nonce إلى الجهاز النظيف.محطة عمل المحلل + الجهاز المُجذر
الخادم الخلفيbackend/الطرف المعتمد. يُصدر nonces ويتحقق من سلاسل التحقق.أي جهاز يمكن الوصول إليه من الجهازين

لكل مكوّن README خاص به يتضمن التفاصيل الكاملة؛ يجمع هذا الملف بينها جميعًا.

المتطلبات الأساسية

  • جهازان فعليان. يتطلب التحقق عتادًا حقيقيًا؛ فالمحاكيات تُرجع سلسلة مدعومة بالبرمجيات يرفضها الخادم الخلفي.
    • جهاز "تحليل" مُجذر يعمل عليه frida-server 17.16.4، مع تثبيت تطبيق العرض.
    • جهاز نظيف غير معدّل مثبت عليه تطبيق خادم التحقق (مُحمّل إقلاع مقفول، StrongBox أو TEE).
  • جهاز على نفس الشبكة لتشغيل الخادم الخلفي (Python 3، التبعيات في backend/requirements.txt).
  • JDK 17-21 لبناء تطبيقي أندرويد، إما من Android Studio أو من سطر الأوامر باستخدام غلاف Gradle (./gradlew assembleDebug).
  • Node 20 أو 22 LTS على محطة العمل فقط إذا أعدت بناء وكيل Frida. الوكيل المُجمَّع (instrumentation/_agent.js) مُضمَّن في المستودع، لذا فإن إعادة البناء اختيارية.
  • يجب أن تصل الأجهزة الثلاثة (الجهازان والخادم الخلفي) إلى بعضها البعض عبر الشبكة.

التشغيل المتكامل

شغّل المكوّنات بهذا الترتيب.

  1. الخادم الخلفي. على جهاز يمكن الوصول إليه من الجهازين:

    root@kitploit:~
    cd backend
    pip install -r requirements.txt
    python3 attestation_backend.py      # listens on 0.0.0.0:8080
    
  2. الجهاز النظيف. ابنِ تطبيق خادم التحقق وثبّته، ثم افتحه واضغط على START SERVER، ولاحظ عنوان URL الذي يعرضه، مثل http://192.168.1.42:8080.

  3. الجهاز المُجذر. شغّل frida-server، وابنِ تطبيق العرض وثبّته، وافتحه، ثم أدخل عنوان الخادم الخلفي (host:port).

    يُبنى كلا التطبيقين من Android Studio أو من سطر الأوامر باستخدام غلاف Gradle (./gradlew assembleDebug, JDK 17-21)؛ راجع README الخاص بكل تطبيق لمعرفة التفاصيل.

  4. الترحيل. على محطة العمل:

    root@kitploit:~
    cd instrumentation
    python3 control.py --host <clean-device-ip> --port 8080
    

    تُطلق وحدة التحكم تطبيق العرض، وتثبّت الخطاف، ثم تستأنف تشغيله.

  5. التفعيل. اضغط على RUN ATTESTATION في تطبيق العرض. يُرجع الخادم الخلفي صالحًا: السلسلة المُرحّلة تُبلغ عن مُحمّل إقلاع مقفول.

  6. التحكم السلبي. أوقف control.py واضغط على RUN ATTESTATION مجددًا. يرسل تطبيق العرض الآن سلسلة الجهاز المُجذر الخاصة به ويرفضها الخادم الخلفي. وهذا هو الفحص الذي يتغلب عليه الترحيل.

إعادة بناء الوكيل (فقط إذا عدّلت agent/agent.ts):

root@kitploit:~
cd instrumentation
nvm use          # Node 22 from .nvmrc
npm install
npm run build    # regenerates _agent.js

هيكل المستودع

root@kitploit:~
apps/
  QuarkslabAttestationDemo/     target client app (Android Studio project)
  QuarkslabAttestationServer/   clean-device attestation oracle (Android Studio project)
instrumentation/                Frida agent + relay controller
backend/                        Python attestation validator
LICENSE                         MIT

الترخيص والإسناد

حقوق النشر 2026 Quarkslab. مُرخَّص بموجب رخصة MIT. راجع LICENSE.

يوضح هذا المستودع مقالة Quarkslab.

تنزيل الأداة