drozer هو إطار اختبار أمني لنظام Android.
يتيح لك drozer البحث عن الثغرات الأمنية في التطبيقات والأجهزة من خلال تولي دور التطبيق والتفاعل مع Android Runtime ونقاط نهاية IPC للتطبيقات الأخرى ونظام التشغيل الأساسي.
يوفر drozer أدوات لمساعدتك في استخدام ومشاركة وفهم عمليات استغلال Android العامة.
drozer هو برنامج مفتوح المصدر، تتم صيانته بواسطة WithSecure، ويمكن تنزيله من: https://labs.withsecure.com/tools/drozer/
هذا إصدار تجريبي لنسخة 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/WithSecureLabs/drozer.git
cd drozer
pip install .
لإنشاء مكونات Android الأصلية مقابل مجموعة SDK محددة، يمكنك تعيين متغير البيئة ANDROID_SDK
على المسار. على سبيل المثال:
لينكس/ماك:
export ANDROID_SDK=/home/drozerUser/Android/Sdk/platforms/android-34/android.jar
ويندوز - بوويرشيل:
New-Item - Path Env:ANDROID_SDK - Value ' C:UsersdrozerUserAppDataLocalAndroidsdkplatformsandroid-34android.jar '
ويندوز - كمد:
set ANDROID_SDK = " C:UsersdrozerUserAppDataLocalAndroidsdkplatformsandroid-34android.jar "
يمكن أيضًا تغيير موقع أداة d8
المستخدمة عن طريق ضبط D8
.
يمكن تثبيت drozer باستخدام Android Debug Bridge (adb).
قم بتنزيل أحدث إصدار من drozer Agent هنا.
adb install drozer-agent.apk
يجب أن تكون لديك الآن وحدة التحكم drozer مثبتة على جهاز الكمبيوتر الخاص بك، وأن يكون العميل قيد التشغيل على جهازك الاختباري. الآن، أنت بحاجة إلى ربط الاثنين وستكون جاهزًا لبدء الاستكشاف.
سوف نستخدم الخادم المضمن في drozer Agent للقيام بذلك. أولاً، قم بتشغيل الوكيل، وحدد خيار "الخادم المضمن" ثم انقر فوق "تمكين" لبدء تشغيل الخادم. يجب أن تشاهد إشعارًا بأن الخادم قد بدأ.
ثم اتبع أحد الخيارات أدناه.
افتراضيًا، يستمع drozer Agent إلى اتصالات TCP الواردة على جميع الواجهات على المنفذ 31415. للاتصال بالوكيل، قم بتشغيل الأمر التالي:
drozer console connect --server <phone's IP address>
إذا كنت تستخدم حاوية Docker، فسيكون الأمر المكافئ:
docker run --net host -it withsecurelabs/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 |
قائمة | إظهار قائمة بجميع وحدات drozer التي يمكن تنفيذها في الجلسة الحالية. يؤدي هذا إلى إخفاء الوحدات التي ليس لديك الأذونات المناسبة لتشغيلها. |
صدَفَة | ابدأ تشغيل Linux Shell التفاعلي على الجهاز، في سياق عملية الوكيل. |
قرص مضغوط | يقوم بتثبيت مساحة اسم معينة كجذر للجلسة، لتجنب الاضطرار إلى كتابة الاسم الكامل للوحدة النمطية بشكل متكرر. |
ينظف | قم بإزالة الملفات المؤقتة المخزنة بواسطة drozer على جهاز Android. |
المساهمين | يعرض قائمة بالأشخاص الذين ساهموا في إطار عمل drozer والوحدات النمطية المستخدمة على نظامك. |
صدى | طباعة النص إلى وحدة التحكم. |
مخرج | قم بإنهاء جلسة drozer. |
يساعد | عرض المساعدة حول أمر أو وحدة معينة. |
حمولة | قم بتحميل ملف يحتوي على أوامر drozer، وقم بتنفيذها بالتسلسل. |
وحدة | ابحث عن وحدات drozer الإضافية وقم بتثبيتها من الإنترنت. |
الأذونات | عرض قائمة بالأذونات الممنوحة لعامل drozer. |
تعيين | قم بتخزين قيمة في متغير سيتم تمريره كمتغير بيئة إلى أي أغلفة Linux تم إنشاؤها بواسطة drozer. |
غير محدد | قم بإزالة متغير مسمى يقوم drozer بتمريره إلى أي أغلفة Linux يتم نشرها. |
يتم إصدار drozer بموجب ترخيص BSD المكون من 3 فقرات. راجع الترخيص للحصول على التفاصيل الكاملة.
drozer هو برنامج مفتوح المصدر، وقد تم تحقيقه بفضل مساهمات المجتمع.
للحصول على كود المصدر الكامل، للإبلاغ عن الأخطاء واقتراح الميزات والمساهمة في التصحيحات، يرجى الاطلاع على مشروع Github الخاص بنا:
https://github.com/WithSecureLabs/drozer
يمكن تقديم تقارير الأخطاء وطلبات الميزات والتعليقات والأسئلة هنا.