آیا تکون فکر کرده ایید اگر بخواهیم تست نفوذ سنجی برنامه های iOS را انجام دهیم باید از کجا شروع کنیم؟! و از همه مهم تر چه Solution و محیط های پیش روی ما می باشد؛ محیط DVIA یک محیط Virtual برای شبیه سازی تست نفوذ سنجی نرم افزار های سیستم عامل iOS میباشد که محبوبیت بسیاری در بین متخصصین امنیت نرم افزار دارد، در این آموزش به Complie سازی این محیط در سیستم عامل Mac OS و محیط Xcode میپردازیم
پیش نیازات سیستمی:
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
cd ~/git/DVIA/DVIA/DamnVulnerableIOSApp open DamnVulnerableIOSApp.xcworkspace
شرکت 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>
پیشنهاد میکنم از iPhone 7 استفاده کنید زیرا ابعاد صفحه بهتری دارد معمولا و سازگاری خوبی با اکثر سیستم ها
نکته: همچنین میتوانید از یک گوشی iPhone فیزیکی نیز استفاده کنید.
در قسمت Project پروژه خود را که DamnVulnerableIOSApp را انتخاب کنید
قسمت Bundle Identifier یک نام قرار دهید
سپس در قسمت Signing بخش Automatically manage signing را انتخاب کنید و بر روی Enable Automatic قرار دهید.
در قسمت Signing بخش Team میبایست اکانت توسعه دهنده خود را در منو Drop-Down قرار دهید
مراحل بالا را برای WatchKit نیز طی کنید
در این مرحله میبینید که Xcode تعدادی خطا به ما میدهد که زیاد اهمیتی ندارند فعلا
به قسمت Capabilities قسمت Apps Group بروید و مراحل زیر را طی کنید
vim DamnVulnerableIOSApp\ WatchKit\ Extension/Info.plist
<key>WKAppBundleIdentifier</key> <string>com.ahoog42.dvia.watchkitapp</string>
در این بخش میخواهیم WatchKit Binary را حذف سازیم. به قسمت General بخش Embedded Binaries و انتخاب دکمه "-"
در اینجا Xcode از شما سوال میپرسد آیا قسمت حذف این Binary را دارید
یک فریمورک در 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'
از محیط 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.
فایل DamnVulnerableIOSApp.xcworkspace در Xcode باز کنید
پرچم ObjC را حذف کنید
حذف framework های غیرضروری همانند:
به منوی Product بروید و بروی گزینه Clean به منظور آماده سازی نهایی کلیک کنید
اکنون آماده هستید که DVIA را نصب و Compile کنید. فقد کافیست دیوایس مورد نظر خود را انتخاب کنید و بر روی دکمه Play کلیک کنید