کار با ابزار mobsf

معرفیفریمورک هندی Mobsf(Mobile Security Framework)، یک فریمورک تست نفوذپایتونی به اصطلاح All-in-one برای تحلیل بدافزار، تحلیل ایستا و تحلیل پویای اپلیکیشن های اندرویدی/آی.اُ.اس/ویندوزی است. این فریمورک رایگان و متن باز است. سایتی که توسعه دهندگان آن برای ارائه مشاوره امنیتی و دریافت پروژه راه اندازی کرده‌اند https://opensecurity.in است. علی‌رغم اینکه شرکت بزرگی پشت این تیم نیست، صفحه گیت این ابزار، بروز و محبوبیت بالاییدارد. حساب donate این صفحه گیت نیز به نام Ajin Abraham که یک هندی ساکن کانادا است منتسب است. کد این فریمورک با جنگو نوشته شده است و دارای کیفیت رتبه A است.طبق مخزن گیت این فریمورک ۴۶۵۶ستاره، ۱۴۱۵فورک و ۳۱ مشارکت کننده نشان دهنده فعال بودن این فریمورک در کامیونیتی است. از جمله امکاناتی که این فریمورک در اختیار قرار می‌دهد به شرح زیر است:دارای Rest APIsقابلیت انجام فازینگ با کمک CapFuzzامکان نصب بر روی هر سه سیستم عاملکارهایی که ابزار انجام می‌دهد در ترمینال نمایش داده می‌شودبرای تحلیل داینامیک صرفاً اپ اندرویدی را پشتیبانی می‌کندای.پی.آی هایی که فراخوانی شده‌اند را نمایش می‌دهد.اینکه چه فایل‌هایی باز شده‌اند را نمایش می‌دهدالگوریتم های رمزنگاری استفاده شده نمایش داده می‌شودیک پراکسی هم برای دریافت کانکشن ها ران می‌کندچک بدافزار برای یو.آر.ال ها انجام می‌شودشما باید به قسمت‌های مختلف اپلیکیشن بروید. ایجنت در پس زمینه جریان ها را یاد می‌گیرد و تست امنیتی را برای آن جریان هایی که شما پیموده اید انجام می‌دهد.قابلیت انجام تحلیل ایستا و پویاdynamic ssl testingFuzzing REST APIVulnerability detection XXE, SSRF, IDOR Directory traversal or path traversal, logic and session vulnerability, API rate limitingنصب و راه اندازیبا توجه به اینکه این ابزار از کتابخانه‌های پایتون استفاده می‌کند توصیه می‌شود در یک محیط مجازی (virtual environment)‌ پایتون نصب شود تامشکلاتی نظیر تداخل نسخه های مختلف کتابخانه‌ها پیش نیاید. بدین ترتیب ابتدا یک محیط مجازی ایجاد میکنیم و مابقی مراحل نصب را بر روی آن انجام می دهیم. با کمک virtualenv یک محیط ایزوله برای پایتون می‌سازیم. Virtualenv یک پوشه که شامل همه فایل‌هایی که در اجرای یک پروژه پایتونی نیاز است را می‌سازد. این بین معناست که هر پروژه می‌تواند وابستگی‌های خود را داشته باشد بدون توجه به اینکه پروژه های دیگر چه وابستگی‌هایی را دارند.git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.gitcd Mobile-Security-Framework-MobSFpip3 install virtualenvvirtualenv -p python3 venvsource venv/bin/activatepip3 install -r requirements.txtsudo python manage.py runserverسپس به مرورگر رفته و آدرس زیر را وارد نماییدhttp://localhost:8000/ما فایل apk ‌نرم افزار keepass‌ را برای ارزیابی ایستا داده ایم. تصویر زیر بخشی از نتیجه ارزیابی را نشان می‌دهد. مواردی نظیر امتیاز امنیت با معیار cvss و همچنین آمار هایی از اپ نظیر تعداد سرویس ها و اکتیویتی های exported در گزارش ارزیابی به چشم می‌خورد. در منوی سمت چپ، دسترسی به قسمت‌های مختلف گزارش فراهم شده است. گزارش بسیار جامع از ابعاد مختلف قابل مشاهده است. همچنین برای اینکه خروجی پی.دی.اف گرفته شود لازم است تا ابزار زیر نصب شود.sudo apt-get install wkhtmltopdfو سپس از منوی سمت چپ گزینه PDF Export‌ انتخاب شود.نکته بسیار مهمدر بررسی برخی از اپ ها متوجه شدیم که Mobsf‌ در یک اجرای بی پایان می‌ماند. با بررسی لاگ متوجه شدیم در مرحله تبدیل فایل .dex به فایل java با نرم‌افزار jadx این مشکل به وجود می‌آید. با طرح مسئله در پیج jadx، توسعه دهندگان پیشنهاد استفاده از نسخه جدیدتر که رفع باگ شده را دادند. اما این نسخه unstable است و mobsf نپذیرفت که آن را در پروژه خود قرار دهد. بنابراین ما آن را در سیستم خودمان با نسخه قبلی جایگزین کردیم.انجام تحلیل پویادر صورتی که از نسخه ۲.۰.۲ فریمورک MobSF استفاده می‌کنید تنها راه انجام تحلیل پویا استفاده از ایمولاتور جنی موشن (Genymotion) است.در بخش تحلیل پویا، MobSF دیگر از ova پشتیبانی نمی کند و صرفا از genymotion استفاده می کند. این بدان معناست که تمامی آموزش هایی که مبنی بر ova‌ و تغییر تنظیمات فایل settings.py هستند بلا استفاده شده اند. مانند آموزش های موجود در لینک های زیر که البته مشابه اینها فراوان است! بنابراین به هیچ وجه از آموزش‌های دیگری که در وب است مانند موارد زیر استفاده نکنید!http://abhi7435thakur.blogspot.com/2017/11/security-testing.htmlhttps://kalilinuxtutorials.com/mobsf-mobile-security-framework/ایمولاتور Genymotion که برای گوشی های اندرویدی استفاده می‌شود بسیار سبک است و همچنین مراحل نصب ساده‌ای دارد. پیش نیاز این نرم‌افزار هم، نرم‌افزار virtualbox است که از قبل باید بر روی سیستم تان نصب باشد.مراحل نصب Genymotionابتدا Genymotion را از سایت https://www.genymotion.com دانلود نمایید. برای دانلود، باید در وبسایت آن یک اکانت برای استفاده شخصی بسازید. در صفحه اول این سایت گزینه Desktop Sign In‌ را بزنید و سپس در صفحه بعد، گزینه ساخت اکانت جدید را انتخاب کنیدسپس می‌توانید فایل را دانلود نمایید که احتمالاً یک فایل به نام genymotion-3.0.3-linux_x64.bin است. سپس دستورات زیر را اجرا نماییدchmod +x genymotion-3.0.3-linux_x64.bin$./genymotion-3.0.3-linux_x64.binانتقال به دایرکتوی هوم$ mv genymotion ~/.genymotionاضافه کردن آن به path.$ vim ~/.bashrcexport PATH="/home/$USER/.genymotion:$PATH"سپس ترمینالی باز کرده و دستور$ genymotionرا اجرا نمایید تا نرم‌افزار باز شود. پس می‌توانید ایمولاتور گوشی های مختلفی که نیاز دارید را به آن اضافه کنید. تصویر زیر، اسکرین شاتی از این نرم‌افزار بعد از اضافه کردن چند مدل گوشی است.ما بر روی مدل Galaxy S8‌ سامسونگ کار تحلیل پویا را انجام خواهیم داد.آغاز تحلیل پویابرای انجام تحلیل پویا، بهتر است فریمورک MobSF‌ را بعد از بوت گوشی اجرا کنید. پس در صورتی که MobSF در حال اجرا است آن را متوقف کنید. گوشی Galaxy S8 که در Genymotion‌ اضافه کرده‌اید را ران کنید. بعد از اینکه گوشی بالا آمد، MobSF‌ را اجرا کنید. سپس به بخش تحلیل پویا (Dynamic Analysis) در MobSF بروید. در صفحه‌ای که باز می‌شود لیستی از اپ هایی که قبلاً تحلیل ایستای آن‌ها را انجام داده‌اید برای شما نمایش می‌دهد که در سمت راست آن‌ها گزینه انجام تحلیل پویا قرار گرفته است.گزینه Start Dynamic Analysis را بزنید. باید صفحه‌ای مانند صفحه زیر نمایش داده شود.در این صفحه گزینه start instrumentation را بزنید. همچنین گزینه Show Screen‌ هم صفحه نمایش موبایل را به شما نشان میدهد (منظور همان گوشی Galaxy S8 است). گزینه های دیگری نیز برای تحلیل اکتیویتی ها و ای.پی.آی ها وجود دارند که می‌توانید از آن‌ها استفاده کنید و در نهایت گزارش خروجی بسیار مناسبی را با کمک گزینه Generate Report دریافت نمایید.از تحلیل ایستا و پویای این ابزار لذت ببرید…پایان