Android Enterprise Work Profile Reemplazo de aplicación requerida
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
Superficie de ataque
Android Enterprise Work Profiles are implemented as secondary Android users (BYOD example: user 0 = personal, user 1 = work). Cada usuario tiene árboles independientes /data/user/<id>, system apps, Play Services instances y objetos de políticas mantenidos por el MDM. Cuando un MDM como Microsoft Intune marca una app como required para el Work Profile, el Work-Profile Play Store (Finsky) confirma periódicamente que el paquete está presente y lo instala automáticamente si falta.
Incluso después del parche CVE-2023-21257 que bloquea ADB sideloads cuando DISALLOW_INSTALL_APPS o DISALLOW_DEBUGGING_FEATURES están establecidos, la siguiente cadena permite que un atacante reemplaze cualquier Intune-required Work Profile app con código arbitrario:
- Abusar de la ruta de Android Studio “Install for all users” para colocar un APK malicioso que parezca una actualización del paquete gestionado.
- Permitir que el MDM detecte que falta la app requerida. Intune desencadena la instancia Work-Profile Finsky para reinstalarla.
- Finsky compara la versión del APK colocado con la versión de Play Store e instala silenciosamente el
versionCodemás alto, eludiendo la restricción original.
Recon y comprobaciones previas
- Confirm multi-user layout and user IDs:
adb shell pm list users
# Expect user 0 = Owner, user 1 = Work profile (or higher if multiple profiles exist)
- Las instalaciones directas en el usuario de trabajo fallan por la política (error esperado):
adb install --user 1 legit.apk
# java.lang.SecurityException: Shell does not have permission to access user 1
- Debes tener acceso físico temporal a un BYOD desbloqueado para habilitar Developer Options + USB debugging.
- Identifica el nombre de paquete de una app de Work-Profile marcada como required (p. ej.
com.workday.workdroidapp).
Explotando el instalador multiusuario de Android Studio
La configuración Run/Debug de Android Studio todavía puede desplegar builds con la bandera INSTALL_ALL_USERS. Antes de ejecutar, habilita Deploy as instant app → Install for all users.
Compila el payload malicioso con el mismo nombre de paquete que la app gestionada y un versionCode mucho mayor para que PackageManager/Finsky lo trate como una versión más reciente:
android {
namespace = "com.workday.workdroidapp"
defaultConfig {
applicationId = "com.workday.workdroidapp"
versionCode = 900000004
versionName = "9000000004.0"
}
}
Cuando Android Studio despliega:
- Personal user (0) instala el paquete malicioso normalmente.
- Work Profile user (1) recibe el APK en un área de staging temporal y se intenta tratar como una actualización.
- La lógica de CVE-2023-21257 detecta que el usuario está restringido → la instalación es denegada, pero la app legítima gestionada se marca como desinstalada y el APK staged queda en caché.
Intune/Finsky auto-install bypass
En aproximadamente ~1–10 minutos (intervalo de actualización de políticas):
- Intune/Company Portal detecta que el paquete requerido falta en el Work Profile.
- A la instancia de Finsky del Work Profile se le pide que lo reinstale.
- Durante la resolución de versiones Finsky compara:
- Metadatos de Play Store para
com.workday.workdroidapp. - El APK staged local del intento de instalación anterior.
- Debido a que la build local tiene el mayor
versionCode, Finsky la considera la release más reciente y la instala en el Work Profile restringido sin volver a aplicar las comprobacionesDISALLOW_INSTALL_APPS/DISALLOW_DEBUGGING_FEATURES.
El binario malicioso ahora reside dentro del Work Profile bajo el nombre de paquete legítimo y es considerado conforme por el MDM.
Post-exploitation opportunities
- Work-profile data access – otras apps empresariales continúan confiando en Intents/content providers vinculados al paquete reemplazado, permitiendo el robo interno de datos y la exfiltración encubierta desde el Work Profile hacia infraestructura controlada por el atacante.
- Per-app VPN hijack – si el paquete reemplazado está mapeado a una Per-app VPN de Intune (MS Tunnels + Defender), la build maliciosa hereda automáticamente el perfil VPN, dando acceso directo a hosts internos desde un proceso controlado por el atacante.
- Persistence – puesto que el MDM ahora cree que la app requerida está instalada, volverá a reinstalar la build maliciosa cada vez que el usuario o el defensor la eliminen, proporcionando un punto de apoyo a largo plazo en Work Profiles BYOD.
References
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
HackTricks

