theAwful
  • Introduction
  • INTERNALS
    • Responder
      • NBNS/LLMNR
    • mitm6
    • Password Spraying
    • CME/NXC Cheatsheet
    • Kerberoasting
    • AS-REP Roasting
    • Dumping NTDS
  • Metasploit Payload and Listener
    • Encoder
    • Word Macros
    • Payloads
      • Earlybird
    • Metasploit Modules
  • OSEP Cheat Sheet
  • OSEP Challenges
    • Challenge 6
  • C2
    • Sliver
  • Privilege Escalation
    • PowerUp
    • Privilege Escalation
      • Internal Privilege Escalation (Linux)
  • Windows Local Recon
    • SQL Server
    • Application Whitelisting and Credentials
  • Linux Local Recon
  • File Transfer & Execution
  • Phishing
  • Ansible/Jfrog
  • Pivoting
  • Pass-the-hash
  • Remote Access
  • Post-Exploitation
    • Add User
    • AMSI, CLM, AppLocker
  • Credentials
  • Lateral Movement
  • Domain Enumeration
    • Users and Computers
    • ACLs
    • BloodHound
    • GPO
    • Trusts
    • User Hunting
  • Active Directory
    • Domain Recon - Kali
    • Domain Recon - Windows
    • Trusts
    • ADCS
      • ESC3
  • Web Application Testing
    • Host Headers
    • WAF Bypasses
    • Template Injection
    • Prototype Pollution
      • Client-side Prototype Pollution
    • Autorize
    • SQLmap
    • SSRF
    • File Uploads
    • Command Injection
    • XXE
      • Blind XXE
    • CSRF
    • XSS
      • XSS Methodology
      • Bypass WAF
  • MOBILE APPS
    • iOS
      • Install Tools
      • SSL Killswitch
    • Android
      • Install Tools
      • Setting up Burp
      • Red Teaming
  • Exploit Dev
    • AMSI Bypass
      • AMSI OpenSession
      • AMSI ScanBuffer
    • VBA Obfsu
    • APC Injection
    • EarlyBird Injection
  • DFIR
    • Malware Analysis
    • Memory Analysis
      • Volatility
    • Registry Analysis
      • RegRipper
    • Behavior Analysis
      • ShellBags
      • UserAssist
    • Filesystems
  • VISUAL STUDIO
    • Tricks
  • Scripts and Tools
    • Grep IPs from DNS ping
    • OSINT.sh
Powered by GitBook
On this page
  • Mobile Application Penetration Testing Notes
  • iOS IPA
  1. MOBILE APPS

iOS

Mobile Application Penetration Testing Notes

iOS IPA

Tools

  • class-dump: Extract class information from Objective-C binaries.

  • Cycript: Tool for exploring and modifying running iOS apps.

  • Frida: Dynamic instrumentation toolkit.

  • MobSF: Mobile Security Framework for automated pen-testing.

  • Burp Suite: Proxy tool for intercepting HTTP/HTTPS traffic.

IPA Analysis

  • Static Analysis:

    • Extract IPA: unzip <app.ipa>

    • Analyze binary: class-dump -H <app_binary>

    • Inspect Info.plist for permissions and configurations.

    • Review source code for hardcoded secrets and vulnerabilities.

  • Dynamic Analysis:

    • Set up a jailbroken device.

    • Intercept network traffic using Burp Suite.

    • Use Frida or Cycript to manipulate app behavior at runtime.

Common Findings in Dynamic Analysis (MobSF)

  • Insecure Network Communication: Lack of SSL/TLS implementation or improper configuration.

  • Data Leakage: Sensitive data being logged or transmitted insecurely.

  • Weak Cryptography: Usage of weak encryption algorithms.

  • Insecure Authentication: Lack of proper authentication mechanisms.

  • Unintended Permissions: Excessive permissions granted to the app.

  • Improper Error Handling: Exposing sensitive information through error messages.

SSL Pinning

  • Bypassing SSL Pinning:

    • Use tools like Frida or Objection to bypass SSL pinning.

    • Example Frida script for bypassing SSL pinning:

      Java.perform(function () {
          var TrustManagerImpl = Java.use('com.android.org.conscrypt.TrustManagerImpl');
          TrustManagerImpl.verifyChain.implementation = function (untrustedChain, trustAnchorChain, hostname, session, response) {
              return untrustedChain;
          };
      });

Common Vulnerabilities

  • Insecure Data Storage: Check for sensitive data in NSUserDefaults, Keychain, and files.

  • Insecure Communication: Ensure SSL/TLS is properly implemented.

  • Insufficient Authentication/Authorization: Verify the app correctly handles user authentication and authorization.

  • Client-Side Code Execution: Look for potential code injection points.

  • Reverse Engineering: Check for hardcoded secrets and obfuscate code.

Testing Steps

  1. Setup Environment: Jailbroken device, proxy (Burp Suite), tools (class-dump, Cycript, Frida).

  2. Static Analysis: Extract IPA, analyze binary and Info.plist.

  3. Dynamic Analysis: Intercept traffic, perform runtime analysis with Frida or Cycript.

  4. Report Findings: Document vulnerabilities, provide remediation suggestions.

PreviousBypass WAFNextInstall Tools

Last updated 9 months ago