
إطار تقييم الأمان الرائد لأندرويد.
drozer هو إطار عمل لاختبار الأمان لنظام Android.
يتيح لك drozer البحث عن الثغرات الأمنية في التطبيقات والأجهزة من خلال افتراض دور تطبيق والتفاعل مع بيئة تشغيل Android ونقاط نهاية IPC للتطبيقات الأخرى ونظام التشغيل الأساسي.
يوفر drozer أدوات لمساعدتك في استخدام ومشاركة وفهم استغلالات Android العامة.
drozer هو برنامج مفتوح المصدر، يتم صيانته بواسطة Reversec. يمكن العثور على دليل المستخدم التمهيدي في Reversec Labs
هذا إصدار BETA من نسخة drozer المعاد كتابتها؛ تم تحديث هذا الإصدار لدعم python3.
حاليًا، توجد المشكلات المعروفة التالية:
للمساعدة في ضمان إمكانية تشغيل drozer على جميع الأنظمة، تم إنشاء حاوية Docker تحتوي على بناء عامل لـ drozer.
يمكنك استخدام pip أو pipx (يفضل، إذا كان متاحًا) لتثبيت أحدث إصدار من drozer من PyPI:
pipx install drozer
بدلاً من ذلك، يمكنك تنزيل الإصدارات الفردية من GitHub وتشغيل:
pipx install ./drozer-*.whl
إذا لم تكن قد فعلت ذلك بالفعل، ففكر في تشغيل:
pipx ensurepath
للتأكد من ظهور الحزم المثبتة عبر pipx في PATH الخاص بك
لبناء drozer من المصدر يمكنك تشغيل:
git clone https://github.com/ReversecLabs/drozer.git
cd drozer
pip install .
لبناء مكونات Android الأصلية ضد SDK معين، يمكنك تعيين متغير البيئة ANDROID_SDK إلى المسار. على سبيل المثال:
Linux/macOS:
export ANDROID_SDK=/home/drozerUser/Android/Sdk/platforms/android-34/android.jar
Windows - PowerShell:
New-Item -Path Env:\ANDROID_SDK -Value 'C:\Users\drozerUser\AppData\Local\Android\sdk\platforms\android-34\android.jar'
Windows - cmd:
set ANDROID_SDK = "C:\Users\drozerUser\AppData\Local\Android\sdk\platforms\android-34\android.jar"
يمكن أيضًا تغيير موقع أداة d8 المستخدمة عن طريق تعيين D8.
يمكن تثبيت drozer باستخدام Android Debug Bridge (adb).
قم بتنزيل أحدث وكيل drozer هنا.
adb install drozer-agent.apk
يجب أن يكون لديك الآن وحدة تحكم drozer مثبتة على جهاز الكمبيوتر الخاص بك، والوكيل يعمل على جهاز الاختبار الخاص بك. الآن، تحتاج إلى توصيل الاثنين وستكون جاهزًا لبدء الاستكشاف.
سنستخدم الخادم المضمن في وكيل drozer للقيام بذلك. أولاً، قم بتشغيل الوكيل، واختر خيار "Embedded Server" واضغط على "Enable" لبدء الخادم. يجب أن ترى إشعارًا بأن الخادم قد بدأ.
ثم، اتبع أحد الخيارات أدناه.
افتراضيًا، يستمع وكيل drozer لاتصالات TCP الواردة على جميع الواجهات على المنفذ 31415. لتوصيل الوكيل، قم بتشغيل الأمر التالي:
drozer console connect --server <phone's IP address>
إذا كنت تستخدم حاوية Docker، فسيكون الأمر المكافئ:
docker run --net host -it drozerdocker/drozer console connect --server <phone's IP address>
في بعض السيناريوهات، قد لا يكون الاتصال بالجهاز عبر الشبكة ممكنًا. في هذه السيناريوهات، يمكننا الاستفادة من قدرات إعادة توجيه المنفذ في adb لإنشاء اتصال عبر USB.
أولاً، تحتاج إلى إعداد إعادة توجيه منفذ مناسب حتى يتمكن جهاز الكمبيوتر الخاص بك من الاتصال بمقبس TCP الذي فتحه الوكيل داخل المحاكي أو على الجهاز. افتراضيًا، يستخدم drozer المنفذ 31415
adb forward tcp:31415 tcp:31415
يمكنك الآن الاتصال بوكيل drozer عن طريق الاتصال بـ localhost (أو ببساطة عدم تحديد عنوان IP الهدف)
drozer console connect
يجب أن يظهر لك موجه أوامر drozer:
Selecting ebe9fcc0c47b28da (Google sdk_gphone64_x86_64 12)
.. ..:.
..o.. .r..
..a.. . ....... . ..nd
ro..idsnemesisand..pr
.otectorandroidsneme.
.,sisandprotectorandroids+.
..nemesisandprotectorandroidsn:.
.emesisandprotectorandroidsnemes..
..isandp,..,rotecyayandro,..,idsnem.
.isisandp..rotectorandroid..snemisis.
,andprotectorandroidsnemisisandprotec.
.torandroidsnemesisandprotectorandroid.
.snemisisandprotectorandroidsnemesisan:
.dprotectorandroidsnemesisandprotector.
drozer Console (v3.0.0)
dz>
يؤكد الموجه معرّف Android للجهاز الذي اتصلت به، بالإضافة إلى الشركة المصنعة والطراز وإصدار برنامج Android.
أنت الآن جاهز لبدء استكشاف الجهاز.
يتم إصدار drozer بموجب ترخيص BSD المكون من 3 بنود. راجع LICENSE للحصول على التفاصيل الكاملة.
drozer هو برنامج مفتوح المصدر، تم تحسينه بفضل مساهمات المجتمع.
للحصول على كود المصدر الكامل، وللإبلاغ عن الأخطاء، واقتراح الميزات، والمساهمة بالتصحيحات، يرجى مراجعة مشروعنا على Github:
https://github.com/ReversecLabs/drozer
يمكن تقديم تقارير الأخطاء وطلبات الميزات والتعليقات والأسئلة هنا.
| Command | Description |
|---|
| run | ينفذ وحدة drozer |
| list | يعرض قائمة بجميع وحدات drozer التي يمكن تنفيذها في الجلسة الحالية. يخفي هذا الوحدات التي ليس لديك أذونات مناسبة لتشغيلها. |
| shell | يبدأ شل Linux تفاعلي على الجهاز، في سياق عملية الوكيل. |
| cd | يقوم بتركيب مساحة اسم معينة كجذر الجلسة، لتجنب الاضطرار إلى كتابة الاسم الكامل للوحدة بشكل متكرر. |
| clean | إزالة الملفات المؤقتة المخزنة بواسطة drozer على جهاز Android. |
| contributors | يعرض قائمة بالأشخاص الذين ساهموا في إطار عمل drozer والوحدات المستخدمة على نظامك. |
| echo | طباعة نص إلى وحدة التحكم. |
| exit | إنهاء جلسة drozer. |
| help | عرض تعليمات حول أمر أو وحدة معينة. |
| load | تحميل ملف يحتوي على أوامر drozer، وتنفيذها بالتسلسل. |
| module | البحث عن وحدات drozer إضافية وتثبيتها من الإنترنت. |
| permissions | عرض قائمة بالأذونات الممنوحة لوكيل drozer. |
| set | تخزين قيمة في متغير سيتم تمريره كمتغير بيئة إلى أي شلات Linux يتم إنشاؤها بواسطة drozer. |
| unset | إزالة متغير محدد يمرره drozer إلى أي شلات Linux يقوم بإنشائها. |