You are previewing Learning iOS Penetration Testing.
O'Reilly logo
Learning iOS Penetration Testing

Book Description

Secure your iOS applications and uncover hidden vulnerabilities by conducting penetration tests

About This Book

  • Achieve your goal to secure iOS devices and applications with the help of this fast paced manual

  • Find vulnerabilities in your iOS applications and fix them with the help of this example-driven guide

  • Acquire the key skills that will easily help you to perform iOS exploitation and forensics with greater confidence and a stronger understanding

  • Who This Book Is For

    This book is for IT security professionals who want to conduct security testing of applications. This book will give you exposure to diverse tools to perform penetration testing. This book will also appeal to iOS developers who would like to secure their applications, as well as security professionals. It is easy to follow for anyone without experience of iOS pentesting.

    What You Will Learn

  • Understand the basics of iOS app development, deployment, security architecture, application signing, application sandboxing, and OWASP TOP 10 for mobile

  • Set up your lab for iOS app pentesting and identify sensitive information stored locally

  • Perform traffic analysis of iOS devices and catch sensitive data being leaked by side channels

  • Modify an application’s behavior using runtime analysis

  • Analyze an application’s binary for security protection

  • Acquire the knowledge required for exploiting iOS devices

  • Learn the basics of iOS forensics

  • In Detail

    iOS has become one of the most popular mobile operating systems with more than 1.4 million apps available in the iOS App Store. Some security weaknesses in any of these applications or on the system could mean that an attacker can get access to the device and retrieve sensitive information. This book will show you how to conduct a wide range of penetration tests on iOS devices to uncover vulnerabilities and strengthen the system from attacks.

    Learning iOS Penetration Testing discusses the common vulnerabilities and security-related shortcomings in an iOS application and operating system, and will teach you to conduct static and dynamic analysis of iOS applications.

    This practical guide will help you uncover vulnerabilities in iOS phones and applications. We begin with basics of iOS security and dig deep to learn about traffic analysis, code analysis, and various other techniques. Later, we discuss the various utilities, and the process of reversing and auditing.

    Style and approach

    This fast-paced and practical guide takes a step-by-step approach to penetration testing with the goal of helping you secure your iOS devices and apps quickly.

    Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

    Table of Contents

    1. Learning iOS Penetration Testing
      1. Table of Contents
      2. Learning iOS Penetration Testing
      3. Credits
      4. Foreword – Why Mobile Security Matters
      5. About the Author
      6. About the Reviewer
      7. www.PacktPub.com
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      8. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Downloading the color images of this book
          3. Errata
          4. Piracy
          5. Questions
      9. 1. Introducing iOS Application Security
        1. Basics of iOS and application development
        2. Developing your first iOS app
        3. Running apps on iDevice
        4. iOS MVC design
        5. iOS security model
        6. iOS secure boot chain
        7. iOS application signing
        8. iOS application sandboxing
        9. OWASP Top 10 Mobile Risks
          1. Weak server-side controls
          2. Insecure data storage
          3. Insufficient transport layer protection
          4. Side channel data leakage
          5. Poor authorization and authentication
          6. Broken cryptography
          7. Client-side injection
          8. Security decisions via untrusted input
          9. Improper session handling
          10. Lack of binary protections
        10. Summary
      10. 2. Setting up Lab for iOS App Pentesting
        1. Need for jailbreaking
          1. What is jailbreak?
            1. Types of jailbreaks
          2. Hardware and software requirements
        2. Jailbreaking iDevice
          1. Adding sources to Cydia
        3. Connecting with iDevice
          1. Transferring files to iDevice
          2. Connecting to iDevice using VNC
        4. Installing utilities on iDevice
          1. Installing idb tool
        5. Installing apps on iDevice
        6. Pentesting using iOS Simulator
        7. Summary
      11. 3. Identifying the Flaws in Local Storage
        1. Introduction to insecure data storage
        2. Installing third-party applications
        3. Insecure data in the plist files
        4. Insecure storage in the NSUserDefaults class
        5. Insecure storage in SQLite database
        6. SQL injection in iOS applications
        7. Insecure storage in Core Data
        8. Insecure storage in keychain
        9. Summary
      12. 4. Traffic Analysis for iOS Application
        1. Intercepting traffic over HTTP
        2. Intercepting traffic over HTTPS
        3. Intercepting traffic of iOS Simulator
        4. Web API attack demo
        5. Bypassing SSL pinning
        6. Summary
      13. 5. Sealing up Side Channel Data Leakage
        1. Data leakage via application screenshot
        2. Pasteboard leaking sensitive information
        3. Device logs leaking application sensitive data
        4. Keyboard cache capturing sensitive data
        5. Summary
      14. 6. Analyzing iOS Binary Protections
        1. Decrypting unsigned iOS applications
        2. Decrypting signed iOS applications
        3. Analyzing code by reverse engineering
        4. Analyzing iOS binary
        5. Hardening binary against reverse engineering
        6. Summary
      15. 7. The iOS App Dynamic Analysis
        1. Understanding Objective-C runtime
        2. Dynamic analysis using Cycript
        3. Runtime analysis using Snoop-it
        4. Dynamic analysis on iOS Simulator
        5. Summary
      16. 8. iOS Exploitation
        1. Setting up exploitation lab
        2. Shell bind TCP for iOS
        3. Shell reverse TCP for iOS
        4. Creating iOS backdoor
        5. Converting iDevice to a pentesting device
        6. Summary
      17. 9. Introducing iOS Forensics
        1. Basics of iOS forensics
        2. The iPhone hardware
        3. The iOS filesystem
        4. Physical acquisition
        5. Data backup acquisition
        6. iOS forensics tools walkthrough
          1. Elcomsoft iOS Forensic Toolkit (EIFT)
          2. Open source and free tools
        7. Summary
      18. Index