آموزش Pentest Android؛ تست نفوذ اندروید
مدرس: عرفان توکلی و علی سلطانی
تست نفوذ اندروید به مشاهده چند درخواست API محدود نیست؛ باید معماری برنامه، مرز Sandbox، Componentهای در معرض دسترس و چرخه داده از دستگاه تا سرور شناخته شود. این دوره با تدریس مشترک عرفان توکلی و علی سلطانی، تحلیل ایستا و پویا را به یک فرایند ارزیابی منسجم متصل میکند و از ساختار APK تا رفتار برنامه در زمان اجرا پیش میرود.
در تحلیل ایستا، AndroidManifest، DEX، منابع، Signing و کتابخانههای Native با ابزارهایی مانند JADX و apktool بررسی میشوند. در تحلیل پویا، ADB، Emulator و Frida برای مشاهده مسیر اجرای برنامه، ورودی و خروجی Method و ارتباط Componentها به کار میروند. تمرکز بر فهم کنترل امنیتی و محل اجرای آن است؛ Root Detection، Certificate Pinning یا Obfuscation باید در زمینه معماری و محدودیت آزمون تفسیر شوند.
ذخیرهسازی محلی، Keystore، داده پشتیبان، Log، IPC، Deep Link، WebView و ارتباطات شبکه با راهنمایی موضوعات OWASP MASVS و MASTG ارزیابی میشوند. بخش Backend به مدیریت Session و Token، Authorization و اتصال هویت به Object میپردازد تا یافته سمت کلاینت با اثر واقعی سمت سرور اشتباه نشود. خروجی دوره، گزارش قابل بازتولید شامل مسیر داده، Component یا Method مرتبط، Preconditions و راهکار اصلاح برای تیم Android و Backend است.
مهارتهایی که در این دوره دنبال میکنید
- ساخت نقشه سطح حمله APK و Componentها
- تحلیل Manifest، DEX و مسیرهای پردازش داده
- مشاهده رفتار برنامه با ADB و Frida
- ارزیابی Storage، IPC، WebView و Network Security
- تست Authorization و چرخه Token در API مرتبط
- تدوین گزارش مبتنی بر شواهد و دستهبندی MASVS
پیشنیازهای فنی
- آشنایی با HTTP، API، Session و Token
- توانایی خواندن کد Java یا Kotlin در سطح مقدماتی
- آشنایی با خط فرمان و مفاهیم فایلسیستم لینوکس
- شناخت مقدماتی تست نفوذ وب و کنترل دسترسی
ابزارها و منابع فنی مسیر آموزش
- ADB و Android Emulator
- JADX و apktool برای تحلیل ساختار و کد
- Frida برای مشاهده و Instrumentation زمان اجرا
- Burp Suite و Browser/Network Tools
- OWASP MASVS و MASTG
برنامه آموزشی و سرفصلهای تخصصی
1. معماری Android؛ Sandbox، UID و چرخه برنامه
- نقش ART، Zygote و Process اپلیکیشن
- مدل Permission و تفاوت مجوزهای حساس
- شناخت Activity، Service، Receiver و Provider
- تعیین مرز Client، Platform و Backend
2. آمادهسازی آزمایشگاه و جمعآوری شواهد
- تنظیم Emulator و دستگاه آزمایشگاهی
- کار با ADB، Logcat و Package Manager
- مدیریت Snapshot، نسخه APK و Hash
- ثبت تفاوت نسخه Android و رفتار برنامه
3. ساختار APK، DEX و AndroidManifest
- تحلیل Manifest، Resource و Asset
- بررسی Exported Component و Intent Filter
- شناخت Signing و اثر تغییر بسته
- استخراج Surface اولیه با JADX و apktool
4. تحلیل ایستا و ردیابی مسیر داده
- خواندن کد Decompiled و محدودیت بازسازی
- جستوجوی Endpoint، Secret و تنظیمات حساس
- ردیابی ورودی کاربر تا Storage یا Network Sink
- شناخت Obfuscation و تفاوت Java/Kotlin و Native
5. Instrumentation با Frida و مشاهده زمان اجرا
- شناخت Hook در سطح Method و کلاس
- مشاهده آرگومان، نتیجه و Context اجرا
- بررسی Call Flow و Class Loader
- اتصال مشاهده پویا به یافته تحلیل ایستا
6. Data Storage؛ SQLite، Preference، File و Backup
- بررسی SharedPreferences و پایگاه داده محلی
- تفکیک Internal و External Storage
- تحلیل نشت داده در Log، Cache و Backup
- بررسی داده حساس و چرخه حذف و نگهداری
7. رمزنگاری، Keystore و مدیریت Secret
- تفکیک Encoding، Hashing و Encryption
- بررسی منشأ و محل نگهداری Key
- شناخت قابلیت و محدودیت Android Keystore
- تحلیل استفاده نامناسب از Crypto API در Context برنامه
8. امنیت Component و ارتباط IPC
- بررسی Activity و Service در معرض دسترس
- تحلیل Broadcast و مجوز ارسال و دریافت
- بررسی ContentProvider و دسترسی به داده
- اعتبارسنجی ورودی در مرز Componentها
9. Deep Link، Intent و WebView Security
- بررسی URL Scheme و App Link
- تحلیل Intent Redirection و داده ورودی
- بررسی JavaScript Bridge و تنظیمات WebView
- تفکیک کنترل Navigation و دسترسی به منابع محلی
10. Network Security، TLS و Certificate Pinning
- تنظیم Proxy و بررسی ترافیک آزمایشگاهی
- تحلیل Network Security Configuration
- بررسی Certificate Validation و Pinning در مسیر ارتباط
- شناخت محدودیت مشاهده در Native و Custom Network Stack
11. Authentication، Token و API Authorization
- بررسی چرخه ورود، Refresh و خروج نشست
- ارزیابی نگهداری Token و اتصال به هویت
- تست BOLA و Function-level Authorization
- تفکیک کنترل کلاینت و مجوز معتبر سمت سرور
12. Native Library، JNI و حفاظتهای برنامه
- شناخت فایل SO و مرز JNI
- بررسی رشته و Dependency کتابخانه Native
- تحلیل Root/Debug Detection و Obfuscation در سطح طراحی
- ثبت محدودیت ابزار و نیاز به تحلیل عمیقتر
13. گزارش MASTG، اثر و پیشنهاد اصلاح
- نگاشت یافته به Storage، Network و Platform Control
- ثبت Package، Component، Method و نسخه دستگاه
- تهیه مراحل بازتولید و Evidence قابل بررسی
- پیشنهاد اصلاح جداگانه برای Android و Backend
سناریوی تمرین و خروجی فنی
یک اپلیکیشن آزمایشگاهی همراه با API بررسی میشود. خروجی شامل فهرست Componentها، Data Flow یک داده حساس، شواهد تحلیل ایستا و زمان اجرا، ارزیابی Storage و Network و گزارش چند یافته با تفکیک اثر سمت دستگاه و سمت سرور است.
شیوه ارائه و برنامهریزی یادگیری
شیوه ارائه این دوره ضبطشده / آنلاین است. سرفصلها و زمانبندی جلسات، برنامه آموزشی دوره را نشان میدهند؛ دسترسی به محتوای جلسات پس از فعالشدن ثبتنام ارائه میشود.
