راه اندازی آزمایشگاه تست نفوذ برنامه های اندرویدی

در این مقاله ، قصد داریم در مورد نحوه راه اندازی آزمایشگاه تست نفوذ برنامه های اندرویدی به زبان ساده صحبت کنیم.
پیش نیازها
- VirtualBox محیط ماشین مجازی
- mobile pentest distro یک توزیع مخصوص تست نفوذ موبایلی نظیر Santoku
- android emulator شبیه ساز اندروید نظیر Genymotion
- Java decompiler دکامپایلر جاوا نظیر JADX
- برنامه IDA Pro
- برنامه Frida
قدم اول – نصب Santoku
فرض بر این است که خواننده از قبل می داند چگونه VirtualBox را نصب کند، بنابراین با نصب Santoku distro شروع می کنیم. Santoku نسخهای از لینوکس است به ویژه برای تست نفوذ تلفن همراه طراحی شده است. می توانید فایل ISO را از اینجا دانلود کنید: لینک
پس از پیکربندی تنظیمات ماشین مجازی (دیسک ، حافظه ، پردازنده) این صفحه را مشاهده خواهید کرد ، گزینه “install -start the installer مستقیم” را مانند شکل زیر انتخاب کنید.

تمام تنظیمات (طرح دیسک ، مکان ، زبان و غیره) ماشین مجازی را پیکربندی کنید و نصب را شروع کنید، از اینجا روند نصب آغاز می شود. پس از اتمام این فرآیند و راه اندازی مجدد سیستم ، توزیع سانتوکو در دسترس است. حال بیایید با نصب شبیه ساز شروع کنیم.

قدم دوم – نصب Genymotion
شبیه سازهای آندروید مختلفی در دسترس است اما بنا بر تجربه ، Genymotion از بهترین هاست زیرا راه اندازی آن ساده است و یک UX (تجربه کاربری) عالی ارائه می دهد. می توانید نسخه رایگان (30 روزه) Genymotion را از اینجا دریافت کنید: لینک

می توانید نسخه SDK را با دستگاه های مربوطه انتخاب کنید. برای این مثال ، من شماره 23 را با دستگاه S7 Galaxy انتخاب می کنم. شما باید روی دستگاه انتخاب شده کلیک راست کرده و “Install” را فشار دهید ، این کار روند بارگیری را مانند شکل زیر آغاز می کند.

بعد از اتمام مراحل بارگیری راه اندازی آزمایشگاه تست نفوذ برنامه های اندرویدی، می توانید دستگاه های مجازی را اجرا کنید ، Genymotion از Virtualbox برای پشتیبانی از فرآیند شبیه سازی استفاده می کند ، بنابراین هر دستگاه مانند یک ماشین مجازی ظاهر می شود. یک مرحله مهم نصب “Open GApps” است ، این نرم افزار ابزارهای Google Apps Package را فراهم می کند. در گوشه سمت راست ، می توانید دکمه Open GAPPS را مشاهده کنید ، روی آن کلیک کنید و با این کار نصب Open GApps آغاز می شود. پس از اتمام نصب ، شروع مجدد لازم است.

قدم سوم – نصب JADX
این برنامه از ابزارهای مورد علاقه ماست ، JADX به شما امکان می دهد تا فایل .dex را از حالت کامپایل شده خارج کنید و می توانید با کل APK کار کنید و همچنین AndroidManifest.xml را بخوانید. ابزارهای دیگری نیز وجود دارد که به صورت جداگانه همان کارهای JD-GUI، APKtool، j2-dex2jar را انجام می دهند ، اما با JADX این کارها را با یک ابزار انجام می دهید. البته ، برای آزمایش نفوذ به یک ابزار اعتماد نکنید. مراحل نصب آسان است فقط کافیست موارد زیر را در ترمینال انجام دهید:
git clone https://github.com/skylot/jadx.git
cd jadx
./gradlew dist
برای اجرای JADX به Java 8 نیاز دارید.

با این کار ساختار پوشه نشان داده شده در شکل زیر ایجاد می شود.

./jadx-gui را اجرا کرده و پرونده APK را انتخاب کنید. شما آماده استفاده از JADX و مشاهده کد منبع برنامه هستید.

قدم چهارم – نصب IDA
ما به IDA (Ghidra، x64dbg، Immunity Debugger نیاز داریم تا ابزاری با قابلیت جداسازی کد ماشین و “تبدیل” به نمایشی قابل خواندن توسط انسان باشد.
فایل ./ida64 را در محلی کپی و آن را اجرا کنید.

پرونده .so یا APK را با نسخه PRO انتخاب کنید و پس از آن صفحه ای مانند شکل زیر ظاهر می شود.

این آموزش چگونگی عملکرد IDA به شما نشان نمی دهد، اما در آینده ، به شما نشان خواهیم داد که چگونه می توانیم از IDA برای تجزیه و تحلیل کتابخانه های بومی یا پرونده APK برنامه های Android استفاده کنیم.
قدم پنجم – نصب Frida
فریدا یک مجموعه ابزار دقیق سازی کد پویا است. چه مفهومی داره ؟ خوب ، این به شما امکان می دهد از Javascript / Python برای برقراری تماس های بومی یا جاوا در برنامه های Android استفاده کنید. بنابراین ، در کدام حالت من از فریدا استفاده کنم؟ خوب برای مثال در مواردی که برای تغییر رفتار یک عملکرد از پیش تعریف شده (اعتبار سنجی ، ورود به سیستم و غیره) به فرآیند خاصی نیاز دارید موقع استفاده از فریدا است
برای نصب فریدا به موارد زیر نیاز دارید:
ابزارهای Frida را با pip -> pip نصب frida-tools نصب کنید (در دستگاه میزبان)
frida-server را از طریق: پیوند
سرور frida را با استفاده از دستورات زیر نصب کنید:
adb devices
# push/copy the latest frida server to phone
adb push frida-server-10.4.0-android-arm /data/local/tmp/frida
# set permissions for frida, grant SU permissions if prompted
adb shell su -c “chmod 755 /data/local/tmp/frida”
# start frida server on android device
adb shell su -c “./data/local/tmp/frida &”
4- فریدا را با استفاده از ترمینال پایتون تست کنید.
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15)
[GCC 7.3.0] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import frida # import frida tools
>>> frida.get_usb_device() # enum avaiable devices
Device(id=”192.168.56.101:5555″, name=”Genymotion Samsung Galaxy S7″, type=’usb’)
>>>
خوب به پایان این مقاله رسیدیم.… البته دقت کنید که راه های زیادی برای راه اندازی آزمایشگاه تست نفوذ برنامه های اندرویدی وجود دارد اما این روش راه اندازی آزمایشگاه تست نفوذ برنامه های اندرویدی، مسیر خوبی برای شروع است. در مقالههای آینده، در مورد روش های مختلفی که می توانیم تست نفوذ برنامه های اندروید را انجام دهیم، صحبت خواهیم کرد.
موفق باشید

دیدگاهتان را بنویسید