En ny type Android-sårbarhet kalt ParseDroid har blitt funnet i utviklerverktøy inkludert Android Studio, IntelliJ IDEA, Eclipse, APKTool og mer.
Når vi tenker på Android-sårbarheter, ser vi vanligvis for oss en null-dagers sårbarhet som utnytter en prosess for å eskalere privilegier. Dette kan være alt fra å lure smarttelefonen eller nettbrettet til å koble til et ondsinnet WiFi-nettverk, eller la kode kjøres på en enhet fra et eksternt sted. Det er imidlertid en ny type Android-sårbarhet som nylig har blitt oppdaget. Det blir kalt ParseDroid og utnytter utviklerverktøy inkludert Android Studio, IntelliJ IDEA, Eclipse, APKTool, Cuckoo-Droid-tjenesten og mer.
ParseDroid er imidlertid ikke isolert til bare Androids utviklerverktøy, og disse sårbarhetene har blitt funnet i flere Java/Android-verktøy som programmerere bruker i disse dager. Det spiller ingen rolle om du bruker et nedlastbart utviklerverktøy eller et som fungerer i skyen, Sjekk Point Research har funnet disse sårbarhetene i de vanligste Android- og Java-utviklingsverktøyene. Når den er utnyttet, kan en angriper få tilgang til interne filer på utviklerens arbeidsmaskin.
Check Point Research gravde først litt i det mest populære verktøyet for omvendt utvikling av tredjeparter Android-apper (APKTool) og fant ut at både dekompilerings- og bygnings-APK-funksjonene er sårbare for angrep. Etter å ha sett på kildekoden, klarte forskerne å identifisere et XML External Entity (XXE)-sårbarhet som er mulig fordi den konfigurerte XML-parseren av APKTool ikke deaktiverer eksterne enhetsreferanser ved parsing av en XML fil.
Når det er utnyttet, avslører sårbarheten hele OS-filsystemet til APKTool-brukere. I sin tur tillater dette potensielt angriperen å hente en hvilken som helst fil på offerets PC ved å bruke en ondsinnet "AndroidManifest.xml"-fil som utnytter en XXE-sårbarhet. Når denne sårbarheten ble oppdaget, så forskerne på populære Android IDE-er og fant ut at ved å bare laste inn ondsinnet "AndroidManifest.xml"-fil som en del av ethvert Android-prosjekt, begynner IDE-ene å spytte ut enhver fil som er konfigurert av angriper.
Check Point Research demonstrerte også et angrepsscenario som potensielt kan påvirke et stort antall Android-utviklere. Det fungerer ved å injisere en ondsinnet AAR (Android Archive Library) som inneholder en XXE-nyttelast i online-depoter. Hvis et offer kloner depotet, vil angriperen ha tilgang til potensielt sensitive bedriftseiendom fra offerets OS-filsystem.
Til slutt beskrev forfatterne en metode der de kan utføre ekstern kode på et offers maskin. Dette gjøres ved å utnytte en konfigurasjonsfil i APKTool kalt "APKTOOL.YAML." Denne filen har en seksjon kalt "unknownFiles" hvor brukere kan spesifisere filplasseringer som vil bli plassert under gjenoppbyggingen av en APK. Disse filene er lagret på offerets maskin i en "Ukjent"-mappe. Ved å redigere banen der disse filene er lagret, kan en angriper injisere hvilken som helst fil de vil ha på offerets filsystem siden APKTool ikke validerte banen der ukjente filer pakkes ut fra en APK.
Filene som angriperen injiserer fører til full ekstern kjøring av kode på offerets maskin, noe som betyr at en angriper kan utnytte ethvert offer med APKTool installert ved å lage en ondsinnet APK og la offeret forsøke å dekode og deretter bygge den opp igjen.
Siden alle IDE-ene og verktøyene nevnt ovenfor er på tvers av plattformer og generiske, er potensialet for å utnytte disse sårbarhetene høyt. Heldigvis, etter å ha kontaktet utviklerne av hver av disse IDE-ene og verktøyene, har Check Point Research bekreftet at disse verktøyene ikke lenger er sårbare for denne typen angrep. Hvis du kjører en eldre versjon av et av disse verktøyene, anbefaler vi at du oppdaterer umiddelbart for å sikre deg mot et ParseDroid-angrep.
Kilde: Check Point Research