
- بواسطة x32x01 ||
ليه دلوقتي الـ Mobile Pentesting بقى مهم جداً؟ 
ازمان كانت الهجمات مركزة على الويب بس، لكن مع انتشار الموبايلات والتطبيقات، الـ Mobile Apps بقت جزء لا يتجزأ من أي Scope في الـ Bug Bounty أو Pentest. لو شغال اختراق أو عايز تدخل المجال، لازم تعرف طريقة شغل موبايل أبليكايشنز لأن الداتا، الجلسات، والـ APIs كلها هدف كبير.Discovery - جمع المعلومات الأوليّة
OSINT وجمع أي معلومة ممكنة
- دور على اسم التطبيق، الـ package name، الصفحات الرسمية، repos على GitHub، وأي تقارير أو تسريبات.
- ملاك الـ app بيستخدموا third-party libs؟ لو لقيت مكتبات قديمة ممكن تكون ثغرة.
فهم المنصة (Android vs iOS)
- اعرف الـ architecture: Android (Java/Kotlin, APK) ولا iOS (Swift/Obj-C, IPA).
- ده يؤثر على الأدوات والطريقة (مثلاً tools زي apktool, jadx للـ Android).
Client-side / Server-side scenario
- هل التطبيق Native، Hybrid (React Native, Xamarin)، ولا WebView؟
- Hybrid/WebView معناه إن في احتمال كبير لوجود ضعف زي XSS أو Insecure WebView.
Assessment / Analysis - ازاي تحلل التطبيق فعليًا
Static Analysis (من غير تشغيل)
- فكّ الـ APK/IPA وشوف الـ source أو الـ smali. دور على hardcoded keys، URLs، وتكوينات سيئة.
- أدوات مفيدة:
Bash:
# لفك APK
apktool d app.apk
# لتحويل dex إلى java
jadx-gui app.apk
Dynamic Analysis (وأنت بتشغل التطبيق)
- شغّل التطبيق على محاكي أو جهاز اختبار، وعبّر الترافيك عبر Burp Proxy.
- استخدم adb لتصيد الـ logs أو تعديل الـ filesystem:
Bash:
adb logcat
adb shell
- أدوات زي Frida أو Objection بتسهل تعديل runtime وفحص الوظايف الداخلية.
Archive & Local File Analysis
- افتح الـ APK/IPA وابحث في res، assets، وconfig files (مثلاً config.json, .plist).
- دور على ملفات SQLite، ملفات مؤقتة، أو أي بيانات مخزنة بدون تشفير.
Reverse Engineering
- افهم الـ business logic: فين الـ auth؟ إزاي بيتعاملوا مع التوكنز؟
- استخدام jadx, apktool, Hopper أو Ghidra لو محتاج تعمق.
Network Forensics
- راقب الـ API calls، شوف استخدام HTTPS/SSL، وتحقق من Certificate Pinning أو وجوده.
- جرّب هجمات man-in-the-middle لو في ثغرة في TLS أو لو التطبيق ما بيعملش pinning.
Exploitation - تنفيذ الاستغلال وتصعيد الصلاحيات
خطوات عامة
- استغل الثغرة اللي لقيتها (مثلاً insecure storage أو weak auth).
- حاول تصعد صلاحيات أو تحصل على session hijack أو sensitive data extraction.
- لو لقيت binary قابلة للتعديل، جرب عمل repackaging مع payload تجريبي (بس على بيئتك).
مثال بسيط لفحص إن الـ App بيستخدم TLS بشكل مظبوط
- اعبر الترافيك عبر Burp. لو الطلبات تمشي بدون مشاكل وبدون errors، جرب تعطيل SSL verification على جهاز الاختبار وشوف لو الترافيك ما زال يمر - لو مر، معناها ضعف في الحماية.
Reporting - طريقة تسليم النتيجة صح
- اكتب خطوات التكُرار (repro steps) واضحة: environment، أدوات، أوامر، ولقطات شاشة.
- قيّم Impact وRisk وقدم توصيات عملية: (fix TLS, encrypt storage, use proper auth flows, secure session handling).
أهم الـ Vulnerabilities في الموبايل (ملف OWASP Mobile Top 10 مُبسّط)
1) Weak Server Side Controls
لو الـ backend ضعيف، التطبيقات هتبقى معرضة لكل مشاكل الـ web زي Injection وBroken Auth.2) Insecure Data Storage
الـ data المخزنة على الجهاز (SQLite، ملفات، logs) لازم تكون مؤمنة. لو مش مشفرة هتتسرّب بسهولة.3) Insufficient Transport Layer Protection
لو الـ TLS ضعيف أو مفيش certificate pinning، الـ data بتتعرض للـ sniffing و tampering.4) Unintended Data Leakage
الأذونات (Camera، Location) لو مُستخدَمة غلط بتسبب تسريب بيانات حساسة - راجع permissions كويس.5) Poor Authorization & Authentication
Auth ضعيف يعني session hijack، role escalation، وaccess لبيانات مش خاصة بالمستخدم.6) Broken Cryptography
استخدام خوارزميات قديمة (زي MD5) أو حفظ keys في مكان مكشوف بيخلي التشفير عديم الجدوى.7) Client Side Injection
نفس فكرة Injection على الويب - لو الـ app بيرسل استعلامات غير مؤمنة، ممكن حد يحقن كود أو قرارات خبيثة.8) Security Decisions via Untrusted Inputs
لو الـ app بيعتمد على بيانات من الـ client لاتخاذ قرارات أمان (مثلاً hidden flags)، ده خطر.9) Improper Session Handling
لو الجلسات مش مؤمنة (session tokens محفوظة في مكان مكشوف أو مش بتتجدد)، سهل يتم اختطافها.10) Lack of Binary Protections
لو الـ binary سهل تعملها decompile وrepack، الهاكرز ممكن يعدل ويشغّل app ملوّث.أدوات عملية تنصح بها للتست (قائمة سريعة)
- Static: jadx, apktool, class-dump
- Dynamic: Frida, Objection, adb, mitmproxy, Burp Suite
- Reverse: Ghidra, Hopper
- Packaging/testing: apktool, signapk
نصايح عملية وسريعة للبرتكشن
- ما تحتفظش keys أو secrets جوه الـ app.
- استعمل TLS بشكل سليم مع certificate pinning.
- شفّر البيانات الحساسة وامن الـ local storage.
- اعمل hardening للـ binaries (obfuscation، anti-tamper).
- اطبّق rate-limiting و strong auth على السيرفر.

التعديل الأخير: