SlideShare uma empresa Scribd logo
1 de 49
Pimp%your%Android%

Sebas2án%Guerrero%–%sguerrero@isecauditors.com%
Agenda
•  Introducción

•  Montando lab de investigación.

•  Trasteando con aplicaciones.

•  Análisis forense.

•  Formar un zoológico de malware.

•  Evolución del malware.

•  Medidas de seguridad.

•  Reverseemos algo nuevo.

•  Desmantelando un C&C

•  It’s 0-day time.


                                     2%
Arquitectura%
Fichero%APK%

• %%Es%un%fichero%.zip%%falso%
%
• %%Usado%para%empacar%las%aplicaciones%

• %Todo%APK%incluye:%
      • !classes.dex!
     • !resources.asc!
     • %/res!
     • %/META1INF!
     • !AndroidManifest.xml!
AndroidManifest
              %
Montando%un%laboratorio%
•  U2lizar%la%ISO%Android!Reverse!Engineering%(A.R.E.)%
    •    Herramientas%como%Androguard,%APKInspector,%Apktool,%AxmlPrinter,%Dex2Jar,%etc…%
    •    Espacio%de%trabajo%ya%configurado.%
    •    Ideal%para%máquinas%virtuales.%


•  U2lizar%uno%de%los%ports%de%AndroixWx86.%
    •    Proyecto%OpenSource.%
    •    Sistema%opera2vo%Android.%
    •    Entorno%fácilmente%configurable.%
    •    Fluidez.%


•  Crearnos%un%lab%a%nuestra%medida.%
Trasteando%con%aplicaciones
                          %




                                     ndroid%SDK%
                p       JDWgui%
       wireshark% roguArd                          %
              Eclipse%



                               nderstand%
                       ex2jar%


                       mali%
           netbeans%




                                        aksmali%
%
           Montando%un%análisis%dinámico

1.    Creamos%una%máquina!virtual!usando%el%SDK.%
      %
2.    Lanzamos%el%emulador%y%almacenamos%las%conexiones%en%un%pcap:%
      •    emulator-–port-n-@device6name-–tcpdump-foo.pcap-
           -
3.    Instalamos%la%aplicación%
      •    adb-install-appname.apk-
          -
4.    Lanzamos%pruebas%sobre%el%disposi2vo%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.%
Simulando%eventos
                                    %
•  %Llamadas%de%teléfono%
    •  -gsm-call-p6n-
    •  -gsm-accept-p6n-
    •  -gsm-cancel-p6n-


•  %SMS%
    •  -sms-send-prefix6number-text-


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


•  %Cambiar%coordenadas%GPS%
    •  -geo-fix-613…-21…-
Modus%Operandi
                                          %
1.    AXMLPrinter2!–%Extraemos%la%información%del%
      AndroidManifest.xml%


2.    Dex2jar%–%Conver2mos%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á2co%del%código.%
      %
5.    Wireshark!–%Análisis%dinámico%del%código.!
Analizando%la%memoria%
      •  Trabajamos%con%arquitectura%ARM%

      •  Dividida%en%cinco%capas%dis2ntas%

      •  Cada%modelo%es%diferente,%con%aplicaciones%específicas.%

      •  Herramientas%de%pago.%

      •  ¿Qué%podemos%toquetear%aquí?%
              –  Tarjeta%SIM.%
              –  Memoria%hsica%(Interna&Externa).%
              –  Memoria%volá2l.%




(1)%Proyecto%AndroidWx86%%hjp://www.androidWx86.org/%
Analizando%la%memoria%
•    ¿Qué%requisitos%necesito?%
      –    Indispensable%ser%root%en%el%teléfono:%
      –    Tener%disponible%el%Android%Debug%Driver%(ADB)%
      –    Es%recomendable%tener%instalado%un%servicio%SSH%o%FTP%


•    ¿Por%dónde%empiezo?%
      –    Conocer%cómo%está%estructurado%el%sistema.%
      –    Saber%cuáles%%son%los%directorios%asociados%a%los%%diferentes%puntos%de%montaje.%




      –    Realizar%la%correlación%(NanDroid-||-(DD-&&-ADB-pull))%


•    ¿Qué%técnicas%empleo?%
      –    Uso%de%strings%y%búsqueda%de%cadenas.%
      –    Análisis%de%las%bases%de%datos.%
      –    File%carving.%
      –    Análisis%del%sistema%de%ficheros.%
Tarjeta%SIM%
•    Información%a%obtener%
      •    Número%IMSI.%
      •    Información%sobre%localización.%
      •    Información%sobre%tráfico%SMS.%
      •    Información%sobre%proveedor.%
      •    Información%sobre%llamadas.%


•    Disposi2vo%DEKART%(35€%~%60€)%

•    Caracterís2cas%
      •    Disposi2vo%lectura/escritura%USB.%
      •    Hace%copias%de%seguridad.%
      •    Permite%exportar%la%agenda%


•    Aplicaciones%
      •    MOBILedit!%
      •    Forensic%Card%Reader%
      •    Oxygen%
      •    USIM%Detec2ve.%
Una%de%strings%
•  Claves%WiFi%
    –  strings%userdata.img%|%grep%psk=%
•  Correos%electrónicos%
    –  strings%userdata.img%|%egrep%“[aWz%AWZ_W.]+@[aWz%AWZW.]+.[aWz%AWZW.]+”%
•  Imágenes%JPG%
    –  strings%data.img%|%grep%WoE%"(.*.jpe?g|.*.JPE?G)"%
•  Inicios%de%sesión%
    –  Strings%userdata.img%|%grep%–n10%“login”%
•  Números%de%teléfono%
    –  strings%userdata.img%|%grep%WoE%"([0W9]{9})"%
•  Tarjetas%de%crédito%
    –  strings%userdata.img%|%grep%WoE%"^((4d{3})|(5[1W5]d{2})|(6011))W?d{4}W?d{4}W?d{4}|
       3[4,7]d{13}$"%
Una%de%BBDDs
                                      %
•    Cons2tuye%un%alto%porcentaje%del%análisis%forense.%

•    Toda%la%información%relevante%y%sensible%se%encuentra%almacenada%en%estos%
     ficheros.%

•    Suelen%encontrarse%en%/data/data%

•    Backup%con%adb!pull%/%SSH%/%FTP%/%Terminal%Emulator…%

•    Consultamos%con%SQLite3%/%SQLviewer…%
Encryp…%What%the%fcuk!
                                        %
•    Llamadas%realizadas%(com.android.providers.contacts/databases1–1contacts2.db)%




•    Mensajes%(com.android.providers.telephony/databases!–!mmssms.db)%




•    Whatsapp%(com.whatsapp/databases1611mgstore.db1–1wa.db)%




•    Tuen2%
Encryp…%What%the%fcuk!
                                       %
•    Configuración%de%email%(com.google.android.email/databases!–!EmailProvider.db)%




•    Delicious%(Fichero!xml)%




•    Facebook%
La%memoria%volá2l
                                                %
•    Debemos%de%realizar%sin%tratar%de%alterar%el%estado%actual%del%disposi2vo.%
      –    No%podemos%apagar%o%reiniciar%el%terminal.%
      –    Nada%de%instalar%o%eliminar%aplicaciones.%
      –    Cortar%todo%2po%de%acceso%a%la%red.%
      –    Modo%avión.%
•    Necesitamos%ser%root.%

•    No%disponemos%de%ninguna%API%que%permita%realizar%esta%labor.%

•    %¿Soluciones?%
      –  No%es%posible%acceder%a%/dev/mem%por%problemas%de%seguridad.%
      –  Emular%disposi2vo%en%/dev/fmem%no%es%posible%en%Android%
             •    Función%page_is_ram!para%comprobar%si%el%desplazamiento%a%realizar%pertenece%a%la%memoria%hsica%o%no,%no%existe%en%arquitectura%
                  ARM.!
             •    La%herramienta%DD%sólo%almacena%enteros%de%32%bits%y%desplazamientos%más%allá%de%0x80000000%causan%un%integer%overflow%


•    Vola2litux%al%poder%
Vola2litux
                                                %
•    Pslist!–%Listado%de%los%procesos%que%andan%ejecutándose%en%memoria%




•    Memmap!–%Mapa%de%memoria%de%un%proceso.%
%
%
%
%
•    Memdmp!–%Memoria%direccionable%de%un%proceso.%
•    Filedmp!–%Dumpea%un%fichero%abierto%
•    Filelist!–%Muestra%ficheros%abiertos%para%un%proceso%dado%
Si%pierdes%el%teléfono…%
Montando%SelwoMarina%
                                          %
•  Android%Market%
•  Markets%alterna2vos.%
      –  Aptoide%
      –  Blapkmarket%
      –  snappzmarket%
•  Páginas%de%aplicaciones.%
      –    Mobilism.org%
      –    DroidAppz%
      –    AndroidFreeware%
      –    MalwareDump%
      –    Bazaar%
•    Aplicaciones%de%terceros%
•    Exploits%
Montando%Selwomarina%

•  Organización%de%información%
      •    Almacenamiento%y%búsqueda%por%caracterís2cas%de%las%muestras.%
            •  Tamaño,-Npo,-md5,-sha1,-tags,-fechas…-
      •    Obtener,%almacenar%y%recuperar%elementos%de%las%muestras.%%
            •  Ficheros-generados,-Binarios-desempaquetados,-Exploits,-cadenas-embebidas.%
      •    Almacenar,%buscar%y%devolver%información%sobre%análisis%
            •  IDA-Pro-BD,-notas-de-análisis,-arUculos-y-referencias,-muestras-de-red,-sistemas-
      •    Detección%de%firmas%


•    Análisis%automa2zado%
      •  Diseño%modularizado.%
      •  Caracterís2cas%%de%análisis%está2co%
      •  Soporte%de%múl2ples%análisis%de%malware.%
      •  Aislamiento%%de%entornos%de%análisis%dinámico.%
Evolución%del%malware%
Nombre!                      CaracterísVcas!   Riesgo!   Nombre!                     CaracterísVcas!   Riesgo!
AndroidOS.FakePlayer.a!                                  Android.Basebridge%

AndroidOS_Droisnake.A%                                   Android.Uxipp%

AndroidOS.FakePlayer.b%                                  Andr/PlanktonWA%

AndroidOS.FakePlayer.c%                                  Android.Jsmshider%

Android.Geinimi!                                         Android.GGTracker%

Android.HongTouTou%                                      Android.KungFu!Variants!

Android.Pjapps%                                          AndroidOS_Crusewin.A%

Android.DroidDream!                                      AndroidOS_SpyGold.A%

Android.BgServ%                                          DroidDream%Light%Variant%

Android.Zeahache%                                        Android.Smssniffer%

Android.Walkinwat%                                       Android.HippoSMS%

Android.Adsms%                                           Android.Fokonge%

Android.Zsone!                                           Android/Sndapps.A%

Android.Spacem%                                          Android.Nickispy!

Android.LightDD   %                                      Android.Lovetrap%

Android/DroidKungFu.A   %                                Android.Premiumtext%

                                                         Android.NickiBot!
Vectores%de%ataque%
•  !Amenazas!basadas!en!aplicaciones!
     •  %%Malware%%
     •  %%Spyware%
     •  %%Amenazas%de%privacidad%
     •  %%Vulnerabilidades%en%aplicaciones%

•  !!Amenazas!basadas!en!la!web!
      •  %%Phishing%
      •  %%DriveWbyWdownloads%
      •  %%Exploits%en%navegadores%

•  !!Amenazas!basadas!en!las!redes!
      •  %%Exploits%para%protocolos%de%red%
      •  %%WiWfi%sniffing%

•  !!Amenazas!`sicas!
      •  %%Pérdida%o%robo%del%disposi2vo%
Medidas%de%seguridad%
•  Da%igual%si%somos%usuarios%o%una%en2dad%corpora2va.%

•  Los%malos%vienen%a%hacer%daño.%

•  Tenemos%un%tesoro%entre%nuestras%manos.%

•  Somos%el%eslabón%débil.%

•  Toda%nuestra%vida%online%(emails,%banca,%redes%sociales,%privacidad)%está%
   en%nuestro%teléfono.%
Medidas%de%seguridad%
•    Canal%de%comunicación%a%través%de%VPN%y%enrutar%todo%el%tráfico.%

•    Implementar%polí2ca%de%contraseñas%fuerte.%

•    Deshabilitar%servicios%y%disposi2vos%inseguros/innecesarios%(GPS/Bluetooth/SDCard/
     etc…).%


•    Capas%de%seguridad%adicionales%
      •  Herramientas%de%privacidad,%an2virus,%borrado%remoto,%localización%por%GPS.%

•    Deshabilitar%instalación%de%soäware%de%terceros.%

•    Habilitar%servicios%de%acceso%remoto;%SSH,%FTP,%DropBear,%etc…%
Analizando%algo%nuevo%

• !Android.FoncySMS!

• !!Kaspersky!

• !Risk!Level!1:%Muy%bajo%

• !Descubierto:!15%Enero,%2012%

• !Actualizado:!30%Enero,%2012%

• !AcVvidad:!com.android.bot%

• %Descargas:%3370~%
%
%
%
%
Información%
•  Inves2gada%por%la%OCLCTIC.%

•  Inves2gación%durante%2%meses.%

•  “Banda”%compuesta%por%dos%miembros%(“Cerebro”%y%técnico).%

•  Envía%SMS%premium%(4.5€).%

•  100.000€%20/30€%por%cabeza.%

•  Se%ha%cobrado%2.000%víc2mas%desde%verano%del%2011.%

•  Ciudades%europeas%y%Canadá.%
Lista%de%permisos
                                          %
•    android.permission.READ_LOGS!
•    android.permission.READ_PHONE_STATE!
•    android.permission.WRITE_EXTERNAL_STORAGE!
•    android.permission.INTERNET!
•    android.permission.VIBRATE!
•    android.permission.WAKE_LOCK!
•    android.permission.ACCESS_WIFI_STATE!
•    android.permission.CHANGE_WIFI_STATE!
•    android.permission.CHANGE_NETWORK_STATE!
•    android.permission.ACCESS_NETWORK_STATE!
•    android.permission.MODIFY_AUDIO_SETTINGS%
     com.android.vending.CHECK_LICENSE!
Instalando%la%app%
•  Iniciar%emulador%

•  Instalar%la%aplicación.%
%
•  Revisar%el%estado%actual.%

•  Simular%ac2vidad.%

•  Observar%el%nuevo%estado.%

•  Analizar%
Primer%acercamiento%
Preparando%el%terreno%
Estructura%de%la%aplicación%
•    Tras%la%ejecución%inicial…%




•    Boomsh!–%ELF%W32%bits%LSB%executable,%%ARM%version%1%(SYSV),%dynamically%linked%(uses%shared%library).%

•    Border01.png!–%Zip%archive%data.%

•    Footer01.png!–%ELF%W32%bits%LSB%executable,%ARV%version%1%(SYSV),%dynamically%linked%(uses%shared%libs).%

•    Header01.png%–%ELF%–%32bits%LSB%executable,%ARM%version%1%(SYSV),%dinamically%linked%(uses%shared%
     library).%

•    Rooted!1!!Text%file.!
Footer.png%
1.    Deja%constancia%de%que%el%exploit%ha%tenido%éxito.%




2.    Modifica%los%permisos%de%border01%a%lectura/escritura%(propietario)%y%escritura%(resto).%




3.    Instala!border01!lanzando%el%administrador%de%paquetes%
Footer.png%(Round%2)
                                           %




•    IRCConnect!–%Conectar%con%un%servidor%IRC.%
•    IRCGenUser%–%Genera%un%usuario%apoyándose%en%rand().%
•    IRCHandler%–%Manejador%de%errores.%
•    IRCLogin%–%Establece%sesión%con%el%canal%IRC.%
•    IRCPrivmsgParse&IRCParseLine!–%Parsean%las%órdenes%recibidas.%
•    IRCSend%–%Realiza%envío%de%mensajes.!
Footer%(La%chicha)
                                         %
1.    Establece%conexión%con%192.68.196.198.%
2.    Genera%nombre%de%usuario%al%azar.%
3.    Se%conecta%al%canal%#andros.%
4.    Queda%a%la%escucha%de%recibir%órdenes.%
5.    Parsea%las%líneas%que%comienza%por%PRIVMGS%
Oído%cocina%

•  Comandos%a%ejecutar%

   –  PRIVMGS%#andros%:[SH]%W%%COMMAND_TO_RUN%%

   –  PRIVMGS%#andros%:[ID]%W%%REAL_USER_ID%%

   –  PRIVMGS%#andros%:[EXIT]%–%exi2ng%ordered…%
Border01%
•  Permisos%sospechosos%
    –  android.permission.RECEIVE_SMS%
    –  android.permission.SEND_SMS%
    –  android.permission.INTERNET%


%
AndroidMeAc2vity
                                         %
1.     Al%iniciar%la%ac2vidad%se%solicita%el%código%ISO%de%la%ciudad.%

2.     En%base%a%esto,%se%establece%un%número%premium%u%otro.%

3.     Se%realizan%5%envíos%a%dicho%número.%

•     Ciudades%a%las%que%realiza%el%envío%
            •    Spain%Number:%35024%Message:%GOLD%%
            •    Great!Britain%Number:%60999%Message:%SP2%%
            •    Morocco%Number:%2052%Message:%CODE%%
            •    Sierra!Leone%Number:%7604%Message:%PASS%%
            •    Romania%Number:%1339%Message:%PASS%%
            •    Norway%Number:%2227%Message:%PASS%%
            •    Sweden%Number:%72225%Message:%PASS%%
            •    United!States%Number:%23333%Message:%PASS%%
SMSReceiver
                                              %
1.     Se%encarga%de%la%lógica%del%envío%de%mensajes.%

2.     Se%reservan%dos%campos;%uno%para%el%número%del%des2natario%y%otro%para%el%contenido.%

3.     Sí%el%SMS%provece%del%número%81083,-3075,-64747,-60999,-63000,-35024,-2052,-7064,-1339,-9903,-2227,-72225,-
       23333,%el%broadcast%se%corta.%


4.     Establece%conexión%con%46.166.146.102%y%envía%el%SMS%recibido%y%el%número%de%origen.%

      1.    hjp://46.166.146.102/?=STR2(cuerpo-mensaje)///STR1(número)%
IRC%Botnet
         %
      •    Servidor:!Irc.anonops.li%/%6667%
      •    Canal:%#xxx%
      •    User:%user%
      •    Pass:%pass!
“Desmontando%cúpulas”
                                           %

•     ¿Obje2vo?%
     –     Mostrar%cómo%está%organizado%y%pensado%
           un%pequeño%y%simple%C&C%para%Android.%


•     ¿Qué%malware?%
     –     Simple%Android%SMS%Trojan.%


•     ¿Funcionamiento?%
     1.    Se%instala%en%el%teléfono%una%aplicación%infectada.%
     2.    Espera%a%que%se%realice%la%ac2vación.%
     3.    Se%forma%un%string%con%el%IMEI%del%usuario%y%su%teléfono.%
     4.    Se%envía%al%C&C%y%se%almacena%en%una%BBDD.%
Estructura%
•    BBDD:!admin_123/123%
•    Panel:!root/entermoney77%


•    Infecta%varias%plataformas%
     –    Android:%mms.apk%
     –    Symbian%–%Nokia%s60v3,%s60v5%–%mms.sis%
     –    Resto%de%plataformas%con%soporte%java%–%mms.jar%
%
                                          Contenido




•     Almacena%la%siguiente%información:%
     –     Fecha!infección.!
     –     IMEI!teléfono.!
     –     OS.!
     –     IP.!
     –     País!
     –     Número%
     –     Texto%

•     Panel%en%ruso%y%sólo%registra%teléfonos%de%Rusia.%
•     Procedencia%rusa.%
It’s%0%day%2mee!!
                %
TapJacking%
•    Vulnerabilidad%TouchWEvent%Hijacking%
•    Mostramos%al%usuario%una%interfaz%tapadera.%
•    Podemos%obligar%al%usuario%a:%
      –    Pagarnos%unas%vacaciones.%
      –    Obtener%todos%los%datos%del%teléfono.%
      –    Capturar%los%movimientos%del%disposi2vo.%
      –    Instalar%aplicaciones%saltándonos%los%permisos.%
      –    CreaVvidad…!


•    Basada%en%toasts.!
•    Bueno…%¿Y%Google?%
Funcionamiento%
¿Cómo%está%organizado?%
•    %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.%
      •    TweetPayload.java%–%Publica%un%tweet%en%una%cuenta%de%usuario%con%sesión%iniciada.%
             •    hjp://twijer.com/home?status=Yo%me%he%comida%más%de%una%concha%Codan%por%día%



•    %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%tapWjack.%
      •    %main.xml%–%Tiene%el%layout%de%la%aplicación,%lanzando%con%un%evento%onClick%cada%payload.%
      •    %strings.xml!–%Con2ene%las%cadenas%que%son%u2lizadas%en%la%aplicación.%
      %
¿Preguntas?%




¡MUCHAS%GRACIAS!
               %
        @0xroot%

Mais conteúdo relacionado

Destaque

Bireyi tanima teknikleri
Bireyi tanima teknikleriBireyi tanima teknikleri
Bireyi tanima tekniklerinihattt
 
Maximos y minimos ppt
Maximos y minimos pptMaximos y minimos ppt
Maximos y minimos pptCarlos Tkm
 
Kesa terampil
Kesa terampilKesa terampil
Kesa terampilMas Kris
 
Proposal otomatisasi perpustakaan
Proposal  otomatisasi perpustakaanProposal  otomatisasi perpustakaan
Proposal otomatisasi perpustakaanJoe Listiani
 
Atchafalaya basin research support laboratory feasibility st
Atchafalaya basin research support laboratory feasibility stAtchafalaya basin research support laboratory feasibility st
Atchafalaya basin research support laboratory feasibility stMolly McGraw
 
Aplikasi Teknologi Informasi di Perpustakaan
Aplikasi Teknologi Informasi di PerpustakaanAplikasi Teknologi Informasi di Perpustakaan
Aplikasi Teknologi Informasi di PerpustakaanD3 Perpustakaan UM 2014
 

Destaque (8)

Bireyi tanima teknikleri
Bireyi tanima teknikleriBireyi tanima teknikleri
Bireyi tanima teknikleri
 
Ppt anekdot
Ppt anekdotPpt anekdot
Ppt anekdot
 
Maximos y minimos ppt
Maximos y minimos pptMaximos y minimos ppt
Maximos y minimos ppt
 
Kesa terampil
Kesa terampilKesa terampil
Kesa terampil
 
Proposal otomatisasi perpustakaan
Proposal  otomatisasi perpustakaanProposal  otomatisasi perpustakaan
Proposal otomatisasi perpustakaan
 
Atchafalaya basin research support laboratory feasibility st
Atchafalaya basin research support laboratory feasibility stAtchafalaya basin research support laboratory feasibility st
Atchafalaya basin research support laboratory feasibility st
 
NF Cybersecurity and Antifraud Firm
NF Cybersecurity and Antifraud FirmNF Cybersecurity and Antifraud Firm
NF Cybersecurity and Antifraud Firm
 
Aplikasi Teknologi Informasi di Perpustakaan
Aplikasi Teknologi Informasi di PerpustakaanAplikasi Teknologi Informasi di Perpustakaan
Aplikasi Teknologi Informasi di Perpustakaan
 

Semelhante a Sebastián Guerrero - Pimp your Android [RootedCON 2012]

Seguridad Integral con Código Abierto
Seguridad Integral con Código AbiertoSeguridad Integral con Código Abierto
Seguridad Integral con Código AbiertoFutura Networks
 
Presentación MasterClass Escribir para internet
Presentación MasterClass Escribir para internetPresentación MasterClass Escribir para internet
Presentación MasterClass Escribir para internetPlan PIATIC
 
A0 analisisde diagnostico y rendimiento de software
A0   analisisde diagnostico y rendimiento de softwareA0   analisisde diagnostico y rendimiento de software
A0 analisisde diagnostico y rendimiento de softwaremariopino129
 
BSidesCO - echavarro, Forense para delincuentes: Cuando la única amenaza no e...
BSidesCO - echavarro, Forense para delincuentes: Cuando la única amenaza no e...BSidesCO - echavarro, Forense para delincuentes: Cuando la única amenaza no e...
BSidesCO - echavarro, Forense para delincuentes: Cuando la única amenaza no e...Eduardo Chavarro
 
Google Analytics para Desarrolladores
Google Analytics para DesarrolladoresGoogle Analytics para Desarrolladores
Google Analytics para DesarrolladoresBruno Barbieri
 
Social media planning fomla12
Social media planning   fomla12Social media planning   fomla12
Social media planning fomla12Osvaldo Schlag
 
infoplc_net_sof_redes_rock.pdf
infoplc_net_sof_redes_rock.pdfinfoplc_net_sof_redes_rock.pdf
infoplc_net_sof_redes_rock.pdfDanielRamos88338
 
Tutorial: Cómo descargar un Sello Digital
Tutorial: Cómo descargar un Sello DigitalTutorial: Cómo descargar un Sello Digital
Tutorial: Cómo descargar un Sello DigitalMis kuentas
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móvilesPideCurso
 

Semelhante a Sebastián Guerrero - Pimp your Android [RootedCON 2012] (16)

Seguridad Integral con Código Abierto
Seguridad Integral con Código AbiertoSeguridad Integral con Código Abierto
Seguridad Integral con Código Abierto
 
Presentación MasterClass Escribir para internet
Presentación MasterClass Escribir para internetPresentación MasterClass Escribir para internet
Presentación MasterClass Escribir para internet
 
Copywrite 2.0 - Redacción SEO y Web 2.0
Copywrite 2.0 - Redacción SEO y Web 2.0Copywrite 2.0 - Redacción SEO y Web 2.0
Copywrite 2.0 - Redacción SEO y Web 2.0
 
A0 analisisde diagnostico y rendimiento de software
A0   analisisde diagnostico y rendimiento de softwareA0   analisisde diagnostico y rendimiento de software
A0 analisisde diagnostico y rendimiento de software
 
Malware intelligence ppt-slides
Malware intelligence ppt-slidesMalware intelligence ppt-slides
Malware intelligence ppt-slides
 
Presentación Cámara de Comercio Ecuatoriano Británica
Presentación Cámara de Comercio Ecuatoriano BritánicaPresentación Cámara de Comercio Ecuatoriano Británica
Presentación Cámara de Comercio Ecuatoriano Británica
 
Presentacion desayunocamaras
Presentacion desayunocamarasPresentacion desayunocamaras
Presentacion desayunocamaras
 
BSidesCO - echavarro, Forense para delincuentes: Cuando la única amenaza no e...
BSidesCO - echavarro, Forense para delincuentes: Cuando la única amenaza no e...BSidesCO - echavarro, Forense para delincuentes: Cuando la única amenaza no e...
BSidesCO - echavarro, Forense para delincuentes: Cuando la única amenaza no e...
 
Google Analytics para Desarrolladores
Google Analytics para DesarrolladoresGoogle Analytics para Desarrolladores
Google Analytics para Desarrolladores
 
Social media planning fomla12
Social media planning   fomla12Social media planning   fomla12
Social media planning fomla12
 
infoplc_net_sof_redes_rock.pdf
infoplc_net_sof_redes_rock.pdfinfoplc_net_sof_redes_rock.pdf
infoplc_net_sof_redes_rock.pdf
 
Tutorial: Cómo descargar un Sello Digital
Tutorial: Cómo descargar un Sello DigitalTutorial: Cómo descargar un Sello Digital
Tutorial: Cómo descargar un Sello Digital
 
Brain dynamics hd
Brain dynamics hdBrain dynamics hd
Brain dynamics hd
 
PhoneGap Basics v1.0
PhoneGap Basics v1.0PhoneGap Basics v1.0
PhoneGap Basics v1.0
 
2014 04 padrino
2014 04 padrino2014 04 padrino
2014 04 padrino
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móviles
 

Mais de RootedCON

Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro VillaverdeRooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro VillaverdeRootedCON
 
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
 
Rooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRootedCON
 
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_RootedCON
 
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...RootedCON
 
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...RootedCON
 
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...RootedCON
 
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguerRooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguerRootedCON
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...RootedCON
 
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemyRooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemyRootedCON
 
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...RootedCON
 
Rooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRootedCON
 
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...RootedCON
 
Rooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopezRooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopezRootedCON
 
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valeroRooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valeroRootedCON
 
Rooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jaraRooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jaraRootedCON
 
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...RootedCON
 
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...RootedCON
 
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yusteRooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yusteRootedCON
 
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_moralesRooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_moralesRootedCON
 

Mais de RootedCON (20)

Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro VillaverdeRooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
 
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...
 
Rooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amado
 
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
 
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
 
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
 
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
 
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguerRooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
 
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemyRooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
 
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
 
Rooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molina
 
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
 
Rooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopezRooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopez
 
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valeroRooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
 
Rooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jaraRooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jara
 
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
 
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
 
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yusteRooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
 
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_moralesRooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
 

Sebastián Guerrero - Pimp your Android [RootedCON 2012]

  • 2. Agenda •  Introducción •  Montando lab de investigación. •  Trasteando con aplicaciones. •  Análisis forense. •  Formar un zoológico de malware. •  Evolución del malware. •  Medidas de seguridad. •  Reverseemos algo nuevo. •  Desmantelando un C&C •  It’s 0-day time. 2%
  • 4. Fichero%APK% • %%Es%un%fichero%.zip%%falso% % • %%Usado%para%empacar%las%aplicaciones% • %Todo%APK%incluye:% • !classes.dex! • !resources.asc! • %/res! • %/META1INF! • !AndroidManifest.xml!
  • 6. Montando%un%laboratorio% •  U2lizar%la%ISO%Android!Reverse!Engineering%(A.R.E.)% •  Herramientas%como%Androguard,%APKInspector,%Apktool,%AxmlPrinter,%Dex2Jar,%etc…% •  Espacio%de%trabajo%ya%configurado.% •  Ideal%para%máquinas%virtuales.% •  U2lizar%uno%de%los%ports%de%AndroixWx86.% •  Proyecto%OpenSource.% •  Sistema%opera2vo%Android.% •  Entorno%fácilmente%configurable.% •  Fluidez.% •  Crearnos%un%lab%a%nuestra%medida.%
  • 7. Trasteando%con%aplicaciones % ndroid%SDK% p JDWgui% wireshark% roguArd % Eclipse% nderstand% ex2jar% mali% netbeans% aksmali%
  • 8. % Montando%un%análisis%dinámico 1.  Creamos%una%máquina!virtual!usando%el%SDK.% % 2.  Lanzamos%el%emulador%y%almacenamos%las%conexiones%en%un%pcap:% •  emulator-–port-n-@device6name-–tcpdump-foo.pcap- - 3.  Instalamos%la%aplicación% •  adb-install-appname.apk- - 4.  Lanzamos%pruebas%sobre%el%disposi2vo%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.%
  • 9. Simulando%eventos % •  %Llamadas%de%teléfono% •  -gsm-call-p6n- •  -gsm-accept-p6n- •  -gsm-cancel-p6n- •  %SMS% •  -sms-send-prefix6number-text- •  %Emular%velocidad%de%red% •  -netspeed-gsm-n- •  -netspeed-umts-n- •  %Cambiar%coordenadas%GPS% •  -geo-fix-613…-21…-
  • 10. Modus%Operandi % 1.  AXMLPrinter2!–%Extraemos%la%información%del% AndroidManifest.xml% 2.  Dex2jar%–%Conver2mos%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á2co%del%código.% % 5.  Wireshark!–%Análisis%dinámico%del%código.!
  • 11. Analizando%la%memoria% •  Trabajamos%con%arquitectura%ARM% •  Dividida%en%cinco%capas%dis2ntas% •  Cada%modelo%es%diferente,%con%aplicaciones%específicas.% •  Herramientas%de%pago.% •  ¿Qué%podemos%toquetear%aquí?% –  Tarjeta%SIM.% –  Memoria%hsica%(Interna&Externa).% –  Memoria%volá2l.% (1)%Proyecto%AndroidWx86%%hjp://www.androidWx86.org/%
  • 12. Analizando%la%memoria% •  ¿Qué%requisitos%necesito?% –  Indispensable%ser%root%en%el%teléfono:% –  Tener%disponible%el%Android%Debug%Driver%(ADB)% –  Es%recomendable%tener%instalado%un%servicio%SSH%o%FTP% •  ¿Por%dónde%empiezo?% –  Conocer%cómo%está%estructurado%el%sistema.% –  Saber%cuáles%%son%los%directorios%asociados%a%los%%diferentes%puntos%de%montaje.% –  Realizar%la%correlación%(NanDroid-||-(DD-&&-ADB-pull))% •  ¿Qué%técnicas%empleo?% –  Uso%de%strings%y%búsqueda%de%cadenas.% –  Análisis%de%las%bases%de%datos.% –  File%carving.% –  Análisis%del%sistema%de%ficheros.%
  • 13. Tarjeta%SIM% •  Información%a%obtener% •  Número%IMSI.% •  Información%sobre%localización.% •  Información%sobre%tráfico%SMS.% •  Información%sobre%proveedor.% •  Información%sobre%llamadas.% •  Disposi2vo%DEKART%(35€%~%60€)% •  Caracterís2cas% •  Disposi2vo%lectura/escritura%USB.% •  Hace%copias%de%seguridad.% •  Permite%exportar%la%agenda% •  Aplicaciones% •  MOBILedit!% •  Forensic%Card%Reader% •  Oxygen% •  USIM%Detec2ve.%
  • 14. Una%de%strings% •  Claves%WiFi% –  strings%userdata.img%|%grep%psk=% •  Correos%electrónicos% –  strings%userdata.img%|%egrep%“[aWz%AWZ_W.]+@[aWz%AWZW.]+.[aWz%AWZW.]+”% •  Imágenes%JPG% –  strings%data.img%|%grep%WoE%"(.*.jpe?g|.*.JPE?G)"% •  Inicios%de%sesión% –  Strings%userdata.img%|%grep%–n10%“login”% •  Números%de%teléfono% –  strings%userdata.img%|%grep%WoE%"([0W9]{9})"% •  Tarjetas%de%crédito% –  strings%userdata.img%|%grep%WoE%"^((4d{3})|(5[1W5]d{2})|(6011))W?d{4}W?d{4}W?d{4}| 3[4,7]d{13}$"%
  • 15. Una%de%BBDDs % •  Cons2tuye%un%alto%porcentaje%del%análisis%forense.% •  Toda%la%información%relevante%y%sensible%se%encuentra%almacenada%en%estos% ficheros.% •  Suelen%encontrarse%en%/data/data% •  Backup%con%adb!pull%/%SSH%/%FTP%/%Terminal%Emulator…% •  Consultamos%con%SQLite3%/%SQLviewer…%
  • 16. Encryp…%What%the%fcuk! % •  Llamadas%realizadas%(com.android.providers.contacts/databases1–1contacts2.db)% •  Mensajes%(com.android.providers.telephony/databases!–!mmssms.db)% •  Whatsapp%(com.whatsapp/databases1611mgstore.db1–1wa.db)% •  Tuen2%
  • 17. Encryp…%What%the%fcuk! % •  Configuración%de%email%(com.google.android.email/databases!–!EmailProvider.db)% •  Delicious%(Fichero!xml)% •  Facebook%
  • 18. La%memoria%volá2l % •  Debemos%de%realizar%sin%tratar%de%alterar%el%estado%actual%del%disposi2vo.% –  No%podemos%apagar%o%reiniciar%el%terminal.% –  Nada%de%instalar%o%eliminar%aplicaciones.% –  Cortar%todo%2po%de%acceso%a%la%red.% –  Modo%avión.% •  Necesitamos%ser%root.% •  No%disponemos%de%ninguna%API%que%permita%realizar%esta%labor.% •  %¿Soluciones?% –  No%es%posible%acceder%a%/dev/mem%por%problemas%de%seguridad.% –  Emular%disposi2vo%en%/dev/fmem%no%es%posible%en%Android% •  Función%page_is_ram!para%comprobar%si%el%desplazamiento%a%realizar%pertenece%a%la%memoria%hsica%o%no,%no%existe%en%arquitectura% ARM.! •  La%herramienta%DD%sólo%almacena%enteros%de%32%bits%y%desplazamientos%más%allá%de%0x80000000%causan%un%integer%overflow% •  Vola2litux%al%poder%
  • 19. Vola2litux % •  Pslist!–%Listado%de%los%procesos%que%andan%ejecutándose%en%memoria% •  Memmap!–%Mapa%de%memoria%de%un%proceso.% % % % % •  Memdmp!–%Memoria%direccionable%de%un%proceso.% •  Filedmp!–%Dumpea%un%fichero%abierto% •  Filelist!–%Muestra%ficheros%abiertos%para%un%proceso%dado%
  • 21. Montando%SelwoMarina% % •  Android%Market% •  Markets%alterna2vos.% –  Aptoide% –  Blapkmarket% –  snappzmarket% •  Páginas%de%aplicaciones.% –  Mobilism.org% –  DroidAppz% –  AndroidFreeware% –  MalwareDump% –  Bazaar% •  Aplicaciones%de%terceros% •  Exploits%
  • 22. Montando%Selwomarina% •  Organización%de%información% •  Almacenamiento%y%búsqueda%por%caracterís2cas%de%las%muestras.% •  Tamaño,-Npo,-md5,-sha1,-tags,-fechas…- •  Obtener,%almacenar%y%recuperar%elementos%de%las%muestras.%% •  Ficheros-generados,-Binarios-desempaquetados,-Exploits,-cadenas-embebidas.% •  Almacenar,%buscar%y%devolver%información%sobre%análisis% •  IDA-Pro-BD,-notas-de-análisis,-arUculos-y-referencias,-muestras-de-red,-sistemas- •  Detección%de%firmas% •  Análisis%automa2zado% •  Diseño%modularizado.% •  Caracterís2cas%%de%análisis%está2co% •  Soporte%de%múl2ples%análisis%de%malware.% •  Aislamiento%%de%entornos%de%análisis%dinámico.%
  • 23. Evolución%del%malware% Nombre! CaracterísVcas! Riesgo! Nombre! CaracterísVcas! Riesgo! AndroidOS.FakePlayer.a! Android.Basebridge% AndroidOS_Droisnake.A% Android.Uxipp% AndroidOS.FakePlayer.b% Andr/PlanktonWA% AndroidOS.FakePlayer.c% Android.Jsmshider% Android.Geinimi! Android.GGTracker% Android.HongTouTou% Android.KungFu!Variants! Android.Pjapps% AndroidOS_Crusewin.A% Android.DroidDream! AndroidOS_SpyGold.A% Android.BgServ% DroidDream%Light%Variant% Android.Zeahache% Android.Smssniffer% Android.Walkinwat% Android.HippoSMS% Android.Adsms% Android.Fokonge% Android.Zsone! Android/Sndapps.A% Android.Spacem% Android.Nickispy! Android.LightDD % Android.Lovetrap% Android/DroidKungFu.A % Android.Premiumtext% Android.NickiBot!
  • 24. Vectores%de%ataque% •  !Amenazas!basadas!en!aplicaciones! •  %%Malware%% •  %%Spyware% •  %%Amenazas%de%privacidad% •  %%Vulnerabilidades%en%aplicaciones% •  !!Amenazas!basadas!en!la!web! •  %%Phishing% •  %%DriveWbyWdownloads% •  %%Exploits%en%navegadores% •  !!Amenazas!basadas!en!las!redes! •  %%Exploits%para%protocolos%de%red% •  %%WiWfi%sniffing% •  !!Amenazas!`sicas! •  %%Pérdida%o%robo%del%disposi2vo%
  • 25. Medidas%de%seguridad% •  Da%igual%si%somos%usuarios%o%una%en2dad%corpora2va.% •  Los%malos%vienen%a%hacer%daño.% •  Tenemos%un%tesoro%entre%nuestras%manos.% •  Somos%el%eslabón%débil.% •  Toda%nuestra%vida%online%(emails,%banca,%redes%sociales,%privacidad)%está% en%nuestro%teléfono.%
  • 26. Medidas%de%seguridad% •  Canal%de%comunicación%a%través%de%VPN%y%enrutar%todo%el%tráfico.% •  Implementar%polí2ca%de%contraseñas%fuerte.% •  Deshabilitar%servicios%y%disposi2vos%inseguros/innecesarios%(GPS/Bluetooth/SDCard/ etc…).% •  Capas%de%seguridad%adicionales% •  Herramientas%de%privacidad,%an2virus,%borrado%remoto,%localización%por%GPS.% •  Deshabilitar%instalación%de%soäware%de%terceros.% •  Habilitar%servicios%de%acceso%remoto;%SSH,%FTP,%DropBear,%etc…%
  • 28. Información% •  Inves2gada%por%la%OCLCTIC.% •  Inves2gación%durante%2%meses.% •  “Banda”%compuesta%por%dos%miembros%(“Cerebro”%y%técnico).% •  Envía%SMS%premium%(4.5€).% •  100.000€%20/30€%por%cabeza.% •  Se%ha%cobrado%2.000%víc2mas%desde%verano%del%2011.% •  Ciudades%europeas%y%Canadá.%
  • 29. Lista%de%permisos % •  android.permission.READ_LOGS! •  android.permission.READ_PHONE_STATE! •  android.permission.WRITE_EXTERNAL_STORAGE! •  android.permission.INTERNET! •  android.permission.VIBRATE! •  android.permission.WAKE_LOCK! •  android.permission.ACCESS_WIFI_STATE! •  android.permission.CHANGE_WIFI_STATE! •  android.permission.CHANGE_NETWORK_STATE! •  android.permission.ACCESS_NETWORK_STATE! •  android.permission.MODIFY_AUDIO_SETTINGS% com.android.vending.CHECK_LICENSE!
  • 30. Instalando%la%app% •  Iniciar%emulador% •  Instalar%la%aplicación.% % •  Revisar%el%estado%actual.% •  Simular%ac2vidad.% •  Observar%el%nuevo%estado.% •  Analizar%
  • 33. Estructura%de%la%aplicación% •  Tras%la%ejecución%inicial…% •  Boomsh!–%ELF%W32%bits%LSB%executable,%%ARM%version%1%(SYSV),%dynamically%linked%(uses%shared%library).% •  Border01.png!–%Zip%archive%data.% •  Footer01.png!–%ELF%W32%bits%LSB%executable,%ARV%version%1%(SYSV),%dynamically%linked%(uses%shared%libs).% •  Header01.png%–%ELF%–%32bits%LSB%executable,%ARM%version%1%(SYSV),%dinamically%linked%(uses%shared% library).% •  Rooted!1!!Text%file.!
  • 34. Footer.png% 1.  Deja%constancia%de%que%el%exploit%ha%tenido%éxito.% 2.  Modifica%los%permisos%de%border01%a%lectura/escritura%(propietario)%y%escritura%(resto).% 3.  Instala!border01!lanzando%el%administrador%de%paquetes%
  • 35. Footer.png%(Round%2) % •  IRCConnect!–%Conectar%con%un%servidor%IRC.% •  IRCGenUser%–%Genera%un%usuario%apoyándose%en%rand().% •  IRCHandler%–%Manejador%de%errores.% •  IRCLogin%–%Establece%sesión%con%el%canal%IRC.% •  IRCPrivmsgParse&IRCParseLine!–%Parsean%las%órdenes%recibidas.% •  IRCSend%–%Realiza%envío%de%mensajes.!
  • 36. Footer%(La%chicha) % 1.  Establece%conexión%con%192.68.196.198.% 2.  Genera%nombre%de%usuario%al%azar.% 3.  Se%conecta%al%canal%#andros.% 4.  Queda%a%la%escucha%de%recibir%órdenes.% 5.  Parsea%las%líneas%que%comienza%por%PRIVMGS%
  • 37. Oído%cocina% •  Comandos%a%ejecutar% –  PRIVMGS%#andros%:[SH]%W%%COMMAND_TO_RUN%% –  PRIVMGS%#andros%:[ID]%W%%REAL_USER_ID%% –  PRIVMGS%#andros%:[EXIT]%–%exi2ng%ordered…%
  • 38. Border01% •  Permisos%sospechosos% –  android.permission.RECEIVE_SMS% –  android.permission.SEND_SMS% –  android.permission.INTERNET% %
  • 39. AndroidMeAc2vity % 1.  Al%iniciar%la%ac2vidad%se%solicita%el%código%ISO%de%la%ciudad.% 2.  En%base%a%esto,%se%establece%un%número%premium%u%otro.% 3.  Se%realizan%5%envíos%a%dicho%número.% •  Ciudades%a%las%que%realiza%el%envío% •  Spain%Number:%35024%Message:%GOLD%% •  Great!Britain%Number:%60999%Message:%SP2%% •  Morocco%Number:%2052%Message:%CODE%% •  Sierra!Leone%Number:%7604%Message:%PASS%% •  Romania%Number:%1339%Message:%PASS%% •  Norway%Number:%2227%Message:%PASS%% •  Sweden%Number:%72225%Message:%PASS%% •  United!States%Number:%23333%Message:%PASS%%
  • 40. SMSReceiver % 1.  Se%encarga%de%la%lógica%del%envío%de%mensajes.% 2.  Se%reservan%dos%campos;%uno%para%el%número%del%des2natario%y%otro%para%el%contenido.% 3.  Sí%el%SMS%provece%del%número%81083,-3075,-64747,-60999,-63000,-35024,-2052,-7064,-1339,-9903,-2227,-72225,- 23333,%el%broadcast%se%corta.% 4.  Establece%conexión%con%46.166.146.102%y%envía%el%SMS%recibido%y%el%número%de%origen.% 1.  hjp://46.166.146.102/?=STR2(cuerpo-mensaje)///STR1(número)%
  • 41. IRC%Botnet % •  Servidor:!Irc.anonops.li%/%6667% •  Canal:%#xxx% •  User:%user% •  Pass:%pass!
  • 42. “Desmontando%cúpulas” % •  ¿Obje2vo?% –  Mostrar%cómo%está%organizado%y%pensado% un%pequeño%y%simple%C&C%para%Android.% •  ¿Qué%malware?% –  Simple%Android%SMS%Trojan.% •  ¿Funcionamiento?% 1.  Se%instala%en%el%teléfono%una%aplicación%infectada.% 2.  Espera%a%que%se%realice%la%ac2vación.% 3.  Se%forma%un%string%con%el%IMEI%del%usuario%y%su%teléfono.% 4.  Se%envía%al%C&C%y%se%almacena%en%una%BBDD.%
  • 43. Estructura% •  BBDD:!admin_123/123% •  Panel:!root/entermoney77% •  Infecta%varias%plataformas% –  Android:%mms.apk% –  Symbian%–%Nokia%s60v3,%s60v5%–%mms.sis% –  Resto%de%plataformas%con%soporte%java%–%mms.jar%
  • 44. % Contenido •  Almacena%la%siguiente%información:% –  Fecha!infección.! –  IMEI!teléfono.! –  OS.! –  IP.! –  País! –  Número% –  Texto% •  Panel%en%ruso%y%sólo%registra%teléfonos%de%Rusia.% •  Procedencia%rusa.%
  • 46. TapJacking% •  Vulnerabilidad%TouchWEvent%Hijacking% •  Mostramos%al%usuario%una%interfaz%tapadera.% •  Podemos%obligar%al%usuario%a:% –  Pagarnos%unas%vacaciones.% –  Obtener%todos%los%datos%del%teléfono.% –  Capturar%los%movimientos%del%disposi2vo.% –  Instalar%aplicaciones%saltándonos%los%permisos.% –  CreaVvidad…! •  Basada%en%toasts.! •  Bueno…%¿Y%Google?%
  • 48. ¿Cómo%está%organizado?% •  %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.% •  TweetPayload.java%–%Publica%un%tweet%en%una%cuenta%de%usuario%con%sesión%iniciada.% •  hjp://twijer.com/home?status=Yo%me%he%comida%más%de%una%concha%Codan%por%día% •  %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%tapWjack.% •  %main.xml%–%Tiene%el%layout%de%la%aplicación,%lanzando%con%un%evento%onClick%cada%payload.% •  %strings.xml!–%Con2ene%las%cadenas%que%son%u2lizadas%en%la%aplicación.% %