Android Enterprise Work Profile Zamena obavezne aplikacije
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Površina napada
Android Enterprise Work Profiles su implementirani kao sekundarni Android korisnici (BYOD primer: user 0 = personal, user 1 = work). Svaki korisnik ima nezavisne /data/user/<id> stabla, sistemske aplikacije, Play Services instance i objekte politike koje održava MDM. Kada MDM kao što je Microsoft Intune označi aplikaciju kao required za Work Profile, Work-Profile Play Store (Finsky) periodično proverava da li je paket prisutan i automatski ga instalira ako nedostaje.
Čak i nakon zakrpe za CVE-2023-21257 koja blokira ADB sideloads kada su postavljeni DISALLOW_INSTALL_APPS ili DISALLOW_DEBUGGING_FEATURES, sledeći lanac omogućava napadaču da zameni bilo koju Intune-required Work Profile aplikaciju sa proizvoljnim kodom:
- Iskoristite Android Studio’s “Install for all users” putanju da postavite zlonamerni APK koji izgleda kao update managed package.
- Dozvolite MDM-u da primeti da required aplikacija nedostaje. Intune pokreće Work-Profile Finsky instancu da je ponovo instalira.
- Finsky upoređuje verziju staged APK sa Play Store verzijom i silentno instalira najveći
versionCode, zaobilazeći originalno ograničenje.
Recon i provere preduslova
- Potvrdite raspored više korisnika i korisničke ID-jeve:
adb shell pm list users
# Expect user 0 = Owner, user 1 = Work profile (or higher if multiple profiles exist)
- Direktne instalacije u radni profil korisnika ne prolaze zbog politike (očekivana greška):
adb install --user 1 legit.apk
# java.lang.SecurityException: Shell does not have permission to access user 1
- Morate imati privremeni fizički pristup otključanom BYOD da biste omogućili Developer Options + USB debugging.
- Identifikujte package name Work-Profile aplikacije označene kao required (npr.
com.workday.workdroidapp).
Weaponizacija multi-user installera u Android Studio
Android Studio’s Run/Debug configuration can still push builds with the INSTALL_ALL_USERS flag. Pre pokretanja, omogućite Deploy as instant app → Install for all users.
Sastavite zlonamerni payload sa istim package name kao managed app i sa znatno većim versionCode tako da PackageManager/Finsky tretira isti kao novije izdanje:
android {
namespace = "com.workday.workdroidapp"
defaultConfig {
applicationId = "com.workday.workdroidapp"
versionCode = 900000004
versionName = "9000000004.0"
}
}
Kada Android Studio raspoređuje:
- Personal user (0) normalno instalira zlonamerni paket.
- Work Profile user (1) prima APK u privremeni staging prostor i pokušava da ga tretira kao ažuriranje.
- Logika CVE-2023-21257 detektuje da je korisnik ograničen → instalacija je odbijena, ali legitimna upravljana aplikacija je označena kao deinstalirana i staged APK ostaje keširan.
Intune/Finsky auto-install bypass
U roku od ~1–10 minuta (interval osvežavanja politika):
- Intune/Company Portal detektuje da required paket nedostaje iz Work Profile.
- Za Work-Profile instancu Finsky se traži da ga ponovo instalira.
- Tokom rešavanja verzije, Finsky upoređuje:
- Play Store metapodatke za
com.workday.workdroidapp. - Lokalno staged APK iz prethodnog pokušaja instalacije.
- Zato što lokalna build verzija ima najveći
versionCode, Finsky mu veruje kao najnovijem izdanju i instalira ga u ograničeni Work Profile bez ponovnog primenjivanja proveraDISALLOW_INSTALL_APPS/DISALLOW_DEBUGGING_FEATURES.
Zlonamerni binarni fajl sada boravi unutar Work Profile pod autentičnim imenom paketa i smatra se usklađenim od strane MDM.
Post-exploitation opportunities
- Work-profile data access – ostale enterprise aplikacije i dalje veruju Intents/content providers vezanim za zamenjeni paket, što omogućava krađu internih podataka i skrivenu eksfiltraciju iz Work Profile ka infrastrukturi napadača.
- Per-app VPN hijack – ako je zamenjeni paket mapiran na Intune per-app VPN (MS Tunnels + Defender), zlonamerni build automatski nasleđuje VPN profil, dajući direktan pristup internim hostovima iz procesa pod kontrolom napadača.
- Persistence – pošto MDM sada veruje da je potrebna aplikacija instalirana, on će ponovo instalirati zlonamerni build kad god ga korisnik ili defender ukloni, pružajući dugoročnu prisutnost na BYOD Work Profiles.
References
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks

