Beruflich Dokumente
Kultur Dokumente
http://blog.seguesec.com
@0xroot
@jorgemieres
Contenido
Introduccin Anlisis Esttico Anlisis Dinmico Anlisis Forense Nickispy Protecciones Vulnerabilidades Conclusin
Ficheros APK
Android Manifest
Ejemplo de cdigo
Anlisis Esttico
1. 2. 3.
Creamos una mquina virtual usando el SDK. Lanzamos el emulador y almacenamos las conexiones en un pcap:
emulator port n @device-name tcpdump foo.pcap
Instalamos la aplicacin
adb install appname.apk
4.
5.
6.
Anlisis Dinmico
Llamadas de telfono
gsm call p-n gsm accept p-n gsm cancel p-n
SMS
sms send prefix-number text
Simular Eventos
1. 2.
3. 4. 5.
Understand Anlisis esttico del cdigo. Wireshark Anlisis dinmico del cdigo.
Modus Operandi
Noob
Nombrar ficheros de clases con el mismo nombre en minscula/mayscula. Esto ocultar los ficheros en sistemas que no distingan entre minsculas/maysculas: N.class ~ n.class Cifrar las conexiones que realiza el malware (DES) dificultando su anlisis.
Rookie Introducir tcnicas para comprobar si se est ejecutando en un emulador. Mejorar la eficiencia del cdigo y ofuscarlo con alguna aplicacin como ProGuard.
Master of Universe Modificar el propio bytecode para inutilizar las herramientas de reversing.
Tcnicas antianlisis
Android est basado en el ncleo de Linux. Se usa MTD para interactuar con la memoria flash.
Sigue la nomenclatura /dev/mtd* Puntos de montura para /system, /data, /cache estn asociados a diferentes mtdblocks. Cada dispositiva est asociado a un dispositivo ro (Read Only).
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 telfono como DropBear. Instalar un servidor FTP.
Hacer correlaciones de los diferentes puntos de montaje. Tener acceso a los datos y bases de datos.
Forensics
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
MD5
ad4dbe34853f1d58543b0b8db133eb5b a21ae2802a0ee460ca2d17a9102ff7b1 15afe9bfa1b3139b5727112aa12b8f70 426cedcf268bdf556aa405e0c8e03c16 0d2d9504649a97e7afee2caca61e277e 0d2d9504649a97e7afee2caca61e277e 83a98eabf044826622db7c211764cdf4 298446914e6c845fb331bfbfd2176d9d
Ratio
10/44 14/44 19/44 20/44 15/44 15/44 13/44 26 /44 12/44 23 /44 9 /44 2/44 7/44 9/44 13/44 14/44
Fecha
2011.08.31 2011.09.04 2011.08.31 2011.08.31 2011.09.02 2011.09.02 2011.08.23 2011.08.23 2011.08.23 2011.08.14 2011.08.11 2011.09.02 2011.08.12 2011.08.11 2011.08.10 2011.09.04
Acto seguido fue distribuido por varios Markets chinos CamangiMarket - camangimarket.com
GoAPK - goapk.com
5664e00084e949b07227459d8bdaf9f3 a21ae2802a0ee460ca2d17a9102ff7b1
Estadsticas
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 aplicacin.
Proceso de infeccin
Fichero de configuracin
Servidor C&C
Anlisis 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)
Servicio de grabacin
Nmero SMS Premium: 15859268161. Enva un SMS con el IMEI. El nmero premium pertenece a Fujiance. Comprueba que la aplicacin no corra en un emulador.
Servicio SMS
Formato AMR
AMR (Adaptative Multi-Rate) es un formato de compresin de audio optimizado para la codificacin de voz.
El fichero creado tiene como nombre la fecha y hora en que fue creado:
20110907184158001 ao//mes/da hora/minutos
Formato AMR
Proceso manual
1. 2. 3. 4. 5. 6. 7. Desempacar el APK usando la herramienta Baksmali. Realizar el cambio de cdigo en los mtodos checkAccess y handleServiceConnectionError . Generar la clave privada con la que firmar el paquete. Empacar el APK usando APKTool Firmar la aplicacin con jargsigner Usar zipalign Instalar y disfrutar.
Proceso automatizado
Slo es necesario revertir la librera encargada de veriticar las licencias (License Verification Library) Usar la herramienta anti-lvl:
Rompiendo la proteccin
Cmo funciona?
A travs de Toasts , que permiten pasar los eventos a las capas inferiores
TapJacking
Conclusiones
MUCHAS GRACIAS!
Sebastin Guerrero Jorge Mieres
sguerrero@malwareint.com
jamieres@malwareint.com
http://blog.seguesec.com
@0xroot
@jorgemieres