SlideShare una empresa de Scribd logo
Show me your
                                             Kung-Fu




Sebastián Guerrero
 Jorge Mieres                                         @0xroot
sguerrero@malwareint.com   http://blog.seguesec.com   @jorgemieres
 jamieres@malwareint.com
Contenido
  •   Introducción
  •   Análisis Estático
  •   Análisis Dinámico
  •   Análisis Forense
  •   Nickispy
  •   Protecciones
  •   Vulnerabilidades
  •   Conclusión
Estructura del sistema
• Usado para empacar las aplicaciones
               • Todo APK incluye:
                    • classes.dex
                   • resources.asc
                   • /res
                   • /META-INF
                   • AndroidManifest.xml




Ficheros APK
Formato de ficheros DEX
Android Manifest
• java/Fuente (Compiler) – dex/dexdump
• dex/dex2jar (jdgui) – java/jd-gui
• dex/dexdump (basksmali) - smali/basksmali




Ejemplo de código
Análisis Estático
1.   Creamos una máquina virtual usando el SDK.

2.   Lanzamos el emulador y almacenamos las conexiones en un pcap:
     •   emulator –port n @device-name –tcpdump foo.pcap

3.   Instalamos la aplicación
     •   adb install appname.apk

4.   Lanzamos pruebas sobre el dispositivo y la aplicación
     •   adb shell monkey –v –p package.app n

5.   Leemos los logs
     •   adb shell logcat –d

6.   Podemos apoyarnos en Wireshark para leer los logs de conexiones.


Análisis Dinámico
• Llamadas de teléfono
    • gsm call p-n
    • gsm accept p-n
    • gsm cancel p-n

• SMS
    • sms send prefix-number text

• Emular velocidad de red
    • netspeed gsm n
    • netspeed umts n

• Cambiar coordenadas GPS
    • geo fix -13… 21…




Simular Eventos
1.    AXMLPrinter2 – Extraemos la información del
      AndroidManifest.xml

2.    Dex2jar – Convertimos el fichero .dex en un fichero
      de clases .jar.
      JAD – Transformamos los ficheros .class en ficheros .jad

3.    JDgui – Leemos el código almacenado en el fichero
      .jar.

4.    Understand – Análisis estático del código.

5.    Wireshark – Análisis dinámico del código.




     Modus Operandi
• Noob
     • Nombrar ficheros de clases con el mismo nombre en minúscula/mayúscula.
     Esto ocultará los ficheros en sistemas que no distingan entre minúsculas/mayúsculas:
     N.class ~ n.class
     • Cifrar las conexiones que realiza el malware (DES) dificultando su análisis.

• Rookie
    • Introducir técnicas para comprobar si se está ejecutando en un emulador.
    • Mejorar la eficiencia del código y ofuscarlo con alguna aplicación como ProGuard.

• Master of Universe
    • Modificar el propio bytecode para inutilizar las herramientas de reversing.




Técnicas antianálisis
• Android está basado en el núcleo de Linux.

• Se usa MTD para interactuar con la memoria flash.
     • Sigue la nomenclatura /dev/mtd*
     • Puntos de montura para /system, /data, /cache están asociados a diferentes mtdblocks.
     • Cada dispositiva está asociado a un dispositivo ro (Read Only).

• Es necesario ser usuario root para poder realizar un análisis forense.
     • Exploits.
     • Aplicaciones específicas

• A la hora de traernos los ficheros al disco podemos usar:
      • Comando PULL del SDK para descargar/subir ficheros.
     • Instalar un servidor SSH en el teléfono como DropBear.
     • Instalar un servidor FTP.

• Hacer correlaciones de los diferentes puntos de montaje.


• Tener acceso a los datos y bases de datos.

Forensics
Encrip… What da fuck?
Si pierdes tu teléfono prepárate para…
• Alerta de seguridad - 19 julio

 • Detectado por Symantec ~ 20apps

 • Procedencia – Fujian (China)

 • Nombre – com.nicky.lyyws.xmall

 • Desarrollado por – 56mo http://www.56mo.com

 • Descargar desde – http://user.c5005.com/DownList.aspx




NickiSpy
• No se distribuyó nunca por el Market.                    MD5                                    Ratio      Fecha
                                                           ad4dbe34853f1d58543b0b8db133eb5b       10/44      2011.08.31
• Se puede descargar desde la página de la compañía:
       • Elegir marca de Smartphone.                       a21ae2802a0ee460ca2d17a9102ff7b1       14/44      2011.09.04
      • Elegir modelo concreto.                            15afe9bfa1b3139b5727112aa12b8f70       19/44      2011.08.31

• Acto seguido fue distribuido por varios Markets chinos   426cedcf268bdf556aa405e0c8e03c16       20/44      2011.08.31
       • CamangiMarket - camangimarket.com                 0d2d9504649a97e7afee2caca61e277e       15/44      2011.09.02
      • GoAPK - goapk.com
                                                           0d2d9504649a97e7afee2caca61e277e       15/44      2011.09.02
                                                           83a98eabf044826622db7c211764cdf4       13/44      2011.08.23
                                                           298446914e6c845fb331bfbfd2176d9d       26 /44     2011.08.23
                                                           f6cea3c1c0e9d2cf0ec373f142852399       12/44      2011.08.23
      •
                                                           f4514598c47658e513888ae6cb3fd8b1       23 /44     2011.08.14
                                                           1cbb2e45356bad1f3ecb103ed76dffdd       9 /44      2011.08.11
                                                           a72adce41ea55c239ef04fbda446ceb1       2/44       2011.09.02
                                                           edf5d97f1d47bdb3ca9c414f33337a87       7/44       2011.08.12
                                                           0e7989aac352df525e5ebb077c786072       9/44       2011.08.11
                                                           5664e00084e949b07227459d8bdaf9f3       13/44      2011.08.10
      •
                                                           a21ae2802a0ee460ca2d17a9102ff7b1       14/44      2011.09.04

                                                            18 muestras ~ 1ª muestra (19.07) ~ Detectadas (11.08-04.09)
  Estadísticas
Autor
•android.permission.CALL_PHONE
•android.permission.PROCESS_OUTGOING_CALLS
•android.permission.INTERNET
•android.permission.ACCESS_GPS
•android.permission.ACCESS_COARSE_LOCATION
•android.permission.ACCESS_COARSE_UPDATES
•android.permission.ACCESS_FINE_LOCATION
•android.permission.READ_PHONE_STATE
•android.permission.READ_CONTACTS
•android.permission.WRITE_CONTACTS
•android.permission.ACCESS_WIFI_STATE
•android.permission.SEND_SMS
•android.permission.READ_SMS
•android.permission.WRITE_SMS
•android.permission.WAKE_LOCK
•android.permission.RECORD_AUDIO
•android.permission.WRITE_EXTERNAL_STORAGE




Lista de permisos
• Inicializamos el emulador (podemos especificar el puerto, seleccionar la VM, almacenar las conexiones, entre otras opciones).


• Instalamos la aplicación.



• Árbol inicial (Antes de la infección).




• Simulamos actividad


• Árbol final (Después de la infección)




     Proceso de infección
• Obtiene el IMEI del dispositivo.

                           • Crea un fichero de configuración
                                • Ruta: com.nicky.lyyws.xamll/lib/shared_prefs
                                • Nombre fichero: XM_All_Setting




Fichero de configuración
• Servidor C&C: jin.56mo.com
               • Puerto: 2018



Servidor C&C
Análisis I
• /sdcard/shangzhou/callrecord/
• setAudioSource(1)
       • public static final int MIC
       • Microphone audio source
       • Constant Value: 1 (0x00000001)
• setOutputFormat(1)
       • public static final int THREE_GPP
       • 3GPP media file format
       • Constant Value: 1 (0x00000001)
• setAudioEncoder(1)
      • public static final int AMR_NB
       • AMR (Narrowband) audio codec
       • Constant Value: 1 (0x00000001)


Servicio de grabación
• Número SMS Premium: 15859268161.

               • Envía un SMS con el IMEI.

               • El número premium pertenece a Fujiance.

               • Comprueba que la aplicación no corra en un emulador.




Servicio SMS
• Formato AMR
     • AMR (Adaptative Multi-Rate) es un formato de compresión de audio
     optimizado para la codificación de voz.

• El malware almacena el audio grabado en:
     • /sdcard/shangzhou/callrecord

•El fichero creado tiene como nombre la fecha y hora en que fue creado:
     • 20110907184158001 – año//mes/día– hora/minutos




 Formato “AMR”
• Se basa en una simple condición de estado

• Usa dos simples métodos de autentificación
     • checkAccess para comprobar que tenemos los suficientes permisos para ejecutar
     la aplicación.




     • handleServiceConnectionError para manejar los errores.




     ¿Protección en las aplicaciones?
Proceso manual
     1.   Desempacar el APK usando la herramienta Baksmali.
     2.   Realizar el cambio de código en los métodos checkAccess y handleServiceConnectionError .
     3.   Generar la clave privada con la que firmar el paquete.
     4.   Empacar el APK usando APKTool
     5.   Firmar la aplicación con jargsigner
     6.   Usar zipalign
     7.   Instalar y disfrutar.




    Proceso automatizado
•     Sólo es necesario revertir la librería encargada de veriticar las licencias (License
      Verification Library)

•     Usar la herramienta anti-lvl:




          Rompiendo la protección
•   Vulnerabilidad “Touch-Event Hijacking”
     •   Podemos mostrar al usuario una interfaz tapadera.
     •   Hacer compras, click en banners de publicidad, instalar aplicaciones,
         saltarnos los permisos, o incluso robar cualquier tipo de información
         del teléfono

•   ¿Cómo funciona?
     •   A través de Toasts , que permiten pasar los eventos a las capas
         inferiores

•   ¿Qué versiones se ven afectadas?
     •   Según Google ninguna, esta vulnerabilidad está corregida.
     •   Remitiéndonos a las pruebas, a día de hoy <= 2.3.4

•   ¿Qué piensa Google de todo esto?




     TapJacking
• Se han diseñado un total de 4 payloads
     • CallPayload.java – Realiza llamadas al número de indicado.
     • MarketPayload.java – Descarga e instala aplicaciones del market.
     • ResetPayload.java – Devuelve al estado de fábrica el teléfono.
     • SMSPayload.java – Envía un mensaje de texto al número indicado.

• Está diseñado para que se puedan añadir payloads por el usuario de forma sencilla.

• La estructura interna es la siguiente:
     • Main.java – Ejecuta el servicio y carga los payloads.
     • MalwarePayload.java – Abstracción para implementar más fácilmente los payloads.
     • MalwareService.java – Crea el toast e inicia el proceso de tap-jack.
     • main.xml – Tiene el layout de la aplicación, lanzando con un evento onClick cada payload.
     • strings.xml – Contiene las cadenas que son utilizadas en la aplicación.

• El código puede descargarse desde:
      • http://code.google.com/p/tap-android/



  ¿Cómo está organizado?
Conclusiones
¡MUCHAS GRACIAS!
Sebastián Guerrero
 Jorge Mieres                                         @0xroot
sguerrero@malwareint.com   http://blog.seguesec.com   @jorgemieres
 jamieres@malwareint.com

Más contenido relacionado

Destacado

Smalltalk In the Cloud
Smalltalk In the CloudSmalltalk In the Cloud
Smalltalk In the Cloud
ESUG
 
News Release: Lakeland Resources Acquires Newnham Lake Property
News Release:  Lakeland Resources Acquires Newnham Lake PropertyNews Release:  Lakeland Resources Acquires Newnham Lake Property
News Release: Lakeland Resources Acquires Newnham Lake PropertyLakeland Resources Inc. (TSXv: LK)
 
[Kladd] Faktorisering ved kvadratsetningene
[Kladd] Faktorisering ved kvadratsetningene[Kladd] Faktorisering ved kvadratsetningene
[Kladd] Faktorisering ved kvadratsetningene
Elisabeth Engum
 
Herencia
HerenciaHerencia
Herencia
Mauricio Rios
 
Platforum D2C Conference 24 June 2015: Digital Marketing Guru Panel
Platforum D2C Conference 24 June 2015: Digital Marketing Guru PanelPlatforum D2C Conference 24 June 2015: Digital Marketing Guru Panel
Platforum D2C Conference 24 June 2015: Digital Marketing Guru Panel
Acanthus Consulting
 
2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE
2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE
2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE
ARBOinteractive Polska
 
OBP Medical IMC Plan_No Video
OBP Medical IMC Plan_No VideoOBP Medical IMC Plan_No Video
OBP Medical IMC Plan_No Video
Lujia Chen
 
Heartlands1 clan donald - Bannockburn 2014 (Scotland)
Heartlands1 clan donald - Bannockburn 2014 (Scotland)Heartlands1 clan donald - Bannockburn 2014 (Scotland)
Heartlands1 clan donald - Bannockburn 2014 (Scotland)
Connie Sanders
 
7 pasos para emprender
7 pasos para emprender7 pasos para emprender
7 pasos para emprender
Victor Miguel Melgarejo Zurutuza
 
"La reforma tributaria", una ponencia de Francisco Franconetti
"La reforma tributaria", una ponencia de Francisco Franconetti"La reforma tributaria", una ponencia de Francisco Franconetti
"La reforma tributaria", una ponencia de Francisco Franconetti
Rocío Gutiérrez Micó
 
Benchmarking para una sala de prensa
Benchmarking para una sala de prensaBenchmarking para una sala de prensa
Benchmarking para una sala de prensa
akena
 
CDINFORMA NÚMERO 2635, 30 DE ADAR I DE 5774, 2 DE MARZO DE 2014
CDINFORMA NÚMERO 2635, 30 DE ADAR I DE 5774, 2 DE MARZO DE 2014CDINFORMA NÚMERO 2635, 30 DE ADAR I DE 5774, 2 DE MARZO DE 2014
CDINFORMA NÚMERO 2635, 30 DE ADAR I DE 5774, 2 DE MARZO DE 2014
Centro Deportivo Israelita
 
Bemposta or Benposta .The first modern spanish complementary currency?
Bemposta or Benposta .The first modern spanish complementary currency?Bemposta or Benposta .The first modern spanish complementary currency?
Bemposta or Benposta .The first modern spanish complementary currency?
UNED
 
02 filter
02 filter02 filter
02 filter
Genvy DarkNezz
 
Mejorar el liderazgo escolar, Volumen 1: política y práctica
Mejorar el liderazgo escolar, Volumen 1: política y prácticaMejorar el liderazgo escolar, Volumen 1: política y práctica
Mejorar el liderazgo escolar, Volumen 1: política y práctica
Ismael Rodríguez Arias
 
Michelob ppt 1
Michelob ppt 1Michelob ppt 1
Michelob ppt 1
Jerome Martin
 

Destacado (19)

Smalltalk In the Cloud
Smalltalk In the CloudSmalltalk In the Cloud
Smalltalk In the Cloud
 
News Release: Lakeland Resources Acquires Newnham Lake Property
News Release:  Lakeland Resources Acquires Newnham Lake PropertyNews Release:  Lakeland Resources Acquires Newnham Lake Property
News Release: Lakeland Resources Acquires Newnham Lake Property
 
[Kladd] Faktorisering ved kvadratsetningene
[Kladd] Faktorisering ved kvadratsetningene[Kladd] Faktorisering ved kvadratsetningene
[Kladd] Faktorisering ved kvadratsetningene
 
Leitlinien für Kathbern
Leitlinien für KathbernLeitlinien für Kathbern
Leitlinien für Kathbern
 
Herencia
HerenciaHerencia
Herencia
 
Platforum D2C Conference 24 June 2015: Digital Marketing Guru Panel
Platforum D2C Conference 24 June 2015: Digital Marketing Guru PanelPlatforum D2C Conference 24 June 2015: Digital Marketing Guru Panel
Platforum D2C Conference 24 June 2015: Digital Marketing Guru Panel
 
Revista de Marketing Dental y Gesti
Revista de Marketing Dental y GestiRevista de Marketing Dental y Gesti
Revista de Marketing Dental y Gesti
 
2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE
2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE
2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE
 
OBP Medical IMC Plan_No Video
OBP Medical IMC Plan_No VideoOBP Medical IMC Plan_No Video
OBP Medical IMC Plan_No Video
 
Heartlands1 clan donald - Bannockburn 2014 (Scotland)
Heartlands1 clan donald - Bannockburn 2014 (Scotland)Heartlands1 clan donald - Bannockburn 2014 (Scotland)
Heartlands1 clan donald - Bannockburn 2014 (Scotland)
 
2008-03-10 Power Service strategy
2008-03-10 Power Service strategy2008-03-10 Power Service strategy
2008-03-10 Power Service strategy
 
7 pasos para emprender
7 pasos para emprender7 pasos para emprender
7 pasos para emprender
 
"La reforma tributaria", una ponencia de Francisco Franconetti
"La reforma tributaria", una ponencia de Francisco Franconetti"La reforma tributaria", una ponencia de Francisco Franconetti
"La reforma tributaria", una ponencia de Francisco Franconetti
 
Benchmarking para una sala de prensa
Benchmarking para una sala de prensaBenchmarking para una sala de prensa
Benchmarking para una sala de prensa
 
CDINFORMA NÚMERO 2635, 30 DE ADAR I DE 5774, 2 DE MARZO DE 2014
CDINFORMA NÚMERO 2635, 30 DE ADAR I DE 5774, 2 DE MARZO DE 2014CDINFORMA NÚMERO 2635, 30 DE ADAR I DE 5774, 2 DE MARZO DE 2014
CDINFORMA NÚMERO 2635, 30 DE ADAR I DE 5774, 2 DE MARZO DE 2014
 
Bemposta or Benposta .The first modern spanish complementary currency?
Bemposta or Benposta .The first modern spanish complementary currency?Bemposta or Benposta .The first modern spanish complementary currency?
Bemposta or Benposta .The first modern spanish complementary currency?
 
02 filter
02 filter02 filter
02 filter
 
Mejorar el liderazgo escolar, Volumen 1: política y práctica
Mejorar el liderazgo escolar, Volumen 1: política y prácticaMejorar el liderazgo escolar, Volumen 1: política y práctica
Mejorar el liderazgo escolar, Volumen 1: política y práctica
 
Michelob ppt 1
Michelob ppt 1Michelob ppt 1
Michelob ppt 1
 

Similar a Malware intelligence ppt-slides

¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
SEINHE
 
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android ¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
degarden
 
Pimp your Android. Rooted CON 2012.
Pimp your Android. Rooted CON 2012.Pimp your Android. Rooted CON 2012.
Pimp your Android. Rooted CON 2012.
Internet Security Auditors
 
Análisis de malware en Android -.Bsides Chile 2014
Análisis de malware en Android -.Bsides Chile 2014Análisis de malware en Android -.Bsides Chile 2014
Análisis de malware en Android -.Bsides Chile 2014
Julian Maximiliano Zarate
 
Forense android
Forense androidForense android
Forense androidRafael Seg
 
PhoneGap Basics v1.0
PhoneGap Basics v1.0PhoneGap Basics v1.0
PhoneGap Basics v1.0
Jesús Fontecha
 
Leccion0 sisop
Leccion0 sisopLeccion0 sisop
Capacitación para Auxiliares1
Capacitación para Auxiliares1Capacitación para Auxiliares1
Capacitación para Auxiliares1
Club Docente Digital
 
Seguridad Integral con Código Abierto
Seguridad Integral con Código AbiertoSeguridad Integral con Código Abierto
Seguridad Integral con Código Abierto
Futura Networks
 
DDS
DDSDDS
Guia 3 -reconocimiento_de_hardware
Guia 3 -reconocimiento_de_hardwareGuia 3 -reconocimiento_de_hardware
Guia 3 -reconocimiento_de_hardwarekarito199317
 
Guia 3 -reconocimiento_de_hardware
Guia 3 -reconocimiento_de_hardwareGuia 3 -reconocimiento_de_hardware
Guia 3 -reconocimiento_de_hardwarekarito199317
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
JESSIKADG86
 
Ingeniería Inversa en Android. Rooted Labs. Rooted CON 2012.
Ingeniería Inversa en Android.  Rooted Labs. Rooted CON 2012.Ingeniería Inversa en Android.  Rooted Labs. Rooted CON 2012.
Ingeniería Inversa en Android. Rooted Labs. Rooted CON 2012.
Internet Security Auditors
 
Cristian Barrientos - Auditando Aplicaciones Android [rooted2018]
Cristian Barrientos - Auditando Aplicaciones Android [rooted2018]Cristian Barrientos - Auditando Aplicaciones Android [rooted2018]
Cristian Barrientos - Auditando Aplicaciones Android [rooted2018]
RootedCON
 
Trabajando con acelerómetros en Android
Trabajando con acelerómetros en AndroidTrabajando con acelerómetros en Android
Trabajando con acelerómetros en Android
ykro
 
Tipos de hardware y software
Tipos de hardware y softwareTipos de hardware y software
Tipos de hardware y software
Paulina Sánchez Ledesma
 
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
RootedCON
 
Tema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionTema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionCarlos A. Iglesias
 
Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
Intelligent water resources management with OGC SOS. Gestión Inteligente de R...Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
Juan Luis Cardoso
 

Similar a Malware intelligence ppt-slides (20)

¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
 
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android ¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
 
Pimp your Android. Rooted CON 2012.
Pimp your Android. Rooted CON 2012.Pimp your Android. Rooted CON 2012.
Pimp your Android. Rooted CON 2012.
 
Análisis de malware en Android -.Bsides Chile 2014
Análisis de malware en Android -.Bsides Chile 2014Análisis de malware en Android -.Bsides Chile 2014
Análisis de malware en Android -.Bsides Chile 2014
 
Forense android
Forense androidForense android
Forense android
 
PhoneGap Basics v1.0
PhoneGap Basics v1.0PhoneGap Basics v1.0
PhoneGap Basics v1.0
 
Leccion0 sisop
Leccion0 sisopLeccion0 sisop
Leccion0 sisop
 
Capacitación para Auxiliares1
Capacitación para Auxiliares1Capacitación para Auxiliares1
Capacitación para Auxiliares1
 
Seguridad Integral con Código Abierto
Seguridad Integral con Código AbiertoSeguridad Integral con Código Abierto
Seguridad Integral con Código Abierto
 
DDS
DDSDDS
DDS
 
Guia 3 -reconocimiento_de_hardware
Guia 3 -reconocimiento_de_hardwareGuia 3 -reconocimiento_de_hardware
Guia 3 -reconocimiento_de_hardware
 
Guia 3 -reconocimiento_de_hardware
Guia 3 -reconocimiento_de_hardwareGuia 3 -reconocimiento_de_hardware
Guia 3 -reconocimiento_de_hardware
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 
Ingeniería Inversa en Android. Rooted Labs. Rooted CON 2012.
Ingeniería Inversa en Android.  Rooted Labs. Rooted CON 2012.Ingeniería Inversa en Android.  Rooted Labs. Rooted CON 2012.
Ingeniería Inversa en Android. Rooted Labs. Rooted CON 2012.
 
Cristian Barrientos - Auditando Aplicaciones Android [rooted2018]
Cristian Barrientos - Auditando Aplicaciones Android [rooted2018]Cristian Barrientos - Auditando Aplicaciones Android [rooted2018]
Cristian Barrientos - Auditando Aplicaciones Android [rooted2018]
 
Trabajando con acelerómetros en Android
Trabajando con acelerómetros en AndroidTrabajando con acelerómetros en Android
Trabajando con acelerómetros en Android
 
Tipos de hardware y software
Tipos de hardware y softwareTipos de hardware y software
Tipos de hardware y software
 
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
 
Tema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionTema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacion
 
Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
Intelligent water resources management with OGC SOS. Gestión Inteligente de R...Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
 

Último

Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 

Último (20)

Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 

Malware intelligence ppt-slides

  • 1. Show me your Kung-Fu Sebastián Guerrero Jorge Mieres @0xroot sguerrero@malwareint.com http://blog.seguesec.com @jorgemieres jamieres@malwareint.com
  • 2. Contenido • Introducción • Análisis Estático • Análisis Dinámico • Análisis Forense • Nickispy • Protecciones • Vulnerabilidades • Conclusión
  • 4. • Usado para empacar las aplicaciones • Todo APK incluye: • classes.dex • resources.asc • /res • /META-INF • AndroidManifest.xml Ficheros APK
  • 7. • java/Fuente (Compiler) – dex/dexdump • dex/dex2jar (jdgui) – java/jd-gui • dex/dexdump (basksmali) - smali/basksmali Ejemplo de código
  • 9. 1. Creamos una máquina virtual usando el SDK. 2. Lanzamos el emulador y almacenamos las conexiones en un pcap: • emulator –port n @device-name –tcpdump foo.pcap 3. Instalamos la aplicación • adb install appname.apk 4. Lanzamos pruebas sobre el dispositivo y la aplicación • adb shell monkey –v –p package.app n 5. Leemos los logs • adb shell logcat –d 6. Podemos apoyarnos en Wireshark para leer los logs de conexiones. Análisis Dinámico
  • 10. • Llamadas de teléfono • gsm call p-n • gsm accept p-n • gsm cancel p-n • SMS • sms send prefix-number text • Emular velocidad de red • netspeed gsm n • netspeed umts n • Cambiar coordenadas GPS • geo fix -13… 21… Simular Eventos
  • 11. 1. AXMLPrinter2 – Extraemos la información del AndroidManifest.xml 2. Dex2jar – Convertimos el fichero .dex en un fichero de clases .jar. JAD – Transformamos los ficheros .class en ficheros .jad 3. JDgui – Leemos el código almacenado en el fichero .jar. 4. Understand – Análisis estático del código. 5. Wireshark – Análisis dinámico del código. Modus Operandi
  • 12. • Noob • Nombrar ficheros de clases con el mismo nombre en minúscula/mayúscula. Esto ocultará los ficheros en sistemas que no distingan entre minúsculas/mayúsculas: N.class ~ n.class • Cifrar las conexiones que realiza el malware (DES) dificultando su análisis. • Rookie • Introducir técnicas para comprobar si se está ejecutando en un emulador. • Mejorar la eficiencia del código y ofuscarlo con alguna aplicación como ProGuard. • Master of Universe • Modificar el propio bytecode para inutilizar las herramientas de reversing. Técnicas antianálisis
  • 13. • Android está basado en el núcleo de Linux. • Se usa MTD para interactuar con la memoria flash. • Sigue la nomenclatura /dev/mtd* • Puntos de montura para /system, /data, /cache están asociados a diferentes mtdblocks. • Cada dispositiva está asociado a un dispositivo ro (Read Only). • Es necesario ser usuario root para poder realizar un análisis forense. • Exploits. • Aplicaciones específicas • A la hora de traernos los ficheros al disco podemos usar: • Comando PULL del SDK para descargar/subir ficheros. • Instalar un servidor SSH en el teléfono como DropBear. • Instalar un servidor FTP. • Hacer correlaciones de los diferentes puntos de montaje. • Tener acceso a los datos y bases de datos. Forensics
  • 15. Si pierdes tu teléfono prepárate para…
  • 16. • Alerta de seguridad - 19 julio • Detectado por Symantec ~ 20apps • Procedencia – Fujian (China) • Nombre – com.nicky.lyyws.xmall • Desarrollado por – 56mo http://www.56mo.com • Descargar desde – http://user.c5005.com/DownList.aspx NickiSpy
  • 17. • No se distribuyó nunca por el Market. MD5 Ratio Fecha ad4dbe34853f1d58543b0b8db133eb5b 10/44 2011.08.31 • Se puede descargar desde la página de la compañía: • Elegir marca de Smartphone. a21ae2802a0ee460ca2d17a9102ff7b1 14/44 2011.09.04 • Elegir modelo concreto. 15afe9bfa1b3139b5727112aa12b8f70 19/44 2011.08.31 • Acto seguido fue distribuido por varios Markets chinos 426cedcf268bdf556aa405e0c8e03c16 20/44 2011.08.31 • CamangiMarket - camangimarket.com 0d2d9504649a97e7afee2caca61e277e 15/44 2011.09.02 • GoAPK - goapk.com 0d2d9504649a97e7afee2caca61e277e 15/44 2011.09.02 83a98eabf044826622db7c211764cdf4 13/44 2011.08.23 298446914e6c845fb331bfbfd2176d9d 26 /44 2011.08.23 f6cea3c1c0e9d2cf0ec373f142852399 12/44 2011.08.23 • f4514598c47658e513888ae6cb3fd8b1 23 /44 2011.08.14 1cbb2e45356bad1f3ecb103ed76dffdd 9 /44 2011.08.11 a72adce41ea55c239ef04fbda446ceb1 2/44 2011.09.02 edf5d97f1d47bdb3ca9c414f33337a87 7/44 2011.08.12 0e7989aac352df525e5ebb077c786072 9/44 2011.08.11 5664e00084e949b07227459d8bdaf9f3 13/44 2011.08.10 • a21ae2802a0ee460ca2d17a9102ff7b1 14/44 2011.09.04 18 muestras ~ 1ª muestra (19.07) ~ Detectadas (11.08-04.09) Estadísticas
  • 18. Autor
  • 20. • Inicializamos el emulador (podemos especificar el puerto, seleccionar la VM, almacenar las conexiones, entre otras opciones). • Instalamos la aplicación. • Árbol inicial (Antes de la infección). • Simulamos actividad • Árbol final (Después de la infección) Proceso de infección
  • 21. • Obtiene el IMEI del dispositivo. • Crea un fichero de configuración • Ruta: com.nicky.lyyws.xamll/lib/shared_prefs • Nombre fichero: XM_All_Setting Fichero de configuración
  • 22. • Servidor C&C: jin.56mo.com • Puerto: 2018 Servidor C&C
  • 24. • /sdcard/shangzhou/callrecord/ • setAudioSource(1) • public static final int MIC • Microphone audio source • Constant Value: 1 (0x00000001) • setOutputFormat(1) • public static final int THREE_GPP • 3GPP media file format • Constant Value: 1 (0x00000001) • setAudioEncoder(1) • public static final int AMR_NB • AMR (Narrowband) audio codec • Constant Value: 1 (0x00000001) Servicio de grabación
  • 25. • Número SMS Premium: 15859268161. • Envía un SMS con el IMEI. • El número premium pertenece a Fujiance. • Comprueba que la aplicación no corra en un emulador. Servicio SMS
  • 26. • Formato AMR • AMR (Adaptative Multi-Rate) es un formato de compresión de audio optimizado para la codificación de voz. • El malware almacena el audio grabado en: • /sdcard/shangzhou/callrecord •El fichero creado tiene como nombre la fecha y hora en que fue creado: • 20110907184158001 – año//mes/día– hora/minutos Formato “AMR”
  • 27. • Se basa en una simple condición de estado • Usa dos simples métodos de autentificación • checkAccess para comprobar que tenemos los suficientes permisos para ejecutar la aplicación. • handleServiceConnectionError para manejar los errores. ¿Protección en las aplicaciones?
  • 28. Proceso manual 1. Desempacar el APK usando la herramienta Baksmali. 2. Realizar el cambio de código en los métodos checkAccess y handleServiceConnectionError . 3. Generar la clave privada con la que firmar el paquete. 4. Empacar el APK usando APKTool 5. Firmar la aplicación con jargsigner 6. Usar zipalign 7. Instalar y disfrutar. Proceso automatizado • Sólo es necesario revertir la librería encargada de veriticar las licencias (License Verification Library) • Usar la herramienta anti-lvl: Rompiendo la protección
  • 29. Vulnerabilidad “Touch-Event Hijacking” • Podemos mostrar al usuario una interfaz tapadera. • Hacer compras, click en banners de publicidad, instalar aplicaciones, saltarnos los permisos, o incluso robar cualquier tipo de información del teléfono • ¿Cómo funciona? • A través de Toasts , que permiten pasar los eventos a las capas inferiores • ¿Qué versiones se ven afectadas? • Según Google ninguna, esta vulnerabilidad está corregida. • Remitiéndonos a las pruebas, a día de hoy <= 2.3.4 • ¿Qué piensa Google de todo esto? TapJacking
  • 30. • Se han diseñado un total de 4 payloads • CallPayload.java – Realiza llamadas al número de indicado. • MarketPayload.java – Descarga e instala aplicaciones del market. • ResetPayload.java – Devuelve al estado de fábrica el teléfono. • SMSPayload.java – Envía un mensaje de texto al número indicado. • Está diseñado para que se puedan añadir payloads por el usuario de forma sencilla. • La estructura interna es la siguiente: • Main.java – Ejecuta el servicio y carga los payloads. • MalwarePayload.java – Abstracción para implementar más fácilmente los payloads. • MalwareService.java – Crea el toast e inicia el proceso de tap-jack. • main.xml – Tiene el layout de la aplicación, lanzando con un evento onClick cada payload. • strings.xml – Contiene las cadenas que son utilizadas en la aplicación. • El código puede descargarse desde: • http://code.google.com/p/tap-android/ ¿Cómo está organizado?
  • 32. ¡MUCHAS GRACIAS! Sebastián Guerrero Jorge Mieres @0xroot sguerrero@malwareint.com http://blog.seguesec.com @jorgemieres jamieres@malwareint.com