Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/noobpk/frida-intercept-encrypted-api
A tool to help you intercept encrypted APIs in iOS or Android apps
https://github.com/noobpk/frida-intercept-encrypted-api
android android-application android-encryption android-intercept api banking burpsuite encryption-decryption frida frida-ios-intercept intercept ios ios-api-intercept ios-application ios-intercept jailbreak-tweak reverse-engineering
Last synced: 3 months ago
JSON representation
A tool to help you intercept encrypted APIs in iOS or Android apps
- Host: GitHub
- URL: https://github.com/noobpk/frida-intercept-encrypted-api
- Owner: noobpk
- License: mit
- Created: 2021-08-16T06:53:58.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-22T14:28:26.000Z (over 1 year ago)
- Last Synced: 2024-05-14T19:10:00.274Z (9 months ago)
- Topics: android, android-application, android-encryption, android-intercept, api, banking, burpsuite, encryption-decryption, frida, frida-ios-intercept, intercept, ios, ios-api-intercept, ios-application, ios-intercept, jailbreak-tweak, reverse-engineering
- Language: JavaScript
- Homepage:
- Size: 40 KB
- Stars: 180
- Watchers: 6
- Forks: 22
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-hacking-lists - noobpk/frida-intercept-encrypted-api - A tool to help you intercept encrypted APIs in iOS or Android apps (JavaScript)
README
# Frida Intercept Encrypted Api
[](https://github.com/noobpk/frida-ios-intercept-api/actions/workflows/codeql-analysis.yml)



## πWhat does it help?
Banking applications, e-wallets, .. are increasingly enhanced security to fight hackers. One of them is to encrypt request/response data when sending and receiving. Some weak encryptions can be decrypted easily, but some strong encryptions like RSA are difficult.
When pentesting a normal mobile application, we just need to set it up so that BurpSuite can intercept the request / response of the APIs that the application uses. But when pentesting a banking or e-wallet application with end-to-end encrypted API, with the usual BurpSuite setup we cannot see the content of the API.
Hooking into functions that send request/response and intercept data before it is encrypted is one way we can view and modify data.## Architecture
## For IOS
### Configurage ios_handlers.js
1. Add your Request / Response Class & Method
```
/*Request Class & Method*/
var search_request_class = [''];
var search_request_method = [''];/*Response Class & Method*/
var search_response_class = [''];
var search_response_method = [''];`
```
2. Debug ARGS in Class & Method
```
/*DEBUG REQUEST HERE*/
console.log(colors.green,"[DEBUG-REQUEST] Dump Arugment in method: ",colors.resetColor);
print_arguments(args);
```## For Android
### Configurage android_handlers.js
1. Add your Request / Response Class & Method
```
/*Request Class & Method*/
var request_class = Java.use('');
var request_method = '';/*Response Class & Method*/
var response_class = Java.use('');
var response_method = '';
```## Usage
1. Load `burpsuite_configuration_proxy.json` or Set up Burpsuite Proxy by following the steps below
- Listen on 127.0.0.1:26080
- Redirect to 127.0.0.1:27080 and Check (Support invisible proxying)
1. Run echoServer.py
1. Config and optimize `_handlers.js`
1. Run burpTracer.py -p com.apple.AppStore / [-n 'App Store']`Note: Different applications will use different libraries. You need to reverse or trace the application to find the correct function.`
## Technical Presentation
|Title|Link|
|-----|----|
|Frida Intercept Encrypted Api|https://medium.com/p/a5c4ef22a093|
|Frida Intercept Encrypted API | Technical | How to Intercept Encrypted APIs on The Application | Part 1|https://youtu.be/BIB3ma3Tl34|
|Frida Intercept Encrypted API | Technical | How to Intercept Encrypted APIs on The Application | Part 2|https://youtu.be/IojcakLNtrA|