diff --git a/Document/Images/Chapters/0x06b/Passionfruit.png b/Document/Images/Chapters/0x06b/Passionfruit.png deleted file mode 100644 index ebad621d89..0000000000 Binary files a/Document/Images/Chapters/0x06b/Passionfruit.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/Passionfruit_Keychain.png b/Document/Images/Chapters/0x06b/Passionfruit_Keychain.png deleted file mode 100644 index b791876e22..0000000000 Binary files a/Document/Images/Chapters/0x06b/Passionfruit_Keychain.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/Passionfruit_files.png b/Document/Images/Chapters/0x06b/Passionfruit_files.png deleted file mode 100644 index 4d76e95671..0000000000 Binary files a/Document/Images/Chapters/0x06b/Passionfruit_files.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/grapefruit_bundle_dir.png b/Document/Images/Chapters/0x06b/grapefruit_bundle_dir.png new file mode 100644 index 0000000000..a89d8dfe5e Binary files /dev/null and b/Document/Images/Chapters/0x06b/grapefruit_bundle_dir.png differ diff --git a/Document/Images/Chapters/0x06b/grapefruit_data_dir.png b/Document/Images/Chapters/0x06b/grapefruit_data_dir.png new file mode 100644 index 0000000000..a826d8d2a1 Binary files /dev/null and b/Document/Images/Chapters/0x06b/grapefruit_data_dir.png differ diff --git a/Document/Images/Chapters/0x06b/grapefruit_db_view.png b/Document/Images/Chapters/0x06b/grapefruit_db_view.png new file mode 100644 index 0000000000..846e9bf5c0 Binary files /dev/null and b/Document/Images/Chapters/0x06b/grapefruit_db_view.png differ diff --git a/Document/Images/Chapters/0x06b/grapefruit_file_download.png b/Document/Images/Chapters/0x06b/grapefruit_file_download.png new file mode 100644 index 0000000000..2223be7dc3 Binary files /dev/null and b/Document/Images/Chapters/0x06b/grapefruit_file_download.png differ diff --git a/Document/Images/Chapters/0x06b/grapefruit_installed_apps.png b/Document/Images/Chapters/0x06b/grapefruit_installed_apps.png new file mode 100644 index 0000000000..524f4d7da6 Binary files /dev/null and b/Document/Images/Chapters/0x06b/grapefruit_installed_apps.png differ diff --git a/Document/Images/Chapters/0x06b/grapefruit_keychain.png b/Document/Images/Chapters/0x06b/grapefruit_keychain.png new file mode 100644 index 0000000000..e629083d7e Binary files /dev/null and b/Document/Images/Chapters/0x06b/grapefruit_keychain.png differ diff --git a/Document/Images/Chapters/0x06b/grapefruit_modules.png b/Document/Images/Chapters/0x06b/grapefruit_modules.png new file mode 100644 index 0000000000..c865b26425 Binary files /dev/null and b/Document/Images/Chapters/0x06b/grapefruit_modules.png differ diff --git a/Document/Images/Chapters/0x06b/grapefruit_modules_detail.png b/Document/Images/Chapters/0x06b/grapefruit_modules_detail.png new file mode 100644 index 0000000000..5214d8ba04 Binary files /dev/null and b/Document/Images/Chapters/0x06b/grapefruit_modules_detail.png differ diff --git a/Document/Images/Chapters/0x06b/grapefruit_plist_view.png b/Document/Images/Chapters/0x06b/grapefruit_plist_view.png new file mode 100644 index 0000000000..8163836625 Binary files /dev/null and b/Document/Images/Chapters/0x06b/grapefruit_plist_view.png differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_bundle_dir.png b/Document/Images/Chapters/0x06b/passionfruit_bundle_dir.png deleted file mode 100644 index 848c7088bb..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_bundle_dir.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_classes.png b/Document/Images/Chapters/0x06b/passionfruit_classes.png deleted file mode 100644 index 51416f02a4..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_classes.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_classes_detail.png b/Document/Images/Chapters/0x06b/passionfruit_classes_detail.png deleted file mode 100644 index c0be9b7851..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_classes_detail.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_console_logs.png b/Document/Images/Chapters/0x06b/passionfruit_console_logs.png deleted file mode 100644 index afcbdb81fa..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_console_logs.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_data_dir.png b/Document/Images/Chapters/0x06b/passionfruit_data_dir.png deleted file mode 100644 index 73cc8ff20c..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_data_dir.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_db_view.png b/Document/Images/Chapters/0x06b/passionfruit_db_view.png deleted file mode 100644 index cdc132758a..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_db_view.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_file_download.png b/Document/Images/Chapters/0x06b/passionfruit_file_download.png deleted file mode 100644 index 4b9319a715..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_file_download.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_installed_apps.png b/Document/Images/Chapters/0x06b/passionfruit_installed_apps.png deleted file mode 100644 index a0a1b2a8f2..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_installed_apps.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_modules.png b/Document/Images/Chapters/0x06b/passionfruit_modules.png deleted file mode 100644 index f38c1547d4..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_modules.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_modules_detail.png b/Document/Images/Chapters/0x06b/passionfruit_modules_detail.png deleted file mode 100644 index caf1814027..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_modules_detail.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_plist_view.png b/Document/Images/Chapters/0x06b/passionfruit_plist_view.png deleted file mode 100644 index 4c6b499023..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_plist_view.png and /dev/null differ diff --git a/Document/Images/Chapters/0x06b/passionfruit_userdefaults.png b/Document/Images/Chapters/0x06b/passionfruit_userdefaults.png deleted file mode 100644 index b322ba34ed..0000000000 Binary files a/Document/Images/Chapters/0x06b/passionfruit_userdefaults.png and /dev/null differ diff --git a/techniques/ios/MASTG-TECH-0053.md b/techniques/ios/MASTG-TECH-0053.md index 0caee86e14..03b2be5485 100644 --- a/techniques/ios/MASTG-TECH-0053.md +++ b/techniques/ios/MASTG-TECH-0053.md @@ -15,21 +15,19 @@ iPhone:~ root# exit $ scp -P 2222 root@localhost:/tmp/data.tgz . ``` -## Passionfruit +## Grapefruit -After starting [Passionfruit](0x08a-Testing-Tools.md#passionfruit) you can select the app that is in scope for testing. There are various functions available, of which one is called "Files". When selecting it, you will get a listing of the directories of the app sandbox. +After starting [Grapefruit](../../tools/ios/MASTG-TOOL-0061.md "Grapefruit") you can select the app that is in scope for testing. There are various functions available, of which one is called "Finder". When selecting it, you will get a listing of the directories of the app sandbox. - + When navigating through the directories and selecting a file, a pop-up will show up and display the data either as hexadecimal or text. When closing this pop-up you have various options available for the file, including: -- Text viewer -- SQLite viewer -- Image viewer +- Database viewer - Plist viewer - Download - + ## Objection diff --git a/techniques/ios/MASTG-TECH-0057.md b/techniques/ios/MASTG-TECH-0057.md index c1a1fb501b..deda13d727 100644 --- a/techniques/ios/MASTG-TECH-0057.md +++ b/techniques/ios/MASTG-TECH-0057.md @@ -20,6 +20,6 @@ $ frida-ps -Uai It also shows which of them are currently running. Take a note of the "Identifier" (bundle identifier) and the PID if any as you'll need them afterwards. -You can also directly open passionfruit and after selecting your iOS device you'll get the list of installed apps. +You can also directly open [Grapefruit](../../tools/ios/MASTG-TOOL-0061.md "Grapefruit") and after selecting your iOS device you'll get the list of installed apps. - + diff --git a/techniques/ios/MASTG-TECH-0058.md b/techniques/ios/MASTG-TECH-0058.md index 4154b0b1f8..78d9e42230 100644 --- a/techniques/ios/MASTG-TECH-0058.md +++ b/techniques/ios/MASTG-TECH-0058.md @@ -97,13 +97,13 @@ iOS apps can make their codebase modular by using different elements. In the MAS - [Binary Frameworks (`XCFrameworks`)](https://developer.apple.com/videos/play/wwdc2019/416/): Xcode 11 supports distributing binary libraries using the `XCFrameworks` format which is a new way to bundle up multiple variants of a Framework, e.g. for any of the platforms that Xcode supports (including simulator and devices). They can also bundle up static libraries (and their corresponding headers) and support binary distribution of Swift and C-based code. `XCFrameworks` can be [distributed as Swift Packages](https://developer.apple.com/documentation/swift_packages/distributing_binary_frameworks_as_swift_packages). - [Swift Packages](https://developer.apple.com/documentation/swift_packages): Xcode 11 add supports for Swift packages, which are reusable components of Swift, Objective-C, Objective-C++, C, or C++ code that developers can use in their projects and are distributed as source code. Since Xcode 12 they can also [bundle resources](https://developer.apple.com/videos/play/wwdc2020/10169/), such as images, storyboards, and other files. Since Package libraries are [static by default](https://developer.apple.com/videos/play/wwdc2019/408/?time=739). Xcode compiles them, and the packages they depend on, and then links and combines everything into the application. -You can visualize native libraries in Passionfruit by clicking on "Modules": +You can view native libraries in [Grapefruit](../../tools/ios/MASTG-TOOL-0061.md "Grapefruit") by clicking on the Modules icon in the left menu bar: - + And get a more detailed view including their imports/exports: - + They are available in the `Frameworks` folder in the IPA, you can also inspect them from the terminal: @@ -136,4 +136,4 @@ For now this is all information you can get about the Frameworks unless you star It is normally worth taking a look at the rest of the resources and files that you may find in the Application Bundle (.app) inside the IPA as some times they contain additional goodies like encrypted databases, certificates, etc. - + \ No newline at end of file diff --git a/techniques/ios/MASTG-TECH-0059.md b/techniques/ios/MASTG-TECH-0059.md index afd6b90300..f9821514d0 100644 --- a/techniques/ios/MASTG-TECH-0059.md +++ b/techniques/ios/MASTG-TECH-0059.md @@ -124,16 +124,16 @@ Regular 420 None ... Info.plist Regular 493 None ... iGoat-Swift ``` -You can also visualize the Bundle directory from Passionfruit by clicking on **Files** -> **App Bundle**: +You can also visualize the Bundle directory from [Grapefruit](../../tools/ios/MASTG-TOOL-0061.md "Grapefruit") by clicking on **Finder** -> **Bundle**: - + Including the `Info.plist` file: - + -As well as the Data directory in **Files** -> **Data**: +As well as the Data directory in **Finder** -> **Home**: - + Refer to the [Testing Data Storage](0x06d-Testing-Data-Storage.md "Data Storage on iOS") chapter for more information and best practices on securely storing sensitive data. diff --git a/techniques/ios/MASTG-TECH-0060.md b/techniques/ios/MASTG-TECH-0060.md index a4ba15efc7..a92d421394 100644 --- a/techniques/ios/MASTG-TECH-0060.md +++ b/techniques/ios/MASTG-TECH-0060.md @@ -34,7 +34,3 @@ Jun 7 13:42:14 iPhone rm[9707] : MS:Notice: Injecting: (null) [rm] (155 Jun 7 13:42:14 iPhone touch[9708] : MS:Notice: Injecting: (null) [touch] (1556.00) ... ``` - -Additionally, Passionfruit offers a view of all the NSLog-based application logs. Simply click on the **Console** -> **Output** tab: - - diff --git a/techniques/ios/MASTG-TECH-0061.md b/techniques/ios/MASTG-TECH-0061.md index bf2fb133a3..372c23ebb8 100644 --- a/techniques/ios/MASTG-TECH-0061.md +++ b/techniques/ios/MASTG-TECH-0061.md @@ -30,11 +30,11 @@ Note that currently, the latest versions of frida-server and objection do not co Finally, since the keychain dumper is executed from within the application context, it will only print out keychain items that can be accessed by the application and **not** the entire keychain of the iOS device. -## Passionfruit (Jailbroken / non-Jailbroken) +## Grapefruit (Jailbroken / non-Jailbroken) -With [Passionfruit](0x08a-Testing-Tools.md#passionfruit) it's possible to access the keychain data of the app you have selected. Click on **Storage** -> **Keychain** and you can see a listing of the stored Keychain information. +With [Grapefruit](../../tools/ios/MASTG-TOOL-0061.md "Grapefruit") it's possible to access the keychain data of the app you have selected. Inside the **Storage** section, click on **Keychain** and you can see a listing of the stored Keychain information. - + ## Keychain-dumper (Jailbroken) diff --git a/tools/ios/MASTG-TOOL-0061.md b/tools/ios/MASTG-TOOL-0061.md index 58bb4368ea..f0fc639be8 100644 --- a/tools/ios/MASTG-TOOL-0061.md +++ b/tools/ios/MASTG-TOOL-0061.md @@ -23,4 +23,3 @@ With Grapfruit it's possible to explore different kinds of information concernin - List the modules that are loaded by the app - Dump class names - Dump keychain items -- Access to NSLog traces