SlideShare una empresa de Scribd logo
HELLO!
Soy Matías Moreno Cárdenas
Amante de la ciberseguridad y
programador en ratos libres.
Puedes seguirme en
@mmorenodev
Troyanizando
Android
36.000.000Cantidad de smartphones Android afectados
en la última cepa de malware
Los archivos dex son los que contienen el código Java compilado y preparado para su ejecución en
dispositivos Android. Podemos referirnos a ellos como los Ejecutables Dalvik ya que pueden ser
interpretados por la máquina virtual Dalvik
Herramientas utilizadas
MSFVENOM
Herramienta que combina las herramientas de
Metasploit msfpayload y msfencode en una única
instancia del Framework. Con ella crearemos la
apk maliciosa que vamos a inyectar a la app
legítima.
Mas información: https://www.offensive-
security.com/metasploit-
unleashed/msfvenom/
APKTOOL
Herramienta de ingeniería inversa para
aplicaciones Android de código fuente abierto.
Con ella podemos decompilar apps y volver a
compilarlas con las modificaciones que
realicemos.
Podemos descargar esta herramienta desde
aquí: https://ibotpeaches.github.io/Apktool/
Utlizaremos las distribuciones Kali y AndroL4b
1.
GENERACIÓN DE
LA APP MALICIOSA
Comencemos desde el principio
Podríamos utilizar esta Apk directamente para
infectar un Smartphone Android, pero resulta muy
poco “invisible” de cara a la víctima.
Con apktool y una serie de modificaciones
conseguiremos inyectar el código malicioso de
esta apk en otra legítima.
2.
DESCARGA DE LA
APP LEGÍTIMA
Vamos a descargar la que será la app en la que
inyectaremos el código malicioso.
En este caso vamos a descargarla utilizando la
web https://apkpure.com/
Podemos descargarnos cualquier aplicación
3.
DECOMPILANDO LAS
APPS
Por otro lado, vamos a mover la apk maliciosa
generada con msfvenom en Kali a la distribución de
Androl4b.
En esta distribución tenemos muchas herramientas
de análisis de apps Android, entre ellas apktool que
es la que usaremos para decompilar ambas apks.
4.
COPIADO DEL
CÓDIGO MALICIOSO
El próximo paso es copiar esos archivos generados por
apktool, los cuales contienen el código del payload
generado por msfvenom, a las carpetas generadas de la
apk de CCleaner.
Esos archivos contenedores del payload se encuentran en
la carpeta /payload/smali/com/metasploit/stage
Antes de copiar los .smali con el código malicioso
debemos crear la misma estructura de carpetas dentro de
la app legítima.
Una vez creada la ruta /com/metasploit/stage/ ya
podremos copiar los archivos smali
“
Los archivos smali son los
intermediarios entre los
dex y el código fuente Java
5.
LOCALIZACIÓN DE LA
ACTIVIDAD DE INICIO
Tenemos el código malicioso dentro de la APK legitima, pero esto no significa que si
generamos el APK el payload va a ejecutarse. De hecho, vamos a hacer que esto sea así
inyectando un hook dentro de la actividad original de inicio, la MainActivity, ¿y que es un
hook?
En este caso nos referimos a hook a la inyección que vamos a hacer para que cuando se inicie
la app original llame a nuestro código payload, y lo ejecute por nosotros de una manera
totalmente invisible para el usuario final.
Para ello, vamos a revisar el archivo AndroidManifest.xml de la apk original, tal y como
vamos a mostrar a continuación.
Ya tenemos localizada la actividad principal de esta app, se llama MainActivity.
La hemos podido localizar por el intent.action.MAIN
Esta sería la actividad que inicia la aplicación en una primera instancia, por lo que
tendríamos que buscar el MainActivity.smali dentro de los archivos generados por
apktool para modificarlo, la ruta nos la da el valor del atributo que acabamos de
revisar.
6.
MODIFICACIÓN DEL
ARCHIVO SMALI
Con nuestro editor favorito, abrimos el .smali e intentamos localizar el siguiente valor
.method public onCreate(Landroid/os/Bundle;)V
Una vez localizado, debajo del invoke-super añadimos la siguiente línea:
invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V
7.
ADICIÓN DE
PERMISOS EN EL
MANIFEST.XML
El siguiente paso es añadir los permisos adicionales necesarios para que el payload
realice correctamente su trabajo, esos permisos los debemos añadir en el fichero que
visitamos antes, el AndroidManifest.xml
Por defecto, nuestra aplicación legítima elegida ya tendrá ciertos permisos establecidos
en la siguiente parte del manifiesto.
Vamos a coger los permisos de la app maliciosa y vamos a pegarlos en el manifest de la
app legítima, eliminando los permisos duplicados
Para conocer más sobre los permisos de Android en las aplicaciones podéis visitar el siguiente enlace
https://developer.android.com/guide/topics/manifest/manifest-intro.html?hl=es-419#perms
8.
RECOMPILANDO LA
APP LEGÍTIMA
Llegados a este punto, el siguiente paso es generar nuestro APK legítimo con el payload
inyectado. Para ello acudimos de nuevo a nuestra herramienta apktool.
Tendremos disponible el apk en la carpeta dist
9.
FIRMADO DE LA APK
Una vez generado vamos a firmar el APK ya que Android requiere que todas las apps
estén firmadas digitalmente para identificar al autor de la aplicación, igualmente no es
necesario que sea firmada por una autoridad certificadora, podemos utilizar certificados
autofirmados.
Para ello usaremos herramientas como keytool y jarsigner.
10.
INFECCIÓN DEL
SMARTPHONE
Con la APK maliciosa en
nuestro poder, ya podemos
pasar a la acción, en mi caso
voy a infectar un Android
virtual para comprobar la
eficacia de nuestro CCleaner
personalizado
Para ello, utilizaremos una
máquina virtual de Android y
pondremos un handler a la
escucha en nuestra consola
de Metasploit a través del
puerto que configuramos al
comienzo en msfvenom.
En cuanto abrimos la app legitima, nos damos cuenta de que se nos abre una sesión de meterpreter
sobre nuestro handler que estaba escuchando, ya tenemos nuestro acceso al Smartphone Android.
11.
DIVERTIRNOS
La sesión de Meterpreter nos brinda el acceso a utilidades muy interesantes, desde mandar sms, hacer
capturas de la cámara, escuchar el micrófono, subirle archivos, descargárnoslos…
Podemos llevar mucho mas allá nuestro proceso y para intentar indetectabilizar nuestra
APK realizar procesos de ofuscación, podemos modificar los nombres de los ficheros y
carpetas…todo lo que podamos imaginar.
Existe una herramienta que automatiza todo este proceso llamada backdoor-apk que
podéis encontrarla en este repositorio: https://github.com/dana-at-cp/backdoor-apk
Esta herramienta utiliza herramientas de ofuscación como ProGuard y dx, es interesante
que reviséis el código para ver como hace todo esto, ya que ahora conocemos el proceso.
PWNED! 😉¿Que cosas se os ocurren con una sesión de
meterpreter sobre un terminal Android?
Auditando una
app Android
Herramientas utilizadas
DROZER
Herramienta desarrollada por MWR LABS la
cual se trata de un Framework que nos ayudará
a realizar auditorias de seguridad y a realizar
ataques sobre aplicaciones Android.
Contiene, además, algunos exploits para explotar
vulnerabilidades conocidas.
Mas info:
https://labs.mwrinfosecurity.com/tools/drozer/
Guia de usuario:
https://labs.mwrinfosecurity.com/assets/BlogFiles
/mwri-drozer-user-guide-2015-03-23.pdf
Utlizaremos la distribucion AndroL4b
APLICACIÓN DE
PRUEBA
Para nuestra PoC vamos a auditar una app de prueba que
viene con nuestra distribución AndroL4b llamada Sieve.
Es un gestor de contraseñas para Android con algunos
fallos.
INSTALACIÓN DE
AGENTE DROZER
El agente Drozer será el que interactúe directamente con
la app a auditar y el que ejecutará todas las órdenes que
le daremos desde la consola
Debemos ejecutar este comando para poder conectarnos al puerto que habilita el agente
drozer en el Smartphone, el puerto utilizado es el 31415
INICIALIZACIÓN DE LA
CONSOLA DROZER
Una vez iniciado el agente podremos conectarnos a
través de la consola a él para empezar a interactuar con
el Framework.
OBTENER
INFORMACIÓN DEL
PAQUETE SIEVE
Vamos a obtener toda la información relevante de la app
Sieve para realizar un ataque sobre su base de datos
Localizamos el nombre del paquete de la aplicación
Obtenemos la información del paquete
Gracias a este comando app.package.attacksurface obtenemos los posibles vectores de
ataque de los elementos de la app a los que podemos acceder desde el exterior.
Nos indica que la app Sieve tiene 3 actividades accesibles, 2 proveedores de contenido y
dos servicios, además de que estos últimos son depurables y podríamos vincular un
debugger al proceso.
Nos centraremos en los proveedores de contenido para poder acceder a la base de datos
de la app.
OBTENER
INFORMACIÓN DE
LOS PROVEEDORES
DE CONTENIDO
Gracias a este proceso podremos averiguar las URI de los
proveedores y leer información confidencial de la app
Podemos ver que efectivamente no requerimos permisos para acceder a los providers, a
excepción del path /Keys
Ya tenemos las URIs de los proveedores de contenido a las que podemos acceder, lo
siguiente será realizar una consulta sobre estas URIs para ver si nos devuelven datos
relevantes de la base de datos.
Como veis, los proveedores de contenido no están bien protegidos y podemos hacerles
consultas para visualizar el contenido de la base de datos, obteniendo así las contraseñas
almacenadas en ella.
INYECCIÓN SQL
SOBRE LOS
PROVEEDORES
Hemos visto que podemos realizar consultas, pero
también podemos realizar inyecciones SQL
Android promueve el uso de las bases de datos SQLite para almacenar los datos, estas
bases utilizan SQL por lo que no nos debe sorprender que sean vulnerables a SQLi.
Lo vamos a comprobar con el siguiente comando.
Vamos a realizar una consulta con nuestra quería coma simple, veamos el resultado
Totalmente vulnerable, vamos a recuperar el listado de tablas de la base de datos
Recuperemos el contenido de la tabla Key, que contiene los datos de login de la app sin cifrar.
EJECUCIÓN DE
ACTIVIDADES DE LA
APP
Otra de las capacidades de Drozer es la ejecución de
actividades de una app en concreto.
Una vez obtenidas todas las Actividades de la aplicación podemos hacer una
llamada a estas
Como vemos, si llamamos directamente a la actividad
podemos iniciarla sin necesidad de pasar por la primera
actividad que nos pedía una contraseña que desconocíamos.
Cosas que podemos hacer con Drozer
Hemos podido ver una pequeña parte de este Framework, queda en vuestra mano
interesaros por el y probar sus opciones. Entre ellas podemos destacar las siguientes:
• Recopilar información de la aplicación
• Encontrar vectores de ataque
• Publicar exploits
• Ejecutar código en el Smartphone de forma dinámica, en vez de tener que instalar apps
• Simular los resultados de los sensores
• Realizar ataques del tipo SQL Injection, Path Traversal, …
• Interactuar con broadcast
• Lanzar actividades
Os invito a probar todo su potencial, que no es poco.
MARA
FRAMEWORK
WACRYPT
Síguenos en nuestras
redes sociales si te ha
gustado el taller!
@TSSentinel
@mmorenodev
thesecuritysentinel.es
Momento de hablar y de
exponer vuestras dudas
e ideas!

Más contenido relacionado

La actualidad más candente

Design and Analysis of RC beam
Design and Analysis of RC beamDesign and Analysis of RC beam
Design and Analysis of RC beam
Mohammad Anis
 
Comparison between different code
Comparison between different codeComparison between different code
Comparison between different code
ALIFUR RAHAMAN MANDAL
 
CE6451 - FLUID MECHANICS AND MACHINERY NOTES
CE6451 - FLUID MECHANICS AND MACHINERY NOTES CE6451 - FLUID MECHANICS AND MACHINERY NOTES
CE6451 - FLUID MECHANICS AND MACHINERY NOTES
ASHOK KUMAR RAJENDRAN
 
Design of Beam for Shear
Design of Beam for ShearDesign of Beam for Shear
Design of Beam for Shear
illpa
 
Bolted Connection
Bolted ConnectionBolted Connection
Bolted Connection
Subash Pathak
 
Singly reinforced beam ast - over reinforced
Singly reinforced beam   ast - over reinforcedSingly reinforced beam   ast - over reinforced
Singly reinforced beam ast - over reinforced
Selvakumar Palanisamy
 
Undeterminate problems
Undeterminate problemsUndeterminate problems
Undeterminate problems
Mahmoud Youssef Abido
 
lab manual full structure.pdf
lab manual full structure.pdflab manual full structure.pdf
lab manual full structure.pdf
MARATUSSOLEHAHARAHMA
 
83138841 1-1-komponen-jtm
83138841 1-1-komponen-jtm83138841 1-1-komponen-jtm
83138841 1-1-komponen-jtm
Azis Nurrochma Wardana
 
Deep beam aci # l 1
Deep beam  aci  # l 1 Deep beam  aci  # l 1
Deep beam aci # l 1
Hadi F. ABUSIAF
 
Vyas
VyasVyas
[Jarkom] Teknik penyaluran sinyal
[Jarkom] Teknik penyaluran sinyal[Jarkom] Teknik penyaluran sinyal
[Jarkom] Teknik penyaluran sinyal
Yode Arliando
 
Eurocode 2 design of composite concrete
Eurocode 2 design of composite concreteEurocode 2 design of composite concrete
Eurocode 2 design of composite concrete
Jo Gijbels
 
Lecture note on column design
Lecture note on column designLecture note on column design
Lecture note on column design
Niyogakiza Philemon
 
Cooling Tower Fan Cylinder Characteristics
Cooling Tower Fan Cylinder CharacteristicsCooling Tower Fan Cylinder Characteristics
Cooling Tower Fan Cylinder Characteristics
Baidurya Das Gupta
 
Building model-sap2000-tutorial-guide
Building model-sap2000-tutorial-guideBuilding model-sap2000-tutorial-guide
Building model-sap2000-tutorial-guide
Vanz Einstein
 
Jenis jenis turbin turbin pelton turbin francis dan turbin kaplan
Jenis jenis turbin turbin pelton turbin francis dan turbin kaplanJenis jenis turbin turbin pelton turbin francis dan turbin kaplan
Jenis jenis turbin turbin pelton turbin francis dan turbin kaplan
Ady Purnomo
 
Contran regulamenta uso de placa bipartida
Contran regulamenta uso de placa bipartida Contran regulamenta uso de placa bipartida
Contran regulamenta uso de placa bipartida
Transvias
 
Lec.4 working stress 2
Lec.4   working stress 2Lec.4   working stress 2
Lec.4 working stress 2
Muthanna Abbu
 
Sd i-module3- rajesh sir
Sd i-module3- rajesh sirSd i-module3- rajesh sir
Sd i-module3- rajesh sir
SHAMJITH KM
 

La actualidad más candente (20)

Design and Analysis of RC beam
Design and Analysis of RC beamDesign and Analysis of RC beam
Design and Analysis of RC beam
 
Comparison between different code
Comparison between different codeComparison between different code
Comparison between different code
 
CE6451 - FLUID MECHANICS AND MACHINERY NOTES
CE6451 - FLUID MECHANICS AND MACHINERY NOTES CE6451 - FLUID MECHANICS AND MACHINERY NOTES
CE6451 - FLUID MECHANICS AND MACHINERY NOTES
 
Design of Beam for Shear
Design of Beam for ShearDesign of Beam for Shear
Design of Beam for Shear
 
Bolted Connection
Bolted ConnectionBolted Connection
Bolted Connection
 
Singly reinforced beam ast - over reinforced
Singly reinforced beam   ast - over reinforcedSingly reinforced beam   ast - over reinforced
Singly reinforced beam ast - over reinforced
 
Undeterminate problems
Undeterminate problemsUndeterminate problems
Undeterminate problems
 
lab manual full structure.pdf
lab manual full structure.pdflab manual full structure.pdf
lab manual full structure.pdf
 
83138841 1-1-komponen-jtm
83138841 1-1-komponen-jtm83138841 1-1-komponen-jtm
83138841 1-1-komponen-jtm
 
Deep beam aci # l 1
Deep beam  aci  # l 1 Deep beam  aci  # l 1
Deep beam aci # l 1
 
Vyas
VyasVyas
Vyas
 
[Jarkom] Teknik penyaluran sinyal
[Jarkom] Teknik penyaluran sinyal[Jarkom] Teknik penyaluran sinyal
[Jarkom] Teknik penyaluran sinyal
 
Eurocode 2 design of composite concrete
Eurocode 2 design of composite concreteEurocode 2 design of composite concrete
Eurocode 2 design of composite concrete
 
Lecture note on column design
Lecture note on column designLecture note on column design
Lecture note on column design
 
Cooling Tower Fan Cylinder Characteristics
Cooling Tower Fan Cylinder CharacteristicsCooling Tower Fan Cylinder Characteristics
Cooling Tower Fan Cylinder Characteristics
 
Building model-sap2000-tutorial-guide
Building model-sap2000-tutorial-guideBuilding model-sap2000-tutorial-guide
Building model-sap2000-tutorial-guide
 
Jenis jenis turbin turbin pelton turbin francis dan turbin kaplan
Jenis jenis turbin turbin pelton turbin francis dan turbin kaplanJenis jenis turbin turbin pelton turbin francis dan turbin kaplan
Jenis jenis turbin turbin pelton turbin francis dan turbin kaplan
 
Contran regulamenta uso de placa bipartida
Contran regulamenta uso de placa bipartida Contran regulamenta uso de placa bipartida
Contran regulamenta uso de placa bipartida
 
Lec.4 working stress 2
Lec.4   working stress 2Lec.4   working stress 2
Lec.4 working stress 2
 
Sd i-module3- rajesh sir
Sd i-module3- rajesh sirSd i-module3- rajesh sir
Sd i-module3- rajesh sir
 

Similar a Troyanizando y Auditando Android - HoneyCON

Ingeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiIngeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiFreelance
 
Comprometiendo dispositivos con software legal - H-C0N 2018
Comprometiendo dispositivos con software legal - H-C0N 2018Comprometiendo dispositivos con software legal - H-C0N 2018
Comprometiendo dispositivos con software legal - H-C0N 2018
Matías Moreno Cárdenas
 
IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)
repcax
 
Uso del troyano cybergate ok
Uso del troyano cybergate okUso del troyano cybergate ok
Uso del troyano cybergate ok
Tensor
 
Trabajo de ntics ii
Trabajo de ntics iiTrabajo de ntics ii
Trabajo de ntics ii
Kevin Semanate
 
Trabajo de NTICS II
Trabajo de NTICS IITrabajo de NTICS II
Trabajo de NTICS II
marco_acuna
 
tehnik mobile hacking
tehnik mobile hackingtehnik mobile hacking
tehnik mobile hacking
bayuwidiatmoko
 
Atix12
Atix12Atix12
Atix12
atixlibre
 
Android reversing 101.pdf
Android reversing 101.pdfAndroid reversing 101.pdf
Android reversing 101.pdf
José Moreno
 
1. introduccion a_android__conceptos_basicos__entorno_de_desarrollo_eclipse
1. introduccion a_android__conceptos_basicos__entorno_de_desarrollo_eclipse1. introduccion a_android__conceptos_basicos__entorno_de_desarrollo_eclipse
1. introduccion a_android__conceptos_basicos__entorno_de_desarrollo_eclipse
glorii piickolii
 
Taller de Android
Taller de AndroidTaller de Android
Taller de Android
Dr. Edwin Hernandez
 
Taller Android Navaja Negra 5 ED
Taller Android Navaja Negra 5 EDTaller Android Navaja Negra 5 ED
Taller Android Navaja Negra 5 ED
mirojo
 
Instrucciones y estructuras
Instrucciones y estructurasInstrucciones y estructuras
Instrucciones y estructuras
Fernand Bernowly
 
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
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
www.encamina.com
 
GUIA DE LABORATORIO PHONE GAP JQUERY MOBILE CARGADO DE_DATOS_DE_REGISTROS...
GUIA DE  LABORATORIO  PHONE GAP JQUERY  MOBILE  CARGADO DE_DATOS_DE_REGISTROS...GUIA DE  LABORATORIO  PHONE GAP JQUERY  MOBILE  CARGADO DE_DATOS_DE_REGISTROS...
GUIA DE LABORATORIO PHONE GAP JQUERY MOBILE CARGADO DE_DATOS_DE_REGISTROS...
Ivan Petrlik
 
Meterpreter en android el desembarco en tu smartphone
Meterpreter en android   el desembarco en tu smartphoneMeterpreter en android   el desembarco en tu smartphone
Meterpreter en android el desembarco en tu smartphone
JASENT
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
Jorge Soro
 
Redes Sociales Libres
Redes Sociales LibresRedes Sociales Libres
Redes Sociales Libres
Luis Antonio Herran Cardoso
 
Gregorio
GregorioGregorio

Similar a Troyanizando y Auditando Android - HoneyCON (20)

Ingeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiIngeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo ii
 
Comprometiendo dispositivos con software legal - H-C0N 2018
Comprometiendo dispositivos con software legal - H-C0N 2018Comprometiendo dispositivos con software legal - H-C0N 2018
Comprometiendo dispositivos con software legal - H-C0N 2018
 
IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)
 
Uso del troyano cybergate ok
Uso del troyano cybergate okUso del troyano cybergate ok
Uso del troyano cybergate ok
 
Trabajo de ntics ii
Trabajo de ntics iiTrabajo de ntics ii
Trabajo de ntics ii
 
Trabajo de NTICS II
Trabajo de NTICS IITrabajo de NTICS II
Trabajo de NTICS II
 
tehnik mobile hacking
tehnik mobile hackingtehnik mobile hacking
tehnik mobile hacking
 
Atix12
Atix12Atix12
Atix12
 
Android reversing 101.pdf
Android reversing 101.pdfAndroid reversing 101.pdf
Android reversing 101.pdf
 
1. introduccion a_android__conceptos_basicos__entorno_de_desarrollo_eclipse
1. introduccion a_android__conceptos_basicos__entorno_de_desarrollo_eclipse1. introduccion a_android__conceptos_basicos__entorno_de_desarrollo_eclipse
1. introduccion a_android__conceptos_basicos__entorno_de_desarrollo_eclipse
 
Taller de Android
Taller de AndroidTaller de Android
Taller de Android
 
Taller Android Navaja Negra 5 ED
Taller Android Navaja Negra 5 EDTaller Android Navaja Negra 5 ED
Taller Android Navaja Negra 5 ED
 
Instrucciones y estructuras
Instrucciones y estructurasInstrucciones y estructuras
Instrucciones y estructuras
 
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
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 
GUIA DE LABORATORIO PHONE GAP JQUERY MOBILE CARGADO DE_DATOS_DE_REGISTROS...
GUIA DE  LABORATORIO  PHONE GAP JQUERY  MOBILE  CARGADO DE_DATOS_DE_REGISTROS...GUIA DE  LABORATORIO  PHONE GAP JQUERY  MOBILE  CARGADO DE_DATOS_DE_REGISTROS...
GUIA DE LABORATORIO PHONE GAP JQUERY MOBILE CARGADO DE_DATOS_DE_REGISTROS...
 
Meterpreter en android el desembarco en tu smartphone
Meterpreter en android   el desembarco en tu smartphoneMeterpreter en android   el desembarco en tu smartphone
Meterpreter en android el desembarco en tu smartphone
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
 
Redes Sociales Libres
Redes Sociales LibresRedes Sociales Libres
Redes Sociales Libres
 
Gregorio
GregorioGregorio
Gregorio
 

Último

Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
Paola De la Torre
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdfProjecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Festibity
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
Manuel Diaz
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDADEXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
AngelCristhianMB
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
ranierglez
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 

Último (20)

Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdfProjecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDADEXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 

Troyanizando y Auditando Android - HoneyCON

  • 1.
  • 2. HELLO! Soy Matías Moreno Cárdenas Amante de la ciberseguridad y programador en ratos libres. Puedes seguirme en @mmorenodev
  • 4. 36.000.000Cantidad de smartphones Android afectados en la última cepa de malware
  • 5.
  • 6.
  • 7. Los archivos dex son los que contienen el código Java compilado y preparado para su ejecución en dispositivos Android. Podemos referirnos a ellos como los Ejecutables Dalvik ya que pueden ser interpretados por la máquina virtual Dalvik
  • 8.
  • 9. Herramientas utilizadas MSFVENOM Herramienta que combina las herramientas de Metasploit msfpayload y msfencode en una única instancia del Framework. Con ella crearemos la apk maliciosa que vamos a inyectar a la app legítima. Mas información: https://www.offensive- security.com/metasploit- unleashed/msfvenom/ APKTOOL Herramienta de ingeniería inversa para aplicaciones Android de código fuente abierto. Con ella podemos decompilar apps y volver a compilarlas con las modificaciones que realicemos. Podemos descargar esta herramienta desde aquí: https://ibotpeaches.github.io/Apktool/ Utlizaremos las distribuciones Kali y AndroL4b
  • 10. 1. GENERACIÓN DE LA APP MALICIOSA Comencemos desde el principio
  • 11. Podríamos utilizar esta Apk directamente para infectar un Smartphone Android, pero resulta muy poco “invisible” de cara a la víctima. Con apktool y una serie de modificaciones conseguiremos inyectar el código malicioso de esta apk en otra legítima.
  • 13. Vamos a descargar la que será la app en la que inyectaremos el código malicioso. En este caso vamos a descargarla utilizando la web https://apkpure.com/ Podemos descargarnos cualquier aplicación
  • 15. Por otro lado, vamos a mover la apk maliciosa generada con msfvenom en Kali a la distribución de Androl4b. En esta distribución tenemos muchas herramientas de análisis de apps Android, entre ellas apktool que es la que usaremos para decompilar ambas apks.
  • 16.
  • 18. El próximo paso es copiar esos archivos generados por apktool, los cuales contienen el código del payload generado por msfvenom, a las carpetas generadas de la apk de CCleaner. Esos archivos contenedores del payload se encuentran en la carpeta /payload/smali/com/metasploit/stage
  • 19. Antes de copiar los .smali con el código malicioso debemos crear la misma estructura de carpetas dentro de la app legítima. Una vez creada la ruta /com/metasploit/stage/ ya podremos copiar los archivos smali
  • 20. “ Los archivos smali son los intermediarios entre los dex y el código fuente Java
  • 22. Tenemos el código malicioso dentro de la APK legitima, pero esto no significa que si generamos el APK el payload va a ejecutarse. De hecho, vamos a hacer que esto sea así inyectando un hook dentro de la actividad original de inicio, la MainActivity, ¿y que es un hook? En este caso nos referimos a hook a la inyección que vamos a hacer para que cuando se inicie la app original llame a nuestro código payload, y lo ejecute por nosotros de una manera totalmente invisible para el usuario final. Para ello, vamos a revisar el archivo AndroidManifest.xml de la apk original, tal y como vamos a mostrar a continuación.
  • 23. Ya tenemos localizada la actividad principal de esta app, se llama MainActivity. La hemos podido localizar por el intent.action.MAIN Esta sería la actividad que inicia la aplicación en una primera instancia, por lo que tendríamos que buscar el MainActivity.smali dentro de los archivos generados por apktool para modificarlo, la ruta nos la da el valor del atributo que acabamos de revisar.
  • 25.
  • 26. Con nuestro editor favorito, abrimos el .smali e intentamos localizar el siguiente valor .method public onCreate(Landroid/os/Bundle;)V Una vez localizado, debajo del invoke-super añadimos la siguiente línea: invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V
  • 27. 7. ADICIÓN DE PERMISOS EN EL MANIFEST.XML
  • 28. El siguiente paso es añadir los permisos adicionales necesarios para que el payload realice correctamente su trabajo, esos permisos los debemos añadir en el fichero que visitamos antes, el AndroidManifest.xml Por defecto, nuestra aplicación legítima elegida ya tendrá ciertos permisos establecidos en la siguiente parte del manifiesto.
  • 29. Vamos a coger los permisos de la app maliciosa y vamos a pegarlos en el manifest de la app legítima, eliminando los permisos duplicados
  • 30. Para conocer más sobre los permisos de Android en las aplicaciones podéis visitar el siguiente enlace https://developer.android.com/guide/topics/manifest/manifest-intro.html?hl=es-419#perms
  • 32. Llegados a este punto, el siguiente paso es generar nuestro APK legítimo con el payload inyectado. Para ello acudimos de nuevo a nuestra herramienta apktool. Tendremos disponible el apk en la carpeta dist
  • 34. Una vez generado vamos a firmar el APK ya que Android requiere que todas las apps estén firmadas digitalmente para identificar al autor de la aplicación, igualmente no es necesario que sea firmada por una autoridad certificadora, podemos utilizar certificados autofirmados. Para ello usaremos herramientas como keytool y jarsigner.
  • 36. Con la APK maliciosa en nuestro poder, ya podemos pasar a la acción, en mi caso voy a infectar un Android virtual para comprobar la eficacia de nuestro CCleaner personalizado Para ello, utilizaremos una máquina virtual de Android y pondremos un handler a la escucha en nuestra consola de Metasploit a través del puerto que configuramos al comienzo en msfvenom.
  • 37.
  • 38. En cuanto abrimos la app legitima, nos damos cuenta de que se nos abre una sesión de meterpreter sobre nuestro handler que estaba escuchando, ya tenemos nuestro acceso al Smartphone Android.
  • 40. La sesión de Meterpreter nos brinda el acceso a utilidades muy interesantes, desde mandar sms, hacer capturas de la cámara, escuchar el micrófono, subirle archivos, descargárnoslos…
  • 41.
  • 42. Podemos llevar mucho mas allá nuestro proceso y para intentar indetectabilizar nuestra APK realizar procesos de ofuscación, podemos modificar los nombres de los ficheros y carpetas…todo lo que podamos imaginar. Existe una herramienta que automatiza todo este proceso llamada backdoor-apk que podéis encontrarla en este repositorio: https://github.com/dana-at-cp/backdoor-apk Esta herramienta utiliza herramientas de ofuscación como ProGuard y dx, es interesante que reviséis el código para ver como hace todo esto, ya que ahora conocemos el proceso.
  • 43. PWNED! 😉¿Que cosas se os ocurren con una sesión de meterpreter sobre un terminal Android?
  • 45. Herramientas utilizadas DROZER Herramienta desarrollada por MWR LABS la cual se trata de un Framework que nos ayudará a realizar auditorias de seguridad y a realizar ataques sobre aplicaciones Android. Contiene, además, algunos exploits para explotar vulnerabilidades conocidas. Mas info: https://labs.mwrinfosecurity.com/tools/drozer/ Guia de usuario: https://labs.mwrinfosecurity.com/assets/BlogFiles /mwri-drozer-user-guide-2015-03-23.pdf Utlizaremos la distribucion AndroL4b
  • 46. APLICACIÓN DE PRUEBA Para nuestra PoC vamos a auditar una app de prueba que viene con nuestra distribución AndroL4b llamada Sieve. Es un gestor de contraseñas para Android con algunos fallos.
  • 47. INSTALACIÓN DE AGENTE DROZER El agente Drozer será el que interactúe directamente con la app a auditar y el que ejecutará todas las órdenes que le daremos desde la consola
  • 48.
  • 49. Debemos ejecutar este comando para poder conectarnos al puerto que habilita el agente drozer en el Smartphone, el puerto utilizado es el 31415
  • 50. INICIALIZACIÓN DE LA CONSOLA DROZER Una vez iniciado el agente podremos conectarnos a través de la consola a él para empezar a interactuar con el Framework.
  • 51.
  • 52.
  • 53. OBTENER INFORMACIÓN DEL PAQUETE SIEVE Vamos a obtener toda la información relevante de la app Sieve para realizar un ataque sobre su base de datos
  • 54. Localizamos el nombre del paquete de la aplicación Obtenemos la información del paquete
  • 55. Gracias a este comando app.package.attacksurface obtenemos los posibles vectores de ataque de los elementos de la app a los que podemos acceder desde el exterior. Nos indica que la app Sieve tiene 3 actividades accesibles, 2 proveedores de contenido y dos servicios, además de que estos últimos son depurables y podríamos vincular un debugger al proceso. Nos centraremos en los proveedores de contenido para poder acceder a la base de datos de la app.
  • 56. OBTENER INFORMACIÓN DE LOS PROVEEDORES DE CONTENIDO Gracias a este proceso podremos averiguar las URI de los proveedores y leer información confidencial de la app
  • 57. Podemos ver que efectivamente no requerimos permisos para acceder a los providers, a excepción del path /Keys
  • 58. Ya tenemos las URIs de los proveedores de contenido a las que podemos acceder, lo siguiente será realizar una consulta sobre estas URIs para ver si nos devuelven datos relevantes de la base de datos.
  • 59. Como veis, los proveedores de contenido no están bien protegidos y podemos hacerles consultas para visualizar el contenido de la base de datos, obteniendo así las contraseñas almacenadas en ella.
  • 60. INYECCIÓN SQL SOBRE LOS PROVEEDORES Hemos visto que podemos realizar consultas, pero también podemos realizar inyecciones SQL
  • 61. Android promueve el uso de las bases de datos SQLite para almacenar los datos, estas bases utilizan SQL por lo que no nos debe sorprender que sean vulnerables a SQLi. Lo vamos a comprobar con el siguiente comando.
  • 62. Vamos a realizar una consulta con nuestra quería coma simple, veamos el resultado Totalmente vulnerable, vamos a recuperar el listado de tablas de la base de datos Recuperemos el contenido de la tabla Key, que contiene los datos de login de la app sin cifrar.
  • 63. EJECUCIÓN DE ACTIVIDADES DE LA APP Otra de las capacidades de Drozer es la ejecución de actividades de una app en concreto.
  • 64. Una vez obtenidas todas las Actividades de la aplicación podemos hacer una llamada a estas Como vemos, si llamamos directamente a la actividad podemos iniciarla sin necesidad de pasar por la primera actividad que nos pedía una contraseña que desconocíamos.
  • 65. Cosas que podemos hacer con Drozer Hemos podido ver una pequeña parte de este Framework, queda en vuestra mano interesaros por el y probar sus opciones. Entre ellas podemos destacar las siguientes: • Recopilar información de la aplicación • Encontrar vectores de ataque • Publicar exploits • Ejecutar código en el Smartphone de forma dinámica, en vez de tener que instalar apps • Simular los resultados de los sensores • Realizar ataques del tipo SQL Injection, Path Traversal, … • Interactuar con broadcast • Lanzar actividades Os invito a probar todo su potencial, que no es poco.
  • 68. Síguenos en nuestras redes sociales si te ha gustado el taller! @TSSentinel @mmorenodev thesecuritysentinel.es Momento de hablar y de exponer vuestras dudas e ideas!