SlideShare una empresa de Scribd logo
1 de 23
AndroidSwissKnife
La suiza de las Apks
Really...Who you are
● Eduardo Blázquez ( Fare9, @erockandblues )
● Estudiante Ingeniería de Computadores UAH
● Becario en Mnemo
●
Suelo publicar cosillas en Estación Informática
(actualmente un cursillo de exploiting)
Really...Who you are
Really...Who you are
About me...
About me...
About APKs
● “Aplicaciones, las cuales extienden la
funcionalidad del dispositivo...”
●
=) , me gusta que extiendan la funcionalidad
de espiarme
● Una aplicación, entonces también puede ser
maligna
●
La API de Google ayuda bastante.
About APKs
About Analysis
● OS Open Source, muchas tools diferentes, cual
uso…
●
Apktool, Jadx, unzip, opcodes, análisis
dinámico ....
● Demasiados comandos =(
●
Así que me pregunto
¿Qué haría Macgyver?
● Ya tenemos una piña, tenemos un clip y algo
de pasta de dientes…
●
Con esto le da para una Bomba
● Tenemos un apktool, un jadx, código de por
aquí y por allá…
●
Con esto nos da para una tool que nos ayude
=)
AndroidSwissKnife
● Nace como una idea para aunar, todas las
ideas de un libro. Actualmente TFG.
●
Este framework nos permite realizar un
análisis estático y dinámico de un APK
● No es perfecto… Pero...
AndroidSwissKnife
● Ganadora de Artillería Sec/Admin 2016
● Patrocinada por ToolsWatch
http://www.toolswatch.org/2016/12/secadmi
n-artilleria-spain/
●
De código libre, disponible en:
https://github.com/Fare9/AndroidSwissKnife
Módulo Apktool
● Módulo con la principal funcionalidad de
apktool.
●
Además incluye una primera lectura del
Manifest, descubrimiento de funciones java de
las librerías nativas, búsqueda de bases de
datos y la posibilidad de añadir exiftool...
Módulo Unzip
● Este módulo es usado después de realizar un
unzip al apk.
●
Muestra el certificado, realiza búsqueda de
assets (puede haber cosas interesantes),
busca código en los directorios, además
permite la búsqueda de clases java, urls y
expresiones regulares.
Módulos get-jar y opcodes
● El módulo get-jar te permite conseguir los jar
y clases del apk, por tanto puedes usarlos en
algunos análisis dinámicos.
●
El módulo opcodes, permite obtener
información a través del uso del bajo nivel de
android
Módulo create APK
● Este módulo nos permite a partir de la salida
de apktool, volver a empaquetar la apk.
●
Se encarga de firmar la apk, para poder
instalarla sin problemas en nuestro emulador.
● Bueno si sabes modificar el código smali
●
Ejemplo: http://www.estacion-
informatica.com/2016/08/meterpretear-una-
apk.html
Módulo Análisis Dinámico
● Wrapper de la aplicación DroidBox.
● Añadido soporte para ciertos errores.
● Este módulo nos permite la ejecución de un
emulador que funciona como sandbox, tras
esto nos devolverá un JSON con información
de ejecución.
Módulo Antivirus
● Koodous: Antivirus con base de datos
desarrollada por la comunidad y gratuito
creado por hispasec.
●
Ofrece una Rest API con métodos para buscar
por hashes.
● Necesario una clave (gratuita)
●
https://koodous.com/
●
Clase en AndroidSwissKnife para uso de API
Módulo Antivirus
● En desarrollo, analizador léxico con la
herramienta LEX.
●
Posible desarrollo de analizador semántico
con la herramienta YACC.
● ¿Quién dijo que eso de procesadores del
lenguaje no nos valdría para nada?
Módulo Sandbox
● Framework Xposed: permite la instalación de
“funciones” en un dispositivo con permisos de
root, para crear hooks de funciones.
●
Proyecto: generar máquina Android M6 para
realizar Sandboxing de funciones.
● Proyectos existentes: http://cuckoo-
droid.readthedocs.io/en/latest/
¿Por qué tanto módulo?
Proof of Concept

Más contenido relacionado

Destacado

Silicon Solar Brochure - SunPal Real Estate Solar Sign Lights
Silicon Solar Brochure - SunPal Real Estate Solar Sign LightsSilicon Solar Brochure - SunPal Real Estate Solar Sign Lights
Silicon Solar Brochure - SunPal Real Estate Solar Sign LightsSilicon Solar
 
Treball caste
Treball casteTreball caste
Treball caste23526
 
Mental Coaching Gewoon Doen
Mental Coaching Gewoon DoenMental Coaching Gewoon Doen
Mental Coaching Gewoon DoenBen Middelkamp
 
Corporate Ad - Ritika Gupta
Corporate Ad - Ritika GuptaCorporate Ad - Ritika Gupta
Corporate Ad - Ritika Guptaritika
 
La responsabilidad de los padres en la educación de los hijos
La responsabilidad de los padres en la educación de los hijosLa responsabilidad de los padres en la educación de los hijos
La responsabilidad de los padres en la educación de los hijos30eth0699q
 
Silicon Solar Brochure - Wholesale & Dropshipping Program
Silicon Solar Brochure - Wholesale & Dropshipping ProgramSilicon Solar Brochure - Wholesale & Dropshipping Program
Silicon Solar Brochure - Wholesale & Dropshipping ProgramSilicon Solar
 
Seaward PAT Testing Solutions - Portable Appliance Testers
Seaward PAT Testing Solutions - Portable Appliance TestersSeaward PAT Testing Solutions - Portable Appliance Testers
Seaward PAT Testing Solutions - Portable Appliance TestersThorne & Derrick International
 
A trip to london (1)
A trip to london (1)A trip to london (1)
A trip to london (1)23526
 
New Microsoft Word Document (2)
New Microsoft Word Document (2)New Microsoft Word Document (2)
New Microsoft Word Document (2)Muhammad Saleem
 

Destacado (9)

Silicon Solar Brochure - SunPal Real Estate Solar Sign Lights
Silicon Solar Brochure - SunPal Real Estate Solar Sign LightsSilicon Solar Brochure - SunPal Real Estate Solar Sign Lights
Silicon Solar Brochure - SunPal Real Estate Solar Sign Lights
 
Treball caste
Treball casteTreball caste
Treball caste
 
Mental Coaching Gewoon Doen
Mental Coaching Gewoon DoenMental Coaching Gewoon Doen
Mental Coaching Gewoon Doen
 
Corporate Ad - Ritika Gupta
Corporate Ad - Ritika GuptaCorporate Ad - Ritika Gupta
Corporate Ad - Ritika Gupta
 
La responsabilidad de los padres en la educación de los hijos
La responsabilidad de los padres en la educación de los hijosLa responsabilidad de los padres en la educación de los hijos
La responsabilidad de los padres en la educación de los hijos
 
Silicon Solar Brochure - Wholesale & Dropshipping Program
Silicon Solar Brochure - Wholesale & Dropshipping ProgramSilicon Solar Brochure - Wholesale & Dropshipping Program
Silicon Solar Brochure - Wholesale & Dropshipping Program
 
Seaward PAT Testing Solutions - Portable Appliance Testers
Seaward PAT Testing Solutions - Portable Appliance TestersSeaward PAT Testing Solutions - Portable Appliance Testers
Seaward PAT Testing Solutions - Portable Appliance Testers
 
A trip to london (1)
A trip to london (1)A trip to london (1)
A trip to london (1)
 
New Microsoft Word Document (2)
New Microsoft Word Document (2)New Microsoft Word Document (2)
New Microsoft Word Document (2)
 

Similar a AndroidSwissKnife: Herramienta todo en uno para análisis de APKs

Programación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge PintadoProgramación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge PintadoCongresoWeb
 
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
 
Conceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOConceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOnacho mascort
 
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...Iván López Martín
 
Javascript
JavascriptJavascript
JavascriptMaideoz
 
Javascript desde cero
Javascript desde ceroJavascript desde cero
Javascript desde ceroalbanis Meza
 
Preguntas 30
Preguntas 30 Preguntas 30
Preguntas 30 ArelyGPV2
 
Presentacion PDA
Presentacion PDAPresentacion PDA
Presentacion PDASaul Gausin
 
Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Micael Gallego
 
Introducción Android NDK
Introducción Android NDKIntroducción Android NDK
Introducción Android NDKFe
 
Introducción android ndk
Introducción android ndkIntroducción android ndk
Introducción android ndkBarcelona GTUG
 

Similar a AndroidSwissKnife: Herramienta todo en uno para análisis de APKs (20)

Programación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge PintadoProgramación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge Pintado
 
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
 
Conceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOConceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEO
 
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
 
Android studio
Android studioAndroid studio
Android studio
 
Programación para niños app inventor
Programación para niños app inventorProgramación para niños app inventor
Programación para niños app inventor
 
Programación para niños app inventor
Programación para niños app inventorProgramación para niños app inventor
Programación para niños app inventor
 
Javascript
JavascriptJavascript
Javascript
 
Javascript
JavascriptJavascript
Javascript
 
Javascript desde cero
Javascript desde ceroJavascript desde cero
Javascript desde cero
 
Javascript
JavascriptJavascript
Javascript
 
Javascript completo
Javascript completoJavascript completo
Javascript completo
 
Javascript
JavascriptJavascript
Javascript
 
Preguntas 30
Preguntas 30 Preguntas 30
Preguntas 30
 
Presentacion PDA
Presentacion PDAPresentacion PDA
Presentacion PDA
 
Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020
 
Introducción Android NDK
Introducción Android NDKIntroducción Android NDK
Introducción Android NDK
 
Introducción android ndk
Introducción android ndkIntroducción android ndk
Introducción android ndk
 
Java Y Robocode
Java Y RobocodeJava Y Robocode
Java Y Robocode
 
30 preguntas
30 preguntas30 preguntas
30 preguntas
 

AndroidSwissKnife: Herramienta todo en uno para análisis de APKs

  • 2. Really...Who you are ● Eduardo Blázquez ( Fare9, @erockandblues ) ● Estudiante Ingeniería de Computadores UAH ● Becario en Mnemo ● Suelo publicar cosillas en Estación Informática (actualmente un cursillo de exploiting)
  • 7. About APKs ● “Aplicaciones, las cuales extienden la funcionalidad del dispositivo...” ● =) , me gusta que extiendan la funcionalidad de espiarme ● Una aplicación, entonces también puede ser maligna ● La API de Google ayuda bastante.
  • 9. About Analysis ● OS Open Source, muchas tools diferentes, cual uso… ● Apktool, Jadx, unzip, opcodes, análisis dinámico .... ● Demasiados comandos =( ● Así que me pregunto
  • 10.
  • 11. ¿Qué haría Macgyver? ● Ya tenemos una piña, tenemos un clip y algo de pasta de dientes… ● Con esto le da para una Bomba ● Tenemos un apktool, un jadx, código de por aquí y por allá… ● Con esto nos da para una tool que nos ayude =)
  • 12. AndroidSwissKnife ● Nace como una idea para aunar, todas las ideas de un libro. Actualmente TFG. ● Este framework nos permite realizar un análisis estático y dinámico de un APK ● No es perfecto… Pero...
  • 13. AndroidSwissKnife ● Ganadora de Artillería Sec/Admin 2016 ● Patrocinada por ToolsWatch http://www.toolswatch.org/2016/12/secadmi n-artilleria-spain/ ● De código libre, disponible en: https://github.com/Fare9/AndroidSwissKnife
  • 14. Módulo Apktool ● Módulo con la principal funcionalidad de apktool. ● Además incluye una primera lectura del Manifest, descubrimiento de funciones java de las librerías nativas, búsqueda de bases de datos y la posibilidad de añadir exiftool...
  • 15. Módulo Unzip ● Este módulo es usado después de realizar un unzip al apk. ● Muestra el certificado, realiza búsqueda de assets (puede haber cosas interesantes), busca código en los directorios, además permite la búsqueda de clases java, urls y expresiones regulares.
  • 16. Módulos get-jar y opcodes ● El módulo get-jar te permite conseguir los jar y clases del apk, por tanto puedes usarlos en algunos análisis dinámicos. ● El módulo opcodes, permite obtener información a través del uso del bajo nivel de android
  • 17. Módulo create APK ● Este módulo nos permite a partir de la salida de apktool, volver a empaquetar la apk. ● Se encarga de firmar la apk, para poder instalarla sin problemas en nuestro emulador. ● Bueno si sabes modificar el código smali ● Ejemplo: http://www.estacion- informatica.com/2016/08/meterpretear-una- apk.html
  • 18. Módulo Análisis Dinámico ● Wrapper de la aplicación DroidBox. ● Añadido soporte para ciertos errores. ● Este módulo nos permite la ejecución de un emulador que funciona como sandbox, tras esto nos devolverá un JSON con información de ejecución.
  • 19. Módulo Antivirus ● Koodous: Antivirus con base de datos desarrollada por la comunidad y gratuito creado por hispasec. ● Ofrece una Rest API con métodos para buscar por hashes. ● Necesario una clave (gratuita) ● https://koodous.com/ ● Clase en AndroidSwissKnife para uso de API
  • 20. Módulo Antivirus ● En desarrollo, analizador léxico con la herramienta LEX. ● Posible desarrollo de analizador semántico con la herramienta YACC. ● ¿Quién dijo que eso de procesadores del lenguaje no nos valdría para nada?
  • 21. Módulo Sandbox ● Framework Xposed: permite la instalación de “funciones” en un dispositivo con permisos de root, para crear hooks de funciones. ● Proyecto: generar máquina Android M6 para realizar Sandboxing de funciones. ● Proyectos existentes: http://cuckoo- droid.readthedocs.io/en/latest/
  • 22. ¿Por qué tanto módulo?