Below the Attack Surface: Security Research for Fun and Profit

This entry is part 1 of 2 in the series iOS App Penetration Testing

iOS App Penetration Testing

iOS App Pentesting – Part 1: Getting Set up

iOS App Pentesting – Part 1: Getting Set up

iOS App Pentesting – Part 2: Getting to Know the App

iOS App Pentesting – Part 2: Getting to Know the App

It’s apparent (and becoming more and more so as time goes on) that our computing needs have evolved and have migrated from our desktops and laptops to our handheld phones and tablets. These mobile devices have brought us much convenience and capability, using apps to extend desktop functionality on the go, and responding to user demand for a level of functionality not seen (or needed for that matter) before. But like anything, with new technology/functionality, comes the potential to introduce new risk via these devices and apps to the end user or corporate resource.

As a penetration tester, I find the mobile device/app vector to be a prime target – for me, it’s a good thing. For the organization using or depending on the use of these apps, it’s not a good thing.
So we beg the question; how do we as app users know how secure our information is? How do we know what the app is doing behind the scenes? The Apple AppStore has their process for reviewing apps submitted by private developers, but as far as I know that information has not been made public. So how do they check apps for bugs, flaws…threats?
The short answer is to do it yourself via

  • Static analysis
  • Dynamic analysis
  • Network analysis
  • Supporting files the app installs.

To get started for iOS, we need to do the following:

  1. Jailbreak the target device (I’ll be using an iPhone 4 running iOS 7)
  2. Connect it to a WLAN
  3. Install software
Once the iPhone is jailbroken, install the following (either through Cydia, apt, or Internet)
– wget (Cydia)
– adv-cmds  (Cydia)
– gdb (Cydia)
– class-dump (Cydia)
– Erica Utilities
– Snoop-it (Cydia àadd ‘repo.nesolabs.de’ to the repositories)
– Introspy (http://isecpartners.github.io/Introspy-iOS/)
– unzip (Cydia)
– cycript (Cydia)
– Cydia Substrate (Cydia)
– Keychain Dumper
– clutch (https://github.com/KJCracks/Clutch/releases)
Once we have this setup, we’ll be ready to move to the next part

iOS App Penetration Testing

iOS App Pentesting – Part 2: Getting to Know the App

Published by

Categories:

Discover more from Below the Attack Surface: Security Research for Fun and Profit

Subscribe now to keep reading and get access to the full archive.

Continue reading