Skip to content

Commit e7d9767

Browse files
committed
Update v5.5
1 parent 533ea1e commit e7d9767

34 files changed

Lines changed: 90 additions & 78 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,6 @@ google-services.json
3434
# Android Profiling
3535
*.hprof
3636

37+
# Other
3738
*.DS_Store
3839
.vscode/

README.md

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,30 @@ As a security engineer, do you struggle with validating bug bounty reports, perf
66

77
I've got you covered - all from the comfort of your own device!
88

9-
[YouTube: Malware APK v5.0 - Proxy Intent Injection PoC](https://youtube.com/shorts/hMcJ4JhPhnQ)
9+
**NOTE: This is a testing / exploitation tool, not a vulnerability scanner. Identifying security vulnerabilities requires manually reverse‑engineering the APKs and reviewing the code.**
1010

11-
---
11+
**NOTE: Rooting your device is not required.**
1212

13-
**Rooting your device is not required.**
13+
Built with Android Studio v2025.2.3 (64-bit) (JDK 17) and tested on multiple virtual devices, as well as, on Samsung Galaxy Note S20 Ultra with Android OS v13.0 (Tiramisu) physical device.
1414

15-
For more tips and tricks check my [Android Penetration Testing Cheat Sheet](https://github.com/ivan-sincek/android-penetration-testing-cheat-sheet).
15+
[YouTube: Malware APK v5.0 - Proxy Intent Injection PoC](https://youtube.com/shorts/hMcJ4JhPhnQ)
1616

17-
---
17+
For more tips and tricks check my [Android Penetration Testing Cheat Sheet](https://github.com/ivan-sincek/android-penetration-testing-cheat-sheet).
1818

19-
Built with Android Studio v2025.2.3 (64-bit) (JDK 17) and tested on multiple virtual devices, as well as, on Samsung Galaxy Note S20 Ultra with Android OS v13.0 (Tiramisu) physical device.
2019

2120
Made for educational purposes. I hope it will help!
2221

2322
Future plans:
2423

2524
* add an option to bind to a service,
25+
* add an option to nest unlimited number of intents when testing intent filters,
2626
* add an option to specify intent categories,
27+
* add an option to specify `HashMap` type in intent extras,
2728
* add an option to specify `null` value in intent extras,
28-
* add an option to specify `Bundle` and `HashMap` types in intent extras,
2929
* add an option to the broadcast monitor to cache and replay intercepted intents,
3030
* add a content encoding and decoding section,
31-
* add a log toolbar with search, copy, scroll to top, and more,
32-
* add a project to easily compile native `.so` libraries for arbitrary code execution,
31+
* add a log toolbar with options to search, copy, and download actions,
32+
* add a project template to easily compile native `.so` libraries for arbitrary code execution (RCE),
3333
* add more UI customizations.
3434

3535
## Table of Contents
@@ -128,9 +128,13 @@ URIs for internal quality assurance:
128128

129129
**#4:** List system or user installed packages.
130130

131-
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/enumeration.png" alt="Enumeration" height="600em"></p>
131+
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/enumeration_1.png" alt="Enumeration" height="600em"></p>
132+
133+
<p align="center">Figure 3 - Enumeration (1)</p>
134+
135+
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/enumeration_2.png" alt="Enumeration" height="600em"></p>
132136

133-
<p align="center">Figure 3 - Enumeration</p>
137+
<p align="center">Figure 4 - Enumeration (2)</p>
134138

135139
### Intent
136140

@@ -223,31 +227,31 @@ When testing proxy intent injections to access private data, you will often need
223227

224228
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/deep_link_fuzzing.png" alt="Deep Link Fuzzing" height="600em"></p>
225229

226-
<p align="center">Figure 4 - Deep Link Fuzzing</p>
230+
<p align="center">Figure 5 - Deep Link Fuzzing</p>
227231

228232
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/pending_intent_injection_1.png" alt="Pending Intent Injection P1" height="600em"></p>
229233

230-
<p align="center">Figure 5 - Pending Intent Injection P1</p>
234+
<p align="center">Figure 6 - Pending Intent Injection P1</p>
231235

232236
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/pending_intent_injection_2.png" alt="Pending Intent Injection P2" height="600em"></p>
233237

234-
<p align="center">Figure 6 - Pending Intent Injection P2</p>
238+
<p align="center">Figure 7 - Pending Intent Injection P2</p>
235239

236240
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/intent_injection_1.png" alt="Intent Injection P1" height="600em"></p>
237241

238-
<p align="center">Figure 7 - Intent Injection P1</p>
242+
<p align="center">Figure 8 - Intent Injection P1</p>
239243

240244
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/intent_injection_2.png" alt="Intent Injection P2" height="600em"></p>
241245

242-
<p align="center">Figure 8 - Intent Injection P2</p>
246+
<p align="center">Figure 9 - Intent Injection P2</p>
243247

244248
### Broadcast Monitor
245249

246250
**#1:** Listen for a broadcast intent from another app and extract sensitive information from the intent extras.
247251

248252
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/broadcast_monitor.png" alt="Broadcast Monitor" height="600em"></p>
249253

250-
<p align="center">Figure 9 - Broadcast Monitor</p>
254+
<p align="center">Figure 10 - Broadcast Monitor</p>
251255

252256
### Web
253257

@@ -273,11 +277,11 @@ When testing proxy intent injections to access private data, you will often need
273277

274278
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/web.png" alt="Web" height="600em"></p>
275279

276-
<p align="center">Figure 10 - Web</p>
280+
<p align="center">Figure 11 - Web</p>
277281

278282
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/deep_link_callback.png" alt="Deep Link Callback" height="600em"></p>
279283

280-
<p align="center">Figure 11 - Deep Link Callback</p>
284+
<p align="center">Figure 12 - Deep Link Callback</p>
281285

282286
### Task Hijacking
283287

@@ -289,7 +293,7 @@ Read more about the taskjacking [here](https://developer.android.com/privacy-and
289293

290294
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/taskjacking.png" alt="Taskjacking" height="600em"></p>
291295

292-
<p align="center">Figure 12 - Taskjacking</p>
296+
<p align="center">Figure 13 - Taskjacking</p>
293297

294298
### Tap Hijacking
295299

@@ -301,7 +305,7 @@ Read more about tapjacking [here](https://developer.android.com/privacy-and-secu
301305

302306
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/tapjacking.png" alt="Tapjacking" height="600em"></p>
303307

304-
<p align="center">Figure 13 - Tapjacking</p>
308+
<p align="center">Figure 14 - Tapjacking</p>
305309

306310
### Accessibility Monitor
307311

@@ -311,15 +315,15 @@ Read more about the solution [here](https://developer.android.com/reference/andr
311315

312316
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/accessibility_monitor.png" alt="Accessibility Monitor" height="600em"></p>
313317

314-
<p align="center">Figure 14 - Accessibility Monitor</p>
318+
<p align="center">Figure 15 - Accessibility Monitor</p>
315319

316320
### Notification Monitor
317321

318322
**#1**: Extract sensitive information from a push notification of another app by abusing the notification service.
319323

320324
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/notification_monitor.png" alt="Notification Monitor" height="600em"></p>
321325

322-
<p align="center">Figure 15 - Notification Monitor</p>
326+
<p align="center">Figure 16 - Notification Monitor</p>
323327

324328
### Clipboard
325329

@@ -329,7 +333,7 @@ Read more about the solution [here](https://developer.android.com/reference/andr
329333

330334
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/clipboard.png" alt="Clipboard" height="600em"></p>
331335

332-
<p align="center">Figure 16 - Clipboard</p>
336+
<p align="center">Figure 17 - Clipboard</p>
333337

334338
### State Manager
335339

@@ -339,14 +343,14 @@ Read more about the solution [here](https://developer.android.com/reference/andr
339343

340344
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/state_manager.png" alt="State Manager" height="600em"></p>
341345

342-
<p align="center">Figure 17 - State Manager</p>
346+
<p align="center">Figure 18 - State Manager</p>
343347

344348
### Settings
345349

346350
**#1:** Additional system controls and UI customizations.
347351

348-
**#2:** Biometric unlock prompts only once at launch. Clear all tasks to enable it again.
352+
**#2:** Biometric unlock prompts only once at launch. Clear all tasks to fully exit the app and re-enable it.
349353

350354
<p align="center"><img src="https://github.com/ivan-sincek/malware-apk/blob/main/img/settings.png" alt="Settings" height="600em"></p>
351355

352-
<p align="center">Figure 18 - Settings</p>
356+
<p align="center">Figure 19 - Settings</p>

img/accessibility_monitor.png

1.29 KB
Loading

img/broadcast_monitor.png

800 Bytes
Loading

img/clipboard.png

-1.06 KB
Loading

img/deep_link_callback.png

46.5 KB
Loading

img/deep_link_fuzzing.png

25.5 KB
Loading

img/enumeration.png

-549 KB
Binary file not shown.

img/enumeration_1.png

560 KB
Loading

img/enumeration_2.png

542 KB
Loading

0 commit comments

Comments
 (0)