SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
@zallyhg
Android reversing 101
Ingeniera en Sistemas Computacionales.
Experiencia en ciberseguridad:
Pentesting mobile/web
Malware research
Arquitectura de redes/preventa
Cursos online:
Intro a ciberseguridad
Redes Computacionales
Análisis de malware
Speaker, me gusta ayudar y aportar a la comunidad de
ciberseguridad!
Bienvenid@s,
Recuerda que para este taller necesitarás tener :
DIVA APK: https://github.com/payatu/diva-android o
https://github.com/0xArab/diva-apk-file
Emulador de android studio, Genymotion o un telefono de pruebas android
Descargar e instalar docker
Descargar MobSF
Descargar e instalar Burp Suite Community Edition
Descargar Drozer
Un computador, laptop o maquina virtual, que pueda soportar los programas
mencionados
Y mucho entusiasmo por aprender! :-)
Reverse engineering vs Pentesting
Pentesting mindset
Ir más allá del manual de instrucciones, o lo
que se espera de un usuario, explorando los
límites de lo que es posible,
Phases of pentesting
First, the basics
Hablemos un poco de Android, una plataforma usada por más de 3 billones de
usuarios en el mundo;
Y es que una de las mayores ventajas o atractivos de esta plataforma es la base
de las problemáticas de seguridad, el hecho de ser una plataforma abierta.
First, the basics
SMALI
Utilizando smali/baksmali
(ensamblador/desensamb
lador) se puede obtener
una representación en un
lenguaje de bajo nivel con
el que se puede trabajar
más fácilmente
Dalvik Byte Code
Las aplicaciones Android
contienen ficheros .dex
(Dalvik EXecutable). Estos
ficheros se pueden
decompilar para obtener
un código de bajo nivel
llamado Dalvik Bytecode.
Java decompilado
Lo más cercano al código fuente, Android está
basado en Java, aunque también puede ser
escrito en Kotlin.
Public disclosures (CVE)
https://www.cvedetails.com/product/19997/Google-Android.html?vendor_id=1224
Diseño y arquitectura
Android es apodado “Java en Linux” ya que posee una arquitectura muy similar a
la vista en Linux, a continuación veremos un poco de eso,
https://developer.andr
oid.com/guide/platfor
m
Manos a la obra
Para entender mejor la estructura y realizar nuestro primer análisis estático
necesitarás tener instalado docker o MobSF:
Descargar e instalar docker https://docs.docker.com/desktop/install/mac-install/
Descargar repositorio de MobSF o hacer pull del contenedor,
https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/
Recomendación personal, usar Docker.
Manos a la obra
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf
Manos a la obra
Download apk https://github.com/0xArab/diva-apk-file
Arrastra o abre el archivo APK en localhost:800
Formato de reporte
https://docs.google.com/document/d/1K_uAQ_lod_atlvr18GDFEeVkSRkRMTdZIX
TAQE-7Las/edit?usp=sharing
Radiografía de una
aplicación
● Android Manifest
● Meta.INF →Certificados
● Classes.dex → Dalvik bytecode
● lib → Librerías nativas
● Assets → Otros archivos que pueda necesitar la app, librerías
adicionales
Entendamos los
puntos de entrada
● Lanzar actividad
● Servicios
● “Receivers”
● “Info Providers”
● Subclases
● Componentes exportados
Tasks by category
M1-Improper Platform Usage
-Manifest analysis
-Permissions analysis
M2-Insecure Data Storage
-Look for insecure logs created by the app
-Use Introspy-Android to verify logs(adb)
-Verify the storage of sensitive information on the mobile
phone like databases or passwords
M3-Insecure Communication
-Get the list of WEB APIs and urls used by the application
-Check that the URLS use SSL encryption
-Check if attacks can be made "Man in the middle"
M4-Insecure Authentication
-Identify weakness in session management
-Identify the problems that involve compromise of user
tokens
M5-Insufficient Cryptography
-Identify insecure cryptographic algorithms used by the
application (like md5)
M6-Insecure Authorization
-Identify if access to an unauthorized resource is
obtained
-Use drozer to see if activities can be launched
Tasks by category
M7-Poor Code Quality
-Identify a buffer overflow
-Identify vulnerabilities of format strings
-Try to find code vulnerabilities with drozer
M8-Code Tampering
-Identify the possibility of changing data and code when the
application is installed, how to replace the system APIs or
resources of the application for own benefit
-Identify the possibility of installing a back door on the
application and return to sign it with tools like FatTheRat
M9-Reverse Engineering
-Statical automated Analysis with Mobile Security Framework
MobSF
-Analysis and validation of vulnerabilities with Mobile Security
Framework MobSF
M10-Extraneous Functionality
-Identify backdoors in the application
-Identify the possibility of disabling 2-step authentication
-Identify controls that are taken from development to
production
https://drive.google.com/file/d/14-9wzSUgaqtUYLb9ng90Ub9BGYH9SAa
6/view?usp=sharing
https://drive.google.com/file/d/17C6k50qXIElINAXaNKtjYaCrYOO9M2xf/view?usp=s
haring

Más contenido relacionado

Similar a Android reversing 101.pdf

FONTIC: Introducción al desarrollo en Android
FONTIC: Introducción al desarrollo en AndroidFONTIC: Introducción al desarrollo en Android
FONTIC: Introducción al desarrollo en AndroidRomán Hernández
 
Software Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la ComputacionSoftware Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la ComputacionJuan Vladimir
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en androidKarla Silva
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilJosé Antonio Sandoval Acosta
 
Cuadro comparativos-de-sistemas-operativos
Cuadro comparativos-de-sistemas-operativosCuadro comparativos-de-sistemas-operativos
Cuadro comparativos-de-sistemas-operativosluisrenato Yangol Guaman
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en androidEscurra Walter
 
Documento - Aplicaciones para internet
Documento - Aplicaciones para internetDocumento - Aplicaciones para internet
Documento - Aplicaciones para internetIntComp-ULS
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweetsJorge Soro
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Androidjezabelink
 
Introducción a la programación androide
Introducción a la programación androideIntroducción a la programación androide
Introducción a la programación androideJomicast
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014quaip
 

Similar a Android reversing 101.pdf (20)

Documento de android
Documento de androidDocumento de android
Documento de android
 
FONTIC: Introducción al desarrollo en Android
FONTIC: Introducción al desarrollo en AndroidFONTIC: Introducción al desarrollo en Android
FONTIC: Introducción al desarrollo en Android
 
NcN_CSUC_CSIRT
NcN_CSUC_CSIRTNcN_CSUC_CSIRT
NcN_CSUC_CSIRT
 
CERT/CSIRT's tools: Con las manos en la masa
CERT/CSIRT's tools: Con las manos en la masaCERT/CSIRT's tools: Con las manos en la masa
CERT/CSIRT's tools: Con las manos en la masa
 
Software Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la ComputacionSoftware Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la Computacion
 
Sistema android
Sistema androidSistema android
Sistema android
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en android
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
Presentacion barcamp
Presentacion barcampPresentacion barcamp
Presentacion barcamp
 
Cuadro comparativos-de-sistemas-operativos
Cuadro comparativos-de-sistemas-operativosCuadro comparativos-de-sistemas-operativos
Cuadro comparativos-de-sistemas-operativos
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en android
 
Documento - Aplicaciones para internet
Documento - Aplicaciones para internetDocumento - Aplicaciones para internet
Documento - Aplicaciones para internet
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Android
 
Introducción a la programación androide
Introducción a la programación androideIntroducción a la programación androide
Introducción a la programación androide
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014
 
tehnik mobile hacking
tehnik mobile hackingtehnik mobile hacking
tehnik mobile hacking
 
Actividad 6
Actividad 6Actividad 6
Actividad 6
 
Testing Android Security
Testing Android SecurityTesting Android Security
Testing Android Security
 
App inventor
App inventorApp inventor
App inventor
 

Más de José Moreno

Ransomware Hidden Tear
Ransomware Hidden TearRansomware Hidden Tear
Ransomware Hidden TearJosé Moreno
 
Seguridad en SIstemas Operativos *Nix
Seguridad en SIstemas Operativos *NixSeguridad en SIstemas Operativos *Nix
Seguridad en SIstemas Operativos *NixJosé Moreno
 
Seguridad Perimetral
Seguridad PerimetralSeguridad Perimetral
Seguridad PerimetralJosé Moreno
 
Correlacionador de Eventos OSSIM
Correlacionador de Eventos OSSIMCorrelacionador de Eventos OSSIM
Correlacionador de Eventos OSSIMJosé Moreno
 
Forensia en movil
Forensia en movil Forensia en movil
Forensia en movil José Moreno
 
Backbox Distribución deriva de Ubuntu
Backbox Distribución deriva de UbuntuBackbox Distribución deriva de Ubuntu
Backbox Distribución deriva de UbuntuJosé Moreno
 
Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0José Moreno
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasJosé Moreno
 
Hardening Telnet ssh final
Hardening Telnet ssh finalHardening Telnet ssh final
Hardening Telnet ssh finalJosé Moreno
 
Protección de Sitios Web con WAF Lógico
Protección de Sitios Web con WAF LógicoProtección de Sitios Web con WAF Lógico
Protección de Sitios Web con WAF LógicoJosé Moreno
 
Laboratorio 7 mod security - evasive - qos
Laboratorio 7   mod security - evasive - qosLaboratorio 7   mod security - evasive - qos
Laboratorio 7 mod security - evasive - qosJosé Moreno
 
Lab 3 cifrado criptografia
Lab 3   cifrado criptografiaLab 3   cifrado criptografia
Lab 3 cifrado criptografiaJosé Moreno
 
Hardening en-nix-asegurar-un-ftp-server
Hardening en-nix-asegurar-un-ftp-serverHardening en-nix-asegurar-un-ftp-server
Hardening en-nix-asegurar-un-ftp-serverJosé Moreno
 

Más de José Moreno (18)

Ransomware Hidden Tear
Ransomware Hidden TearRansomware Hidden Tear
Ransomware Hidden Tear
 
Bash Ransomware
Bash RansomwareBash Ransomware
Bash Ransomware
 
Seguridad Móvil
Seguridad MóvilSeguridad Móvil
Seguridad Móvil
 
Seguridad en SIstemas Operativos *Nix
Seguridad en SIstemas Operativos *NixSeguridad en SIstemas Operativos *Nix
Seguridad en SIstemas Operativos *Nix
 
Honey Pots
Honey PotsHoney Pots
Honey Pots
 
Seguridad Perimetral
Seguridad PerimetralSeguridad Perimetral
Seguridad Perimetral
 
Correlacionador de Eventos OSSIM
Correlacionador de Eventos OSSIMCorrelacionador de Eventos OSSIM
Correlacionador de Eventos OSSIM
 
Forensia en movil
Forensia en movil Forensia en movil
Forensia en movil
 
Artefactos linux
Artefactos linuxArtefactos linux
Artefactos linux
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Backbox Distribución deriva de Ubuntu
Backbox Distribución deriva de UbuntuBackbox Distribución deriva de Ubuntu
Backbox Distribución deriva de Ubuntu
 
Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
Hardening Telnet ssh final
Hardening Telnet ssh finalHardening Telnet ssh final
Hardening Telnet ssh final
 
Protección de Sitios Web con WAF Lógico
Protección de Sitios Web con WAF LógicoProtección de Sitios Web con WAF Lógico
Protección de Sitios Web con WAF Lógico
 
Laboratorio 7 mod security - evasive - qos
Laboratorio 7   mod security - evasive - qosLaboratorio 7   mod security - evasive - qos
Laboratorio 7 mod security - evasive - qos
 
Lab 3 cifrado criptografia
Lab 3   cifrado criptografiaLab 3   cifrado criptografia
Lab 3 cifrado criptografia
 
Hardening en-nix-asegurar-un-ftp-server
Hardening en-nix-asegurar-un-ftp-serverHardening en-nix-asegurar-un-ftp-server
Hardening en-nix-asegurar-un-ftp-server
 

Último

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 

Último (20)

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 

Android reversing 101.pdf

  • 2. Ingeniera en Sistemas Computacionales. Experiencia en ciberseguridad: Pentesting mobile/web Malware research Arquitectura de redes/preventa Cursos online: Intro a ciberseguridad Redes Computacionales Análisis de malware Speaker, me gusta ayudar y aportar a la comunidad de ciberseguridad!
  • 3. Bienvenid@s, Recuerda que para este taller necesitarás tener : DIVA APK: https://github.com/payatu/diva-android o https://github.com/0xArab/diva-apk-file Emulador de android studio, Genymotion o un telefono de pruebas android Descargar e instalar docker Descargar MobSF Descargar e instalar Burp Suite Community Edition Descargar Drozer Un computador, laptop o maquina virtual, que pueda soportar los programas mencionados Y mucho entusiasmo por aprender! :-)
  • 5. Pentesting mindset Ir más allá del manual de instrucciones, o lo que se espera de un usuario, explorando los límites de lo que es posible,
  • 7. First, the basics Hablemos un poco de Android, una plataforma usada por más de 3 billones de usuarios en el mundo; Y es que una de las mayores ventajas o atractivos de esta plataforma es la base de las problemáticas de seguridad, el hecho de ser una plataforma abierta.
  • 8. First, the basics SMALI Utilizando smali/baksmali (ensamblador/desensamb lador) se puede obtener una representación en un lenguaje de bajo nivel con el que se puede trabajar más fácilmente Dalvik Byte Code Las aplicaciones Android contienen ficheros .dex (Dalvik EXecutable). Estos ficheros se pueden decompilar para obtener un código de bajo nivel llamado Dalvik Bytecode. Java decompilado Lo más cercano al código fuente, Android está basado en Java, aunque también puede ser escrito en Kotlin.
  • 10. Diseño y arquitectura Android es apodado “Java en Linux” ya que posee una arquitectura muy similar a la vista en Linux, a continuación veremos un poco de eso,
  • 12. Manos a la obra Para entender mejor la estructura y realizar nuestro primer análisis estático necesitarás tener instalado docker o MobSF: Descargar e instalar docker https://docs.docker.com/desktop/install/mac-install/ Descargar repositorio de MobSF o hacer pull del contenedor, https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/ Recomendación personal, usar Docker.
  • 13. Manos a la obra docker pull opensecurity/mobile-security-framework-mobsf docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf
  • 14. Manos a la obra Download apk https://github.com/0xArab/diva-apk-file Arrastra o abre el archivo APK en localhost:800 Formato de reporte https://docs.google.com/document/d/1K_uAQ_lod_atlvr18GDFEeVkSRkRMTdZIX TAQE-7Las/edit?usp=sharing
  • 15.
  • 16. Radiografía de una aplicación ● Android Manifest ● Meta.INF →Certificados ● Classes.dex → Dalvik bytecode ● lib → Librerías nativas ● Assets → Otros archivos que pueda necesitar la app, librerías adicionales
  • 17. Entendamos los puntos de entrada ● Lanzar actividad ● Servicios ● “Receivers” ● “Info Providers” ● Subclases ● Componentes exportados
  • 18. Tasks by category M1-Improper Platform Usage -Manifest analysis -Permissions analysis M2-Insecure Data Storage -Look for insecure logs created by the app -Use Introspy-Android to verify logs(adb) -Verify the storage of sensitive information on the mobile phone like databases or passwords M3-Insecure Communication -Get the list of WEB APIs and urls used by the application -Check that the URLS use SSL encryption -Check if attacks can be made "Man in the middle" M4-Insecure Authentication -Identify weakness in session management -Identify the problems that involve compromise of user tokens M5-Insufficient Cryptography -Identify insecure cryptographic algorithms used by the application (like md5) M6-Insecure Authorization -Identify if access to an unauthorized resource is obtained -Use drozer to see if activities can be launched
  • 19. Tasks by category M7-Poor Code Quality -Identify a buffer overflow -Identify vulnerabilities of format strings -Try to find code vulnerabilities with drozer M8-Code Tampering -Identify the possibility of changing data and code when the application is installed, how to replace the system APIs or resources of the application for own benefit -Identify the possibility of installing a back door on the application and return to sign it with tools like FatTheRat M9-Reverse Engineering -Statical automated Analysis with Mobile Security Framework MobSF -Analysis and validation of vulnerabilities with Mobile Security Framework MobSF M10-Extraneous Functionality -Identify backdoors in the application -Identify the possibility of disabling 2-step authentication -Identify controls that are taken from development to production