Buscando malware o software espia en una app de Android

Iniciado por Mr.Byte, 19 Septiembre 2020, 13:14 PM

0 Miembros y 1 Visitante están viendo este tema.

Mr.Byte

Hola, buenas.
He realizado ingeniera inversa de una app optenida directamente de la tienda Android. En teoria no hay virus. Pero he analizado el codigo, y he visto varias cosas que me inquietan:
- El uso de Firebase : Polemico por la app del COVID https://www.xatakandroid.com/aplicaciones-android/que-ha-pasado-radar-covid-firebase-sirve-esta-herramienta-que-significa-su-presencia-codigo
- Uso de codigo de Pay-Pal y una filial braintreepayments, desconozco la funcion, porque en teoria,la app no realiza pagos ni cobros
- Newrelic , bzapps (juego de golf???)
Hay algo que preocuparme???

el-brujo

¿Qué herramientas has usado para hacer la ingeniería inversa de la app?


CitarAPKExtractor v4.2.9 de Meher Prasad (https://play.google.com/store/apps/details?id=com.ext.ui&hl=es)
    jadx v1.1.0 de skylot (https://github.com/skylot/jadx)

jadx permite decompilar directamente desde el APK y, en mi opinión, mejora la clásica combinación dex2jar + jd-gui.


@XSStringManolo

#3
No tiene nada de raro que una app use firebase, es una forma de construir apps o webapps sin preocuparse demasiado por el backend. Te dan base de datos, login y todas esa funcionalidad de backend en microservicios si necesidad de programar por lo que es sencillo y escalable.

Es bastante común meter formas de cobro en la app sin indicarlo. Esto se salta las políticas de google play. Se suele hacer para cobrar sin que google play se lleve un %. No necesariamente implica que se haga uso fraudulento, estafas, cobros raros ni nada de eso.

Yo uso las mismas herramientas que te recomienda el brujo. También apktools.

Los pasos que sigo son:
- Genero una carpeta con unzip.
https://github.com/StringManolo/MALWARE/tree/master/ANDROID/Lihy_Alix/unziped

- Genero una carpeta con apktools.
https://github.com/StringManolo/MALWARE/tree/master/ANDROID/Lihy_Alix/decompiled

- Genero una carpeta con jadx
https://github.com/StringManolo/MALWARE/tree/master/ANDROID/Lihy_Alix/desofuscado

- Lo subo a virustotal.
https://www.virustotal.com/gui/file/cf26716d4cf9a13964ad258d4972fd8bc25b7c977f62852972377e1992614621/summary

- Lo subo a hybridanalisis.
https://www.hybrid-analysis.com/sample/cf26716d4cf9a13964ad258d4972fd8bc25b7c977f62852972377e1992614621

- Guia apktools:
https://ibotpeaches.github.io/Apktool/documentation/


Al final te queda algo así:
https://github.com/StringManolo/MALWARE/blob/master/ANDROID/Lihy_Alix/README.txt

Suelo usar también radare2 para buscar strings con codificaciones raras, mirar el flow en diagramas, el hexadecimal... Te la recomiendo.

PD: Deberías analizar el tráfico con mitmproxy instalando un certificado. Tiene interfaz web muy cómoda.

Mr.Byte

Gracias por la respuesta.
Mi curiosidad sobre la app vino por el polemico uso de firebase en la app de COVID, cogi una Webapp de un sindicato, que curiosamente doblaba o triplicaba en peso de megas, apps similares.
Supongo que el codigo debe de estar poco optimizado.
Gracias por todo, doy el tema por cerrado

@XSStringManolo

Cita de: Mr.Byte en  7 Octubre 2020, 08:57 AM
Gracias por la respuesta.
Mi curiosidad sobre la app vino por el polemico uso de firebase en la app de COVID, cogi una Webapp de un sindicato, que curiosamente doblaba o triplicaba en peso de megas, apps similares.
Supongo que el codigo debe de estar poco optimizado.
Gracias por todo, doy el tema por cerrado
No te creas que el malware hace que una app pese mucho más. Los hay bien simples con pocas líneas de còdigo que hacen su uso. A parte no suelen usar imágenes ni recursos por el estilo.

el-brujo

Cómo extraer el APK de cualquier aplicación en Android

Cómo podemos extraer ese fichero APK de cualquier aplicación que tengamos instalada en el móvil.

Android utiliza 3 tipos de arquitecturas básicas en sus procesadores: ARM, ARM64 y X86.

Cómo conseguir el APK de las aplicaciones que tenemos instaladas en el móvil

Para sacar el APK de cualquiera de las aplicaciones que tenemos instaladas en un Android no necesitamos demasiadas complicaciones. Existen lo que se conoce como extractores de APKs, aplicaciones que hacen justamente lo que indica su nombre. Una de las mejores se llama APK Extractor. Es gratuita y la podemos descargar directamente desde Google Play.

APK Extractor
https://play.google.com/store/apps/details?id=com.ext.ui
Developer: meher
Price: Free

Para extraer el APK de cualquier aplicación de sistema o app que hayamos descargado en el teléfono, seguiremos los siguientes pasos.

    Abrimos APK Extractor Pro.
    Veremos un listado de todas las aplicaciones y servicios instalados en nuestro dispositivo Android. Desde aquí buscaremos la aplicación que queremos convertir en APK.
    Una vez hemos localizado la app, pulsamos sobre ella.
    En este punto, si es la primera vez que utilizamos APK Extractor el sistema nos pedirá permisos de almacenamiento. Le otorgamos los permisos.
    Automáticamente la aplicación comenzará el trabajo de extracción. Dura apenas unos segundos.
    Podemos comprobar que el APK ha sido descargado desplazándonos hasta la carpeta «ExtractedApks» dentro de la memoria interna del teléfono. Podemos ir a esta carpeta utilizando un explorador de archivos o conectando el móvil a un PC.

Cómo extraer APKs directamente desde Google Play

Otra opción muy cómoda para conseguir el APK de una aplicación es descargándola directamente desde Google Play. Para ello, solo necesitamos acceder a esta herramienta online e introducir la URL en Google Play de la app que queremos descargar.

https://apps.evozi.com/apk-downloader/

Fuente:
https://elandroidefeliz.com/extraer-apk-de-cualquier-aplicacion-instalada-en-android/