amirhoseintangsirinet
amirhoseintangsirinet
خواندن ۵ دقیقه·۴ سال پیش

نحوه نصب DVIA در Xcode | تست نفوذ iOS Application

در این محتوا قصد داریم به بررسی و چگونگی نصب محیط DVIA به منظور تست نفوذ نرم افزار های iOS بپردازیم

نویسنده: امیرحسین تنگسیری نژاد

آیا تکون فکر کرده ایید اگر بخواهیم تست نفوذ سنجی برنامه های iOS را انجام دهیم باید از کجا شروع کنیم؟! و از همه مهم تر چه Solution و محیط های پیش روی ما می باشد؛ محیط DVIA یک محیط Virtual برای شبیه سازی تست نفوذ سنجی نرم افزار های سیستم عامل iOS می‌باشد که محبوبیت بسیاری در بین متخصصین امنیت نرم افزار دارد، در این آموزش به Complie سازی این محیط در سیستم عامل Mac OS و محیط Xcode می‌پردازیم

پیش نیازات سیستمی:

  • Mac OS
  • Xcode 8

نصب قدم به قدم DVIA

1: دانلود DVIA

mkdir ~/dvia cd ~/dvia git clone https://github.com/prateek147/DVIA.git

درصورتی که از Git نتوانستید آن را دانلود کنید به شکل زیر عمل کنید

mkdir ~/git cd ~/git curl -L https://github.com/prateek147/DVIA/archive/master.zip | tar zx mv DVIA-master DVIA

2: اجرای محیط در Xcode

cd ~/git/DVIA/DVIA/DamnVulnerableIOSApp open DamnVulnerableIOSApp.xcworkspace

3: غیرفعال سازی ATS یا همان Application Transport

شرکت Apple در سیستم عامل های iOS سری 9 ویژگی تحت عنوان ATS یا همان Application Transport Security را ارائه داده است که به تصریح و قدرتمند سازی اتصالات Https در iOS کمک شایانی می‌کند این ویژگی در Xcode نیز فعال می‌باشد و به دلیل استفاده گسترده DVIA از Http اروری به شکل زیر دریافت ‌می‌کنید

2016-09-10 15:37:04.340 DamnVulnerableIOSApp[4814:378583] App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

برای غیرفعال سازی ویژگی ATS یا همان Application Transport Security می‌بایست فایل Plist را ویرایش کنید(در اینجا من از vim که یک Text-Editor تحت Console می‌باشد استفاده می‌کنم شماها می‌توانید از هر Text-Editor دیگری استفاده کنید)

vim DamnVulnerableIOSApp/DamnVulnerableIOSApp-Info.plist

به انتهای پرونده بروید و کد زیر را به آن اضافه کنید

<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key><true/> </dict>

4: پیکربندی Simulator در Xcode

پیشنهاد میکنم از iPhone 7 استفاده کنید زیرا ابعاد صفحه بهتری دارد معمولا و سازگاری خوبی با اکثر سیستم ها
نکته: همچنین می‌توانید از یک گوشی iPhone فیزیکی نیز استفاده کنید.

در قسمت Project پروژه خود را که DamnVulnerableIOSApp را انتخاب کنید

قسمت Bundle Identifier یک نام قرار دهید

سپس در قسمت Signing بخش Automatically manage signing را انتخاب کنید و بر روی Enable Automatic قرار دهید.

در قسمت Signing بخش Team می‌بایست اکانت توسعه دهنده خود را در منو Drop-Down قرار دهید

مراحل بالا را برای WatchKit نیز طی کنید

در این مرحله می‌بینید که Xcode تعدادی خطا به ما می‌دهد که زیاد اهمیتی ندارند فعلا

5: انتخاب گروه AppleWatch و یک گروه خاص توسط خودمان

به قسمت Capabilities قسمت Apps Group بروید و مراحل زیر را طی کنید

  • گروه group.dvia.AppleWatch را علامت بزنید
  • یک گروه را وارد کنید(برای مثال من group.ahoog42.dvia را وارد کرده ام)

6: اپدیت سازی WatchKit به منظور ایجاد تقییرات و گروه ها

vim DamnVulnerableIOSApp\ WatchKit\ Extension/Info.plist

کد زیر را در آخر فایل قرار دهید

<key>WKAppBundleIdentifier</key> <string>com.ahoog42.dvia.watchkitapp</string>

7: حذف WatchKit Binary

در این بخش می‌خواهیم WatchKit Binary را حذف سازیم. به قسمت General بخش Embedded Binaries و انتخاب دکمه "-"

در اینجا Xcode از شما سوال می‌پرسد آیا قسمت حذف این Binary را دارید

8: نصب CocoaPods

یک فریمورک در Xcode که زبان Ruby نوشته شده است و وظایف مختلفی را نیز دارد ایفا می‌کند. از جمله این وظایف آپدیت خودکار Library ها و Framework ها می‌باشد

شروع نصب

# gem install cocoapods cd ~/git/DVIA/DVIA/DamnVulnerableIOSApp pod init vim Podfile

ایجاد تقییرات در فایل Podfile و قرار دادن پارامتر های زیر

# Pods for DamnVulnerableIOSApp pod 'Parse' pod 'GoogleAnalytics' pod 'Realm' pod 'couchbase-lite-ios' pod 'Flurry-iOS-SDK/FlurrySDK'

9: نصب CocoaPods انتخاب شده

از محیط Xcode خارج شوید و دستور زیر را وارد کنید

pod install

پس پایان نصب پیغام خطا زیر را دریافت خواهید کرد

Pod installation complete! There are 6 dependencies from the Podfile and 6 total
pods installed.

[!] The `DamnVulnerableIOSApp [Debug]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods-DamnVulnerableIOSApp/Pods-DamnVulnerableIOSApp.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

[!] The `DamnVulnerableIOSApp [Release]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods-DamnVulnerableIOSApp/Pods-DamnVulnerableIOSApp.release.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

10: حذف ObjC

فایل DamnVulnerableIOSApp.xcworkspace در Xcode باز کنید

پرچم ObjC را حذف کنید

  • به قسمت DamnVulnerableIOSApp بروید
  • وارد قسمت Build Settings شوید
  • دوبار بر روی Other Linker Flags کلیک کنید
  • حذف ObjC
  • اضافه کردن $(inherited)

11: حذف framework های غیرضروری

حذف framework های غیرضروری همانند:

  • libFlurry_6.4.0.a
  • CouchbaseLite.framework
  • Parse.framework
  • libGoogleAnalyticsServices.a
  • Realm.framework

12: نصب و Compile محیط DVIA

به منوی Product بروید و بروی گزینه Clean به منظور آماده سازی نهایی کلیک کنید

اکنون آماده هستید که DVIA را نصب و Compile کنید. فقد کافیست دیوایس مورد نظر خود را انتخاب کنید و بر روی دکمه Play کلیک کنید


iosxcodemac osامنیت سایبریتست نفوذ نرم افزار
شاید از این پست‌ها خوشتان بیاید