Introduction
We express our gratitude to the Extsy team for the collaborative engagement that enabled the execution of this Pentest.
Document | |
|---|---|
| Name | iOS Mobile Pentest and Security Analysis Report for Extsy |
| Audited By | Ece Orsel |
| Approved By | Stephen Ajayi |
| Website | https://extsy.com→ |
| Changelog | 24/02/2025 - Preliminary Report |
| Changelog | 14/03/2025 - Retest Report |
| Changelog | 21/03/2025 - Final Report |
| Platform | iOS |
| Language | Swift |
| Methodology | https://hackenio.cc/pentest_methodology→ |
Document
- Name
- iOS Mobile Pentest and Security Analysis Report for Extsy
- Audited By
- Ece Orsel
- Approved By
- Stephen Ajayi
- Website
- https://extsy.com→
- Changelog
- 24/02/2025 - Preliminary Report
- Changelog
- 14/03/2025 - Retest Report
- Changelog
- 21/03/2025 - Final Report
- Platform
- iOS
- Language
- Swift
- Methodology
- https://hackenio.cc/pentest_methodology→
Review Scope | |
|---|---|
| Application | https://testflight.apple.com/join/cGvAa3FW→ |
| Version | 1.0.0 |
| Restest Version | 1.0.0/100013 |
Review Scope
- Application
- https://testflight.apple.com/join/cGvAa3FW→
- Version
- 1.0.0
- Restest Version
- 1.0.0/100013
Audit Summary
The system users should acknowledge all the risks summed up in the risks section of the report
Threat Modeling and Attack Scenarios
As part of the security assessment for the iOS mobile application, this threat modeling report analyzes potential vulnerabilities specific to mobile app architecture, including insecure data storage, reverse engineering risks, and improper session management. The objective is to identify possible attack vectors, assess the associated risks, and recommend mitigations to enhance the application's security posture, safeguarding it against adversarial threats and ensuring the protection of sensitive user data and app functionality.
1\. Insecure Data Storage : Sensitive information (e.g., tokens, credentials) may be stored in insecure locations such as NSUserDefaults, exposing it to attackers with physical access or access via malware.
Potential Impact: If compromised, attackers can retrieve sensitive user data, leading to privacy violations, account takeovers, or other unauthorized actions.
2.Jailbreak Detection Bypass: iOS apps often include jailbreak detection to prevent running on compromised devices, but poorly implemented detection can be easily bypassed.
Potential Impact: Running the app on a jailbroken device can bypass security controls, allowing attackers to manipulate the app, access sensitive data, or disable key security features.
3.Insecure Code and Binary Protection: Lack of binary obfuscation or secure code signing makes it easier for attackers to decompile and understand the app's internal logic.
Potential Impact: Attackers can modify the app’s behavior, such as bypassing payment systems, altering functionality, or exploiting vulnerabilities in the code.
4.Insufficient Cryptography: Weak or improperly implemented cryptographic algorithms (e.g., hardcoded keys, weak encryption) leave sensitive data vulnerable to decryption.
Potential Impact: Attackers can decrypt sensitive data such as passwords or personal information, leading to data breaches or unauthorized access.
5.Insecure Application Logs: Logging sensitive information such as API responses or user data in the app’s logs can expose it to attackers with access to the device or the app’s logs.
Potential Impact: Attackers can extract sensitive information from logs, leading to account compromise or privacy violations.
6.Improper Certificate Pinning: Failure to implement certificate pinning leaves the app vulnerable to MitM attacks, where an attacker can intercept and manipulate data between the app and its server.
Potential Impact: Compromised communication allows attackers to steal sensitive information, manipulate transactions, or inject malicious data.
7.Insufficient TouchID/FaceID Protection: Inadequate implementation of biometric authentication can lead to unauthorized access if the biometric checks are bypassed or incorrectly verified.
Potential Impact: Attackers could bypass biometric authentication, gaining unauthorized access to sensitive app functions or user accounts.
8.Insecure Use of WebViews: WebViews embedded in the app can expose the app to client-side attacks like cross-site scripting (XSS) or insecure browser-based interactions.
Potential Impact: Attackers can execute malicious scripts or hijack sensitive user data through insecure WebView configurations.
9.Hardcoded Sensitive Data: Sensitive information, such as API keys, encryption keys, or tokens, may be hardcoded in the app's source code, which can be extracted through reverse engineering.
Potential Impact: Attackers can extract hardcoded secrets from the app’s binary, gaining access to backend services, sensitive user data, or performing unauthorized operations.
10\. Insecure Debugging Information: Debugging features left enabled in production builds may expose detailed system information, such as file paths, database queries, or application logic, which attackers can exploit.
Potential Impact: Attackers can exploit exposed debugging data to better understand the app’s architecture, identify weaknesses, and develop targeted attacks against the system.
11.Insecure Clipboard Handling: Sensitive data copied to the clipboard (e.g., passwords, tokens) can be accessed by other apps on the device, leading to data leakage.
Potential Impact: Attackers or malicious apps on the device can access clipboard data and extract sensitive information like authentication tokens, compromising accounts and user privacy.
Executive Summary
The security assessment of the iOS application identified multiple vulnerabilities, ranging from restriction bypass and insecure data storage to improper session management and security control weaknesses. These findings highlight potential risks that could lead to unauthorized access, data leakage, or exploitation of the application by attackers. Below is a summary of the key security issues identified:
1\. File Upload Restriction Bypass (F-2025-8915)
The application allows file uploads with manipulated content types and extensions, potentially enabling unauthorized file execution or storage of malicious files.
2. Sensitive Data Storage in NSUserDefaults (F-2025-8889)
The application stores sensitive information in NSUserDefaults, which is insecure and could lead to data exposure if accessed by a malicious actor.
3\. Insecure SSL Pinning in Flutter (F-2025-8935)
The SSL pinning implementation in the Flutter-based application is flawed, making it susceptible to MITM (Man-in-the-Middle) attacks that could compromise user communications.
4\. Information Exposure via Clipboard (F-2025-8955)
The application copies sensitive information to the iOS clipboard, which can be accessed by other applications, increasing the risk of data leakage.
5\. Session Persistence After Google 2FA Activation (F-2025-8931)
Enabling Google 2FA does not invalidate existing sessions, allowing attackers with prior session access to maintain control without re-authentication.
6\. Sensitive Data Exposure in iOS Snapshots (F-2025-8914)
Sensitive data remains visible in iOS-generated snapshots, posing a risk of unauthorized access when switching between apps.
7\. Lack of Anti-Hook and Anti-Debug Mechanisms (F-2025-8911)
The absence of anti-hooking and anti-debugging protections makes the application vulnerable to runtime attacks, reverse engineering, and tampering.
8\. Lack of Jailbreak Detection (F-2025-8910)
The application does not implement jailbreak detection, increasing the risk of running on compromised devices where security restrictions can be bypassed.
9\. Third-Party Keyboard Allowance (F-2025-8890)
The application permits the use of third-party keyboards, which could lead to potential keystroke logging and data interception.
System Overview
Extsy is a leading cryptocurrency exchange platform designed to provide traders with a robust and efficient interface for trading digital assets. The platform offers a comprehensive range of trading options.
Findings
Code ― | Title | Status | Severity | |
|---|---|---|---|---|
| F-2025-8915 | Restriction Bypass via Content-Type and File Extension Manipulation | fixed | High | |
| F-2025-8889 | Sensitive Information Stored in NSUserDefaults | fixed | High | |
| F-2025-8935 | Insecure SSL Pinning Implementation in Flutter | fixed | Medium | |
| F-2025-8955 | Information Exposure via iOS Clipboard | fixed | Low | |
| F-2025-8931 | Session Persistence After Enabling Google 2FA | fixed | Low | |
| F-2025-8914 | Sensitive Data Exposure in iOS Snapshots | fixed | Low | |
| F-2025-8911 | Lack of Anti-Hook and Anti-Debug Mechanism | fixed | Low | |
| F-2025-8910 | Lack of Jailbreak Detection Mechanism | fixed | Low | |
| F-2025-8890 | Third-Party Keyboards Are Allowed | fixed | Low |
Appendix 1. Severity Definitions
Severity | Description |
|---|---|
Critical | These issues present a major security vulnerability that poses a severe risk to the system. They require immediate attention and must be resolved to prevent a potential security breach or other significant harm. |
High | These issues present a significant risk to the system, but may not require immediate attention. They should be addressed in a timely manner to reduce the risk of the potential security breach. |
Medium | These issues present a moderate risk to the system and cannot have a great impact on its function. They should be addressed in a reasonable time frame, but may not require immediate attention. |
Low | These issues present no risk to the system and typically relate to the code quality problems or general recommendations. They do not require immediate attention and should be viewed as a minor recommendation. |
Severity
- Critical
Description
- These issues present a major security vulnerability that poses a severe risk to the system. They require immediate attention and must be resolved to prevent a potential security breach or other significant harm.
Severity
- High
Description
- These issues present a significant risk to the system, but may not require immediate attention. They should be addressed in a timely manner to reduce the risk of the potential security breach.
Severity
- Medium
Description
- These issues present a moderate risk to the system and cannot have a great impact on its function. They should be addressed in a reasonable time frame, but may not require immediate attention.
Severity
- Low
Description
- These issues present no risk to the system and typically relate to the code quality problems or general recommendations. They do not require immediate attention and should be viewed as a minor recommendation.
Appendix 2. Scope
The scope of the project includes the following:
Review Scope | |
|---|---|
| Application | https://testflight.apple.com/join/cGvAa3FW→ |
| Version | 1.0.0 |
Review Scope
- Application
- https://testflight.apple.com/join/cGvAa3FW→
- Version
- 1.0.0