Android Enterprise Work Profile Required-App Replacement
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking’i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter’da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Saldırı yüzeyi
Android Enterprise Work Profiles, secondary Android users olarak uygulanır (BYOD örneği: user 0 = personal, user 1 = work). Her kullanıcının bağımsız /data/user/<id> ağaçları, sistem uygulamaları, Play Services örnekleri ve MDM tarafından yönetilen politika nesneleri vardır. Bir MDM (ör. Microsoft Intune) bir uygulamayı Work Profile için required olarak işaretlediğinde, Work-Profile Play Store (Finsky) paketinin mevcut olduğunu periyodik olarak doğrular ve eksikse otomatik olarak yükler.
DISALLOW_INSTALL_APPS veya DISALLOW_DEBUGGING_FEATURES ayarlı olduğunda ADB sideload’larını engelleyen CVE-2023-21257 yamasından sonra bile, aşağıdaki zincir bir saldırganın any Intune-required Work Profile app’i rastgele kodla değiştirmesine izin verir:
- Android Studio’nun “Install for all users” yolunu suistimal ederek, yönetilen paketin bir güncellemesi gibi görünen kötü amaçlı bir APK hazırlayın.
- MDM’nin gerekli uygulamanın eksik olduğunu fark etmesini sağlayın. Intune, Work-Profile Finsky örneğini yeniden yüklemeye tetikler.
- Finsky, sahneye konulan APK sürümünü Play Store sürümü ile karşılaştırır ve orijinal kısıtlamayı atlayarak en yüksek
versionCode’u sessizce yükler.
Keşif ve önkoşul kontrolleri
- Çoklu kullanıcı düzenini ve kullanıcı kimliklerini doğrulayın:
adb shell pm list users
# Expect user 0 = Owner, user 1 = Work profile (or higher if multiple profiles exist)
- İş profili kullanıcısına doğrudan kurulumlar politika gereği başarısız olur (beklenen hata):
adb install --user 1 legit.apk
# java.lang.SecurityException: Shell does not have permission to access user 1
- Developer Options + USB debugging’i etkinleştirmek için kilidi açılmış bir BYOD’a geçici fiziksel erişiminiz olmalıdır.
- required olarak işaretlenmiş bir Work-Profile uygulamasının package name’ini tespit edin (ör.
com.workday.workdroidapp).
Android Studio çoklu-kullanıcı yükleyicisini silahlandırma
Android Studio’nun Run/Debug yapılandırması hâlâ INSTALL_ALL_USERS bayrağıyla build’leri gönderebilir. Çalıştırmadan önce Deploy as instant app → Install for all users’ı etkinleştirin.
Yönetilen uygulamayla aynı package name’e ve PackageManager/Finsky’in daha yeni bir sürüm olarak değerlendirmesi için çok daha büyük bir versionCode’a sahip malicious payload’u build edin:
android {
namespace = "com.workday.workdroidapp"
defaultConfig {
applicationId = "com.workday.workdroidapp"
versionCode = 900000004
versionName = "9000000004.0"
}
}
When Android Studio deploys:
- Personal user (0) kötü amaçlı paketi normal şekilde yükler.
- Work Profile user (1) APK’yı geçici bir staging alanında alır ve bunu bir güncelleme olarak işlemeye çalışır.
- CVE-2023-21257’in mantığı kullanıcının kısıtlı olduğunu görür → yükleme reddedilir, ancak meşru yönetilen uygulama kaldırılmış olarak işaretlenir ve sahneye alınmış APK önbellekte kalır.
Intune/Finsky auto-install bypass
Yaklaşık 1–10 dakika içinde (policy refresh interval):
- Intune/Company Portal, Work Profile’dan required paketin eksik olduğunu tespit eder.
- Work-Profile Finsky örneğine bunun yeniden yüklenmesi istenir.
- Sürüm çözümlemesi sırasında Finsky karşılaştırır:
- Play Store metadata for
com.workday.workdroidapp. - The locally staged APK from the previous install attempt.
- Yerel build en yüksek
versionCodeolduğu için, Finsky onu en güncel sürüm olarak güvenir ve kısıtlı Work Profile’aDISALLOW_INSTALL_APPS/DISALLOW_DEBUGGING_FEATURESkontrollerini yeniden uygulamadan yükler.
Kötü amaçlı ikili artık gerçek paket adı altında Work Profile içinde yer alır ve MDM tarafından uyumlu kabul edilir.
Post-exploitation opportunities
- Work-profile data access – diğer kurumsal uygulamalar, değiştirilmiş pakete bağlı Intents/content providers’lara güvenmeye devam eder; bu da iç veri hırsızlığına ve Work Profile’dan saldırgan altyapısına gizli dışa aktarımın yapılmasına olanak sağlar.
- Per-app VPN hijack – eğer değiştirilmiş paket Intune per-app VPN (MS Tunnels + Defender) ile eşlenmişse, kötü amaçlı build otomatik olarak VPN profilini devralır ve saldırgan kontrollü bir süreçten iç sunuculara doğrudan erişim sağlar.
- Persistence – MDM artık gerekli uygulamanın yüklü olduğuna inandığı için, kullanıcı veya defender uygulamayı kaldırdığında kötü amaçlı build’i yeniden yükler, böylece BYOD Work Profiles üzerinde uzun süreli bir yer edinme sağlar.
References
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking’i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter’da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
HackTricks

