• Earn real money by being active: Hello Guest, earn real money by simply being active on the forum — post quality content, get reactions, and help the community. Once you reach the minimum credit amount, you’ll be able to withdraw your balance directly. Learn how it works.

Android: Análisis de Malware | by fudmario

Status
Not open for further replies.

fudmario

Leech
User
Joined
Feb 23, 2013
Messages
202
Reputation
0
Reaction score
1,098
Points
143
Credits
0
‎12 Years of Service‎
68%
Hace un par de semanas me preguntaron sobre esto, así que me saque algo de tiempo y decidi hacer este mini-tutorial para todos, y bueno veremos algunas formas para poder identificar APK's maliciosas y tambien el uso de aplicaciones que nos ayudaran en este proceso.

Comencemos...

¿Qué es una APK?

Un archivo con extensión .apk (Application PacKage File) es un paquete para el sistema operativo Android. Este formato es una variante del formato JAR de Java y se usa para distribuir e instalar componentes empaquetados para la plataforma Android...
Un archivo .apk normalmente contiene lo siguiente:

AndroidManifest.xml

classes.dex

resources.arsc

res (carpeta)

META-INF (carpeta)

lib (carpeta)

El Formato APK es básicamente un archivo comprimido ZIP con diferente extensión por lo cual pueden ser abiertos e inspeccionados usando un software archivador de ficheros como 7-Zip, Winzip, WinRAR o Ark.




  • AndroidManifest.xml


Es un archivo XML codificado como XML binario que nos muestra los datos de la aplicación(Actividades, permisos, servicios, etc.)

  • classes.dex


Aquí se encuentra el código de la aplicación compilado en un el formato que interpreta la maquina virtual de Dalvik

  • resources.arsc


Aquí se encuentran todos los recursos pre-compilados de la aplicación.

  • res


En esta carpeta estan los recursos de la aplicación.

  • META-INF


En esta carpeta encuentran los certificados de la aplicación.

Utilizaremos una muestra disponible en Contagio Mobile

¿Qué es Simplocker?

Simplocker es un troyano apuntado a móviles, uno de la los primeros de esta clase que tiene por objetivo los dispositivos móviles con Android. Este código malicioso explora la tarjeta SD residente en busca de ciertos tipos de archivos (.jpeg, .jpg, .png, .bmp, .gif, .pdf, .doc, .docx, .txt, .avi, .mkv, .3gp, .mp4), encripta estos archivos utilizando AES, y luego demanda un rescate de parte del usuario a cambio de la descripción de esos archivos vulnerados. El resultado determina que hasta que el rescate sea pagado, los usuarios no podrán acceder a su archivos personales (fotografías, descargas, canciones , etc.).
Nuestro punto de inicio será el archivo AndroidManifest.xml, este archivo nos mostrará que es lo que va a hacer, si intentamos leer el contenido de este archivo no será legible, para poder leerlo correctamente podemos usar: "AXMLPrinter2" o "xml-apk-parser".

AXMLPrinter2: Obtiene el XML desde el archivo xml binario.

Code:
>Uso: java -jar AXMLPrinter2.jar
xml-apk-parser: Obtiene el XML directamente desde la APK

Code:
>Uso: java -jar APKParser.jar
UIi2Arm.gif


Nj6yXCC.png





El Archivo AndroidManifest:

  • Android:versionCode = Indica la versión de nuestra aplicación
  • Android:versionName = Indica la versión de nuestra aplicación mostrada al usuario
  • package = Es el nombre del paquete Java que contiene el elemento raíz de nuestra aplicación
  • uses-permission = Esto declara los permisos que necesita la aplicación para funcionar.
  • permission = Esto declara los permisos que las actividades o servicios que necesita.
  • application = Esto define nombre, actividades, icono, etc.




Contenido del Archivo AndroidManifest de Simplocker:

  • android.permission.INTERNET = Permite a las aplicaciones abrir sockets de red
  • android.permission.ACCESS_NETWORK_STATE = Permite que las aplicaciones accedan a información sobre redes
  • android.permission.READ_PHONE_STATE = Permite acceso de sólo lectura al estado del teléfono.
  • android.permission.RECEIVE_BOOT_COMPLETED = Permite que una aplicación para recibir el ACTION_BOOT_COMPLETED que se emite después de que el sistema termine de iniciarse.
  • android.permission.WAKE_LOCK = Permite el uso de PowerManager WakeLocks mantener procesador de dormir o la pantalla de oscurecimiento
  • android.permission.WRITE_EXTERNAL_STORAGE = Permite que una aplicación escriba en el almacenamiento externo
  • android.permission.READ_EXTERNAL_STORAGE = Admite una aplicación que lee de almacenamiento externo.



Ahora vamos a decompilar el proyecto:

Como al principio hemos dicho que basicamente se trata de un archivo comprimido con diferente extensión, usando WinRAR podriamos extraer el contenido y con el archivo classes.dex pasandolo por Dex2jar obtendriamos el codigo

DEX2JAR

jaWYf5f.gif



JD-GUI:Decompiler(Haz Clic para ver el VIDEOGIF)


This link is hidden for visitors. Please Log in or register now.





Otra alternativa sería usar(aunque es de pago) "AndroChef Java Decompiler", es bastante completo tu solo seleccionas tu apk y nos muestra todo el codigo decompilado.

50M1u0Z.png


dZ23Q5y.png






CREANDO UN ENTORNO VIRTUAL:

Bueno para probar vamos a usar un Emulador para Android(yo usaré el Android SDK)

ANDROID VIRTUAL

bmBhBmG.gif


GJH9cX4.png





Para instalar Aplicaciones utilizaremos el "adb.exe" ubicado en la carpeta "platform-tools"

el modo de uso es el Siguiente:

Code:
>adb.exe install
Instalando APK

wuQKyK7.png


Simplocker Instalado

HkIkywf.png


Pantalla Principal

gf6p0Xm.png


Archivos Encryptados

mT9YI6A.png







Referencias:

This link is hidden for visitors. Please Log in or register now.


This link is hidden for visitors. Please Log in or register now.


This link is hidden for visitors. Please Log in or register now.


This link is hidden for visitors. Please Log in or register now.


This link is hidden for visitors. Please Log in or register now.


This link is hidden for visitors. Please Log in or register now.


This link is hidden for visitors. Please Log in or register now.


This link is hidden for visitors. Please Log in or register now.


Liberar los archivos encryptados:

5zHvE28.gif


This link is hidden for visitors. Please Log in or register now.



Si te gusta y quieres compartirlo adelante, recuerda respetar el autor del Post.





 
Last edited by a moderator:
Re: Android: Análisis de Malware | by fudmario

estas hecho un crack en esto del analisis, cada vez sorprendes más.. manuales muy bien explicados friends:

 
Re: Android: Análisis de Malware | by fudmario

Gracias por Comentar bro...

Actualize el post, añadi el videogif como usar Eset Simplocker Decryptor.

Saludos.

 
Status
Not open for further replies.
Back
Top