تم إنشاء ورقة الغش الخاصة بـ Mobile Apps Pentesting لتوفير مجموعة من المعلومات عالية القيمة حول موضوعات محددة وقائمة اختبار اختراق تطبيقات الهاتف المحمول المحددة ، والتى تم تعيينها فى OWASP Mobile Risk Top 10 لإجراء اختبار الاختراق
هنا يمكنك العثور على دورة اختبار الاختراق الأكثر أهمية لتطبيق Android لتعزيز المزيد من المهارات فى هذا المجال
توزيعات اختبار أمان تطبيقات الهاتف المحمول
- Appie - حزمة برامج محمولة لنظام Android Pentesting وبديل رائع للأجهزة الافتراضية الموجودة.
- Android Tamer - Android Tamer هو نظام أساسي افتراضي / مباشر لمحترفي أمان Android
- AppUse - AppUse هو جهاز افتراضي تم تطويره بواسطة مختبرات AppSec
- Androl4b - آلة افتراضية لتقييم تطبيقات Android ، الهندسة العكسية وتحليل البرامج الضارة
- Mobisec - البيئة الحية لاختبار الأمن المحمول
- Santo k u - نظام Santoku هو نظام تشغيل ويمكن تشغيله خارج جهاز VM كنظام تشغيل مستقل.
- مشروع Vezir - Pentesting تطبيقات الهاتف المتحرك وبيئة تحليل البرامج الضارة
الكل في واحد أطر الأمن المحمول
- Mobile Security Framework - MobSF - Mobile Security Framework هو إطار ذكى وآلي متكامل لاختبار الهاتف المحمول مفتوح المصدر (Android / iOS) قادر على أداء التحليل الثابت والديناميكي
python manage.py runserver 127.0.0.1:1337
- Needle - Needle هو إطار مفتوح المصدر ومعياري لتبسيط عملية إجراء التقييمات الأمنية لتطبيقات iOS بما في ذلك التحليل الثنائي وتحليل الشفرة الثابتة ومعالجة وقت التشغيل باستخدام Cycript و Frida ربط ، وما إلى ذلك
- اعتراض - اعتراض هو مجموعة أدوات استكشاف المحمول وقت التشغيل ، مدعومة من فريدا. تم تصميمه بهدف المساعدة فى تقييم تطبيقات الهاتف المحمول ووضعيتها الأمنية دون الحاجة إلى جهاز محمول مكسور الحماية أو متجذر
اختبار اختراق تطبيق أندرويد
الهندسة العكسية والتحليل الثابت
- APKInspector - APKinspector هو أداة قوية واجهة المستخدم الرسومية للمحللين لتحليل تطبيقات Android.
- APKTool - أداة للهندسة العكسية لجهات خارجية ، وتطبيقات Android ثنائية ومغلقة. يمكنه فك تشفير الموارد إلى الشكل الأصلي تقريبًا وإعادة بنائها بعد إجراء بعض التعديلات
- تفكيك ملف APK الروبوت
apktool d <apk file>
- إعادة بناء الموارد التي تم فك تشفيرها مرة أخرى إلى APK ثنائي / JAR مع توقيع الشهادة
apktool b <modified folder>
keytool -genkey -v -keystore keys/test.keystore -alias Test -keyalg RSA -keysize 1024 -sigalg SHA1withRSA -validity 10000
jarsigner -keystore keys/test.keystore dist/test.apk -sigalg SHA1withRSA -digestalg SHA1 Test
- التوقيع - Sign.jar يوقع تلقائيًا على ملف apk باستخدام شهادة اختبار Android.
- Jadx - Dex to Java decompiler: سطر الأوامر وأدوات GUI لإنتاج شفرة مصدر Java من ملفات Android Dex و Apk.
- Oat2dex - أداة لتحويل ملف .oat إلى ملفات .dex.
- إلغاء تحسين فئات التمهيد (سيكون الناتج في مجلدات "odex" و "dex")
java -jar oat2dex.jar boot <boot.oat file>
- إلغاء تطبيق
java -jar oat2dex.jar <app.odex> </app.
- احصل على odex من الشوفان
java -jar oat2dex.jar odex <oat file>
- احصل على odex smali (مع كود تشغيل محسن) من الشوفان / odex
java -jar oat2dex.jar smali <oat/odex file>
- FindBugs + FindSecurityBugs - FindSecurityBugs هو امتداد لـ FindBugs والذي يتضمن قواعد أمان لتطبيقات Java.
- Qark - تم تصميم هذه الأداة للبحث عن العديد من نقاط الضعف في تطبيقات Android المتعلقة بالأمان ، سواء في التعليمات البرمجية المصدر أو حزم APK المجمعة.
- SUPER - SUPER هو تطبيق سطر أوامر يمكن استخدامه في أنظمة التشغيل Windows و MacOS X و Linux ، والذي يحلل ملفات apk. بحثًا عن الثغرات الأمنية. يقوم بذلك عن طريق فك ضغط ملفات APK وتطبيق سلسلة من القواعد للكشف عن هذه الثغرات الأمنية
- AndroBugs - AndroBugs Framework هو ماسح ضوئي فعال للضعف في Android يساعد المطورين أو المتسللين في العثور على الثغرات الأمنية المحتملة في تطبيقات Android. لا حاجة للتثبيت على Windows
- Simplify - أداة لإزالة حجب حزمة Android الى Classes.dex والتي يمكن استخدامها Dex2jar و JD-GUI لاستخراج محتويات ملف dex.
simplify.jar -i "input smali files or folder" -o
- ClassNameDeobfuscator - برنامج نصي بسيط للتحليل من خلال ملفات .smali التي تنتجها أداة apktool واستخراج خطوط التعليقات التوضيحية المصدر
- Android backup extractor - أداة لاستخراج حزم Android الاحتياطية التي تم إنشاؤها باستخدام adb backup (ICS +). يعتمد بشكل كبير على BackupManagerService.java من AOSP. تلميح !! يمكن أيضًا استخدام الأمر "adb backup" لاستخراج حزمة التطبيق بالأمر التالي:
adb backup <package name>
dd if=backup.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" > backup.tar
التحليل الديناميكي ووقت التشغيل
- Cydia Substrate - Cydia Substrate لنظام Android يمكّن المطورين من إجراء تغييرات على البرامج الحالية باستخدام ملحقات الركيزة التي يتم حقنها في ذاكرة العملية المستهدفة
- Xposed Framework - يمكّنك إطار Xposed من تعديل جانب النظام أو التطبيق والسلوك في وقت التشغيل ، دون تعديل أي حزمة تطبيق Android (APK) أو إعادة الوميض
- logcat-color - بديل ملون وقابل للتكوين بدرجة عالية لأمر adb logcat من Android SDK
- Inspeckage - Inspeckage هي أداة تم تطويرها لتقديم تحليل ديناميكي لتطبيقات Android. من خلال تطبيق الخطافات على وظائف واجهة برمجة تطبيقات Android ، سيساعدك Inspeckage على فهم ما يفعله تطبيق Android في وقت التشغيل
- Frida - تعمل مجموعة الأدوات باستخدام نموذج خادم العميل وتتيح لك إدخال العمليات ليس فقط على Android ، ولكن أيضًا على iOS و Windows و Mac
- Diff-GUI - إطار ويب لبدء الأدوات باستخدام الوحدات المتاحة ، مع ربط جافا سكريبت الأصلي ، باستخدام Frida.
- AndBug - AndBug هو مصحح أخطاء يستهدف آلة Dalvik الافتراضية لمنصة Android المخصصة للمهندسين العكسيين والمطورين.
- تحديد عملية التطبيق باستخدام برنامج ADB Shell
adb shell ps | grep -i "App keyword"
- الوصول إلى التطبيق باستخدام AndBug لتحديد الفئات المحملة
andbug shell -p
- تتبع فئة معينة
ct <package name>
- تصحيح الأخطاء باستخدام jdb
adb forward tcp:<port> jdwp:<port>
jdb -attach localhost:
- ركيزة Cydia: Introspy-Android - أداة Blackbox للمساعدة في فهم ما يفعله تطبيق Android في وقت التشغيل والمساعدة في تحديد مشكلات الأمان المحتملة
- Drozer - يتيح لك Drozer البحث عن الثغرات الأمنية في التطبيقات والأجهزة من خلال تولي دور التطبيق والتفاعل مع Dalvik VM ونقاط نهاية IPC للتطبيقات الأخرى ونظام التشغيل الأساسي
- بدء الجلسة
adb forward tcp:31415 tcp:31415
drozer console connect
- استرداد معلومات الحزمة
run app.package.list -f <app name>
run app.package.info -a <package name>
- تحديد سطح الهجوم
run app.package.attacksurface <package name>
- استغلال الأنشطة
run app.activity.info -a <package name> -u
run app.activity.start --component <component name>
- استغلال مزود المحتوى
run app.provider.info -a <package name>
run scanner.provider.finduris -a <package name>
run app.provider.query <uri>
run app.provider.update <uri> --selection <conditions> <selection arg> <column> <data>
run scanner.provider.sqltables -a <package name>
run scanner.provider.injection -a <package name>
run scanner.provider.traversal -a <package name>
- استغلال مستقبلات البث
run app.broadcast.info -a <package name>
run app.broadcast.send --component <component name> --extra
run app.broadcast.sniff --action <action>
- استغلال الخدمة
run app.service.info -a <package name>
run app.service.start --action <action> --component <package name> <component name>
- run app.service.send <package name> <componentname> --msg <what> <arg1> <arg2> --extra<type> <key> <value> --bundle-as-obj
تحليل الشبكة والاختبار من جانب الخادم
- Tcpdump - أداة التقاط حزم سطر الأوامر.
- Wireshark - محلل حزم مفتوح المصدر.
- يلتقط الحزمة الحية في الوقت الحقيقي
adb shell "tcpdump -s 0 -w - | nc -l -p 4444"
adb forward tcp:4444 tcp:4444
nc localhost 4444 | sudo wireshark -k -S -i –
- Canape - أداة اختبار شبـكة للبروتوكولات التعسفية
- مالوري - رجل في الأداة الوسطى (MiTM) يستخدم لرصد ومعالجة حركة المرور على الأجهزة المحمولة والتطبيقات
- Burp Suite - Burp Suite عبارة عن نظام أساسي متكامل لإجراء اختبار الأمان للتطبيقات
- OWASP ZAP - OWASP Zed Attack Proxy Project هو ماسح ضوئي لتطبيقات الويب مفتوح المصدر. الغرض منه هو استخدامها من قبل كل من الجديد لأمن التطبيق وكذلك اختبار الاختراق المحترف
- Proxydroid - تطبيق الوكيل العالمي لنظام Android
تجاوز الكشف عن الجذر وتثبيت SSL
- وحدة Xposed: Just Trust Me - وحدة Xposed لتجاوز تثبيت شهادة SSL.
- وحدة Xposed: SSLUnpinning - Android Xposed Module لتجاوز التحقق من شهادة SSL (تثبيت الشهادة)
- Cydia Substrate Module: Android SSL Trust Killer - أداة Blackbox لتجاوز تثبيت شهادة SSL لمعظم التطبيقات التي تعمل على جهاز
- وحدة Cydia Substrate Module: RootCoak Plus - فحص جذر التصحيح للعلامات الشائعة للجذر
- Android-ssl-bypass - أداة تصحيح أخطاء Android التي يمكن استخدامها لتجاوز SSL ، حتى عند تنفيذ تثبيت الشهادة ، بالإضافة إلى مهام تصحيح الأخطاء الأخرى. تعمل الأداة كوحدة تحكم تفاعلية
مكتبات الأمن
- PublicKey Pinning - يمكن تحقيق التثبيت في Android من خلال X509TrustManager مخصص. يجب أن يقوم X509TrustManager بإجراء فحوصات X509 المعتادة بالإضافة إلى إجراء تكوين التثبيت
- Android Pinning - مشروع مكتبة مستقل لتثبيت الشهادة على Android
- Java AES Crypto - فئة Android بسيطة لتشفير السلاسل وفك تشفيرها ، بهدف تجنب الأخطاء الكلاسيكية التي تعاني منها معظم هذه الفئات.
- Proguard - ProGuard عبارة عن أداة تقليص ملف فئة Java مجانية ومحسّن ومُشوش ومُنبه. يكتشف ويزيل الفئات والحقول والأساليب والسمات غير المستخدمة
- SQL Cipher - SQLCipher هو ملحق مفتوح المصدر لـ SQLite يوفر تشفير AES 256 بت الشفاف لملفات قاعدة البيانات
- التفضيلات الآمنة - مجمّع التفضيلات المشتركة في Android من تشفير مفاتيح وقيم التفضيلات المشتركة
- المقاصد الموثوقة - مكتبة للتفاعلات الموثوقة المرنة بين تطبيقات Android
اختبار اختراق تطبيقات iOS
الوصول إلى نظام الملفات على iDevice
- FileZilla - يدعم FTP و SFTP و FTPS (FTP عبر SSL / TLS).
- Cyberduck - متصفح Libre FTP و SFTP و WebDAV و S3 و Azure و OpenStack Swift لنظام التشغيل Mac و Windows.
- itunnel - استخدمه لإعادة توجيه SSH عبر USB.
- iProxy - لنقم بتوصيل الكمبيوتر المحمول بجهاز iPhone لتصفح الويب.
- iFunbox - أداة إدارة الملفات والتطبيقات لأجهزة iPhone و iPad و iPod Touch.
الهندسة العكسية والتحليل الثابت
- otool - يعرض الأمر otool أجزاء محددة من ملفات الكائنات أو المكتبات.
- Clutch - فك تشفير التطبيق وتفريغ bundleID المحدد في ملف ثنائي أو ملف .ipa.
- Dumpdecrypted - يفرغ الملفات المشفرة التي تم فك تشفيرها من تطبيقات iPhone المشفرة من الذاكرة إلى القرص. هذه الأداة ضرورية للباحثين الأمنيين ليتمكنوا من النظر تحت غطاء التشفير.
- iPod:~ root# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib/var/mobile/Applications/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Scan.app/Scan
- class-dump - أداة مساعدة لسطر الأوامر لفحص معلومات وقت تشغيل Objective-C المخزنة في ملفات Mach-O.
- Weak Classdump - نص برمجي Cycript يقوم بإنشاء ملف رأس للفئة التي تم تمريرها إلى الوظيفة. أكثر فائدة عندما لا يمكنك تفريغ الفصل أو تفريغها ، عندما يتم تشفير الثنائيات وما إلى ذلك.
iPod:~ root# cycript -p Skype weak_classdump.cy; cycript -p Skype
#cy weak_classdump_bundle([NSBundle mainBundle],"/tmp/Skype")
- IDA Pro - IDA هو نظام Windows أو Linux أو Mac OS X يستضيف أداة تفكيك وتصحيح الأخطاء متعددة المعالجات التي تقدم العديد من الميزات التي يصعب وصفها جميعًا.
- HopperApp - Hopper هي أداة هندسية عكسية لنظامي OS X و Linux ، والتي تتيح لك تفكيك وفك وتصحيح ملفاتك التنفيذية Intel Intel و Linux و Windows و iOS 32/64 بت .
- hopperscripts - يمكن استخدام Hopperscripts لفك اسم وظيفة Swift في HopperApp
- Radare2 - Radare2 هو إطار هندسي عكسي يشبه يونكس وأدوات سطر الأوامر
- iRET - مجموعة أدوات الهندسة العكسية لنظام iOS هي مجموعة أدوات مصممة لأتمتة العديد من المهام الشائعة المرتبطة باختبار اختراق iOS.
التحليل الديناميكي ووقت التشغيل
- cycript - يتيح Cycript للمطورين استكشاف التطبيقات قيد التشغيل وتعديلها على نظامي iOS أو Mac OS X باستخدام مزيج من Objective-C ++ وبناء جملة JavaScript من خلال وحدة تحكم تفاعلية تتميز بتمييز بناء الجملة وإكمال علامة التبويب
- إظهار وحدة تحكم العرض المرئية حاليًا
cy# UIApp.keyWindow.rootViewController.visibleViewController
- اعرض أداة التحكم في العرض أعلى مكدس التنقل
cy# UIApp.keyWindow.rootViewController.topViewController
- الحصول على مجموعة من الكائنات الموجودة لفئة معينة
cy# choose(UIViewController)
- طريقة القائمة في وقت التشغيل
cy# classname.messages
أوcy# function printMethods(className, isa) { var count = new new
Type("I"); var classObj = (isa != undefined) ?
objc_getClass(className)->isa : objc_getClass(className); var methods
= class_copyMethodList(classObj, count); var methodsArray = []; for(var
i = 0; i < *count; i++) { var method = methods[i];
methodsArray.push({selector:method_getName(method),
implementation:method_getImplementation(method)}); } free(methods);
return methodsArray; }
cy# printMethods("<classname>")
- يطبع كل متغيرات الحالة
cy# a=#0x15d0db80
cy# *a
أوcy# function tryPrintIvars(a){ var x={}; for(i in *a){ try{ x[i] = (*a)[i]; } catch(e){} } return x; }
cy# a=#0x15d0db80
cy# tryPrintIvars(a)
- التلاعب من خلال الملكية
cy# [a pinCode]
cy# [a setPinCode: @"1234"]
أوcy# a.setPinCode= @"1234"
- طريقة الضرب
cy# [a isValidPin]
cy# <classname>.prototype.isValidPin = function(){return 1;}
- Frida-cycript - هذا شوكة من Cycript حيث استبدلنا وقت تشغيله بوقت تشغيل جديد تمامًا يسمى Mjølner مدعوم من Frida. وهذا يمكن frida-cycript من العمل على جميع المنصات والمعماريات التي تحتفظ بها frida-core.
- Fridpa - نص برمجي مجمع آلي لترقيع تطبيقات iOS (ملفات IPA) والعمل على جهاز غير مكسور الحماية .
- iNalyzer - مختبرات AppSec iNalyzer عبارة عن إطار عمل لمعالجة تطبيقات iOS والتلاعب بالمعلمات والطريقة.
- Passionfruit - أداة بسيطة لتقييم الصندوق الأسود لتطبيق iOS مع واجهة المستخدم الرسومية المستندة إلى الويب بالكامل. مدعوم من frida.re و vuejs.
- idb - idb هي أداة لتبسيط بعض المهام الشائعة للتطبيق والبحث على نظام iOS.
- snoop-it - أداة للمساعدة في تقييمات الأمان والتحليل الديناميكي لتطبيقات iOS.
- Introspy-iOS - أداة Blackbox للمساعدة في فهم ما يقوم به تطبيق iOS في وقت التشغيل والمساعدة في تحديد مشاكل الأمان المحتملة.
- gdb - أداة لإجراء تحليل وقت التشغيل لتطبيقات IOS
- keychaindumper - أداة للتحقق من عناصر keychain المتاحة للمهاجم بمجرد كسر جهاز iOS
- BinaryCookieReader - أداة لتفريغ جميع ملفات تعريف الارتباط من ملف Cookies.binarycookies الثنائي
تحليل الشبكة والاختبار من جانب الخادم
- Canape - أداة اختبار شبكة للبروتوكولات التعسفية
- مالوري - رجل في الأداة الوسطى (MiTM) يستخدم لرصد ومعالجة حركة المرور على الأجهزة المحمولة والتطبيقات
- Burp Suite - Burp Suite عبارة عن نظام أساسي متكامل لإجراء اختبار الأمان للتطبيقات
- OWASP ZAP - OWASP Zed Attack Proxy Project هو ماسح ضوئي لتطبيقات الويب مفتوح المصدر. الغرض منه هو استخدامها من قبل كل من الجديد لأمن التطبيق وكذلك اختبار الاختراق المحترف
- Charles Proxy - وكيل HTTP / مراقب HTTP / وكيل عكسي يتيح للمطور عرض حركة مرور HTTP و SSL / HTTPS بين أجهزتهم والإنترنت
تجاوز الكشف عن الجذر وتثبيت SSL
- SSL Kill Switch 2 - أداة Blackbox لتعطيل التحقق من صحة شهادة SSL - بما في ذلك تثبيت الشهادة - داخل تطبيقات iOS و OS X.
- iOS TrustMe - تعطيل التحقق من صحة الشهادات على أجهزة iOS
- Xcon - أداة لتجاوز الكشف عن كسر الحماية .
- tsProtector - أداة أخرى لتجاوز الكشف عن كسر الحماية
مكتبات الأمن
- PublicKey Pinning - يتم تثبيت iOS من خلال NSURLConnectionDelegate. يجب على المفوض تنفيذ الاتصال: canAuthenticateAgainstProtectionSpace: والاتصال: didReceiveAuthenticationChallenge :. ضمن الاتصال: didReceiveAuthenticationChallenge: ، يجب على المفوض استدعاء SecTrustEvaluate لإجراء عمليات فحص X509 مألوفة
- OWASP iMAS - iMAS هو مشروع بحثي تعاوني من شركة MITER يركز على ضوابط أمان iOS مفتوحة المصدر