Android Enterprise Work Profile Vereiste-App Vervanging

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Aanvalsoppervlak

Android Enterprise Work Profiles word geïmplementeer as secondary Android users (BYOD-voorbeeld: user 0 = personal, user 1 = work). Elke gebruiker het onafhanklike /data/user/<id> bome, stelsel-apps, Play Services-instances en beleid-objekte wat deur die MDM gehandhaaf word. Wanneer ’n MDM soos Microsoft Intune ’n app as vereis vir die Work Profile merk, bevestig die Work-Profile Play Store (Finsky) periodiek dat die pakket teenwoordig is en installeer dit outomaties as dit ontbreek.

Selfs ná die CVE-2023-21257 patch wat ADB sideloads blokkeer wanneer DISALLOW_INSTALL_APPS of DISALLOW_DEBUGGING_FEATURES gestel is, laat die volgende ketting ’n aanvaller toe om enige Intune-required Work Profile app met ewekansige kode te vervang:

  1. Misbruik Android Studio’s “Install for all users” path om ’n kwaadwillige APK te stage wat soos ’n update van die managed package lyk.
  2. Laat die MDM opmerk dat die required app ontbreek. Intune trigger die Work-Profile Finsky instance om dit te herinstalleer.
  3. Finsky vergelyk die gestage APK-weergawe met die Play Store-weergawe en installeer stilweg die hoogste versionCode, wat die oorspronklike beperking omseil.

Recon and prerequisite checks

  • Bevestig multi-user uitleg en user IDs:
adb shell pm list users
# Expect user 0 = Owner, user 1 = Work profile (or higher if multiple profiles exist)
  • Direkte installasies in die werkgebruiker misluk volgens beleid (verwagte fout):
adb install --user 1 legit.apk
# java.lang.SecurityException: Shell does not have permission to access user 1
  • Jy moet tydelike fisiese toegang tot ’n ontgrendelde BYOD hĂȘ om Developer Options + USB debugging in te skakel.
  • Identifiseer die package name van ’n Work-Profile-app wat as required gemerk is (bv. com.workday.workdroidapp).

Wapenisering van die Android Studio multi-user installer

Android Studio se Run/Debug-konfigurasie kan steeds builds na toestelle stoot met die INSTALL_ALL_USERS-vlag. Voordat jy dit uitvoer, skakel Deploy as instant app → Install for all users aan.

Bou die malicious payload met dieselfde package name as die managed app en ’n veel groter versionCode sodat PackageManager/Finsky dit as ’n nuwer vrystelling beskou:

android {
namespace = "com.workday.workdroidapp"
defaultConfig {
applicationId = "com.workday.workdroidapp"
versionCode = 900000004
versionName = "9000000004.0"
}
}

When Android Studio deploys:

  1. Personal user (0) installeer die kwaadwillige pakket normaal.
  2. Work Profile user (1) ontvang die APK in ’n tydelike staging-area en probeer dit as ’n opdatering hanteer.
  3. CVE-2023-21257 se logika sien die gebruiker is beperk → installasie word geweier, maar die regmatige managed app word as gedeïnstalleer gemerk en die gestage APK bly in die kas.

Intune/Finsky auto-install bypass

Binne ~1–10 minute (beleid verfrissingsinterval):

  1. Intune/Company Portal ontdek dat die required pakket in die Work Profile ontbreek.
  2. Die Work-Profile Finsky-instansie word gevra om dit te herinstalleer.
  3. Tydens weergawe-resolusie vergelyk Finsky:
  • Play Store metadata vir com.workday.workdroidapp.
  • Die plaaslik gestage APK van die vorige installasiepoging.
  1. Omdat die plaaslike build die hoogste versionCode het, vertrou Finsky dit as die mees onlangse vrystelling en installeer dit in die beperkte Work Profile sonder om die DISALLOW_INSTALL_APPS / DISALLOW_DEBUGGING_FEATURES-kontroles weer toe te pas.

Die kwaadwillige binĂȘre lĂȘ nou binne die Work Profile onder die egte package name en word deur die MDM as compliant beskou.

Post-exploitation opportunities

  • Work-profile data access – ander enterprise apps bly vertrou op Intents/content providers wat aan die vervangde package gebind is, wat interne data-diefstal en geheime exfiltration van die Work Profile na attacker infrastructure moontlik maak.
  • Per-app VPN hijack – as die vervangde package gekoppel is aan ’n Intune per-app VPN (MS Tunnels + Defender), erf die kwaadwillige build outomaties die VPN-profiel, wat direkte toegang tot internal hosts vanaf ’n attacker-controlled proses gee.
  • Persistence – omdat die MDM nou glo die vereiste app is geĂŻnstalleer, sal dit die kwaadwillige build herinstalleer wanneer die gebruiker of verdediger dit verwyder, wat ’n langtermyn-voeting op BYOD Work Profiles verskaf.

References

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks