Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL...

31
Pentesting con Android Ing. Javier Villanueva http://www.villacorp.com

Transcript of Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL...

Page 1: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Pentesting con Android

Ing. Javier Villanueva

http://www.villacorp.com

Page 2: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido

Muchas Gracias a ESIME por Invitarme y Patrocinar esta

Conferencia!

Agradecimientos

Page 3: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido

Ing. Javier VillanuevaConsultor, Investigador e Instructor Independiente en Seguridad Ofensiva (“Hacking Ético”)

Director de Villacorp & Asociados. Empresa dedicada a proteger el Negocio Digital de nuestros Clienteshttp://www.villacorp.com

15 años Hackeando a todo Mundo(en forma ética, por supuesto ☺)

Co-Autor e Instructor de Cursos “Master Hacking”, impartidos desde hace 10 años a Empresas del Sector Público y Privado, Autoridades Policíacas Federales y Estatales

2 años investigando Android como plataforma de Pentesting

Autor de casi 200 artículos originaleshttp://blog.villacorp.com

Quién Soy?

Page 4: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido

1. Por qué usar un Smartphone2. Cuál es el mejor Android para Pentesting3. Preparando Android4. Metodología de Pentesting5. Scanning6. Obtención de Acceso7. Suites Móviles de Pentesting8. El Futuro de Android9. DEMO

Contenido

Page 5: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido

Ventajas Estratégicas muy valiosas para el Hacker Ético:

Stealth (furtivo).- fácil de esconder y evitar sospechas.

Discreción.- todo mundo pensará que está “chateando” o revisando su “facebook”, cuando en realidad está atacando.

Ultra Portátil.- fácil de llevar a todos lados.

Desventajas:

Micro-teclado.- poco práctico para ataques prolongados.

Alcance.- Tenemos que estar físicamente cerca de la Red (aunque hay alternativas).

1. Por qué usar un Smartphone?

Page 6: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido

Criterios de Selección Recomendados:

Sea un modelo popularPara encontrar soporte técnico más fácil

Fácil de “rootear”.Casi todas las herramientas de Hacking lo solicitan

Brinde una plataforma seguraPara que no nos “contraataquen” fácilmente

Proveedor brinde actualizaciones oportunasPara que no tenga tantas vulnerabilidades

2. Cual es el Mejor para Hackers?

Page 7: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoMi Recomendación:

Google Nexus – a partir de 4, las actualizaciones las brindará directo Google, no el proveedor de telefonía

Samsung Galaxy S (1,2,3) – todas las herramientas de Hacking que he probado en los últimos dos años han funcionado en el S1 (aunque a veces requieren adaptaciones).

Desventaja: Telcel tarda mucho en actualizar Android (+6 meses).

Mi Anti-recomendación:Motorola (encripta el “bootloader”, complicando “rooting”)

HTC (Horrible historial de vulnerabilidades, aunque parece que mejora)

Mi Esperanza:Ubuntu Phone (“100% Linux”)Debe facilitar el uso de todas las herramientas que tradicionalmente usamos los Hackers en Linux.

Cual es el Mejor para Hackers?

Page 8: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

3. Preparando Android: SDK

ADB (Android Debug Bridge)

Permite el control del Smartphone a través de USB, empleando el “USB Debugging” en el teléfono.

Muy útil para instalar paquetes apk o en formato binario, cuando no están disponibles en Google Play(por ser demasiado “malvados”).

Comandos útiles para un Hacker:

adb install Instala paquetes .apk.adb push Enviar archivos de la PC al teléfono.adb pull Enviar archivos del teléfono a la PCadb shell Consola de comandos interactiva.

http://developer.android.com/sdk/index.html

Page 9: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

3. Preparando Android: Rooting

Habilita el acceso Administrativo al Smartphone, con los máximos privilegios del sistema.

Similar a “root” de Linux o a “administrator” de Windows.

Las técnicas más poderosas de Hacking requieren estos privilegios.

El método específico para lograr el rooting depende de la marca y modelo del Smartphone, así como de la versión de Android.

Referencia para hacer rooting:http://ready2root.com/

Page 10: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Peligros del Rooting

1. Aplicaciones maliciosas tendrán un efecto más devastador.

2. Algunas aplicaciones legítimas ya no funcionarán.

3. Es posible "brickear" el Smartphone.

4. El proveedor puede invalidar la garantía.

http://www.villacorp.com/blog/2012/11/android-riesgos-del-rooting/

Page 11: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido

1. Fingerprinting – Exploración Inicial.

2. Scanning – Mapear la Red.

3. Enumeración – Extraer info de servicios y apps default.

4. Obtención de Acceso – Comprometer el sistema.

5. Escalamiento de Privilegios – Llegar a Root o admin.

6. Conservación de Control - Troyanos

7. Encubrimiento de Rastros – Evitar detección

… Cómo podemos realizar estas tareas en Android?

4. Metodología de Pentesting

Page 12: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoScanning

NetworkMapper

Identifica todos los equipos en la Red (“víctimas potenciales”).

Los detecta aunque tengan firewall instalado.

Muy útil para realizar “mini auditorías” de Seguridad en Redes WiFi, para detectar equipos maliciosos.

Page 13: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido

1. Ataque Diccionario – dSploit

2. Ataque Fuerza Bruta – dSploit

3. Man in The Middle – arpspoof

4. Sniffing – Shark for Root

5. Ingeniería Social – FakeMail, SET

6. Exploits – Metasploit (no todos funcionan, y es muuuuuy lenta)

Obtención de Acceso

http://www.villacorp.com/blog/2012/08/metasploit-en-android/

Page 14: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoArpspoof

Efectúa intercepción de comunicaciones por “ARP Cache Poisoning”.

Herramienta “antigua”, liberada en 1999 (hace 14 años!)

He descubierto que todas las herramientas “avanzadas” para Intercepción en Android siguen usando esta técnica (dSploit,

NetworkSpoofer, Intercepter-NG, WhatsApp

Sniffer).

Para mayor efectividad, es mejor usar siempre arpspoof, aunque otras herramientas brinden funcionalidad similar.

Esto permite tener un mayor control sobre el ataque.

MITM

User

Spy/Hacker

User

Page 15: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido7. Suites de Pentesting

dSploit

Intercepta comunicaciones en forma pasiva, o con MITM.

Captura cuentas y contraseñas de aplicaciones de Red de texto simple.

Ataca aplicaciones de Red por “diccionario”, para encontrar cuentas y contraseñas.

“Mata” conexiones para evitar que la víctima pueda accesar servicios locales o en Internet.

Inserta imágenes o videos falsificados en paginas web.

Page 16: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido7. Suites de Pentesting

Network Spoofer

Intercerpta comunicaciones para agregar contenido falsificado en el navegador de la víctima.

Page 17: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido7. Suites de Pentesting

Intercepter-NG 1.2

Intercepta comunicaciones en forma pasiva, o con MITM.

Multiplataforma: windows, linux, android, iphone, ipad.

Reconstruye el contenido de archivos a partir de tráfico.

Desencripta comunicaciones SSL mediante la técnica “SSLStrip”.

Page 18: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido8. El Futuro de Android

En mi Investigación, he descubierto que todas las herramientas de Hacking Ético para Android implementan ataques previamente conocidos en

plataformas tradicionales Windows y Linux.

NO HE IDENTIFICADO UNA SOLA HERRAMIENTA QUE IMPLEMENTE TÉCNICAS PREVIAMENTE DESCONOCIDAS

El Futuro del Hacking Ético Móvil es adaptar técnicas que ya existen en otras plataformas.

Es muy recomendable dominar las técnicas que exiten en Windows y Linux, para buscar formas nuevas e ingeniosas

de implementarlas en Android.

Page 19: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoShare SeñueloUna de mis Técnicas favoritas de Pentesting

- Captura el HASH del usuario (contraseña encriptada), cuando la víctima accesa un recurso compartido en el equipo del hacker.

- Universal, funciona para Windows y Samba (Linux, OSX).

- Funciona en Redes Locales y WiFi(podemos hackear en el Aeropuerto, Hoteles y cualquier otro lugar con wifi pública o semipública (tipo Infinitum

Movil).

- Es efectiva, sin importar nivel de “parches” o service packs.

- Indetectable para Antivirus.

Ejemplo

Share señuelo

/super-secreto

“VICTIMAS” “HACKER”

Page 20: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoShare Señuelo

- Basado en el protocolo SMB (puerto TCP 445), uno de los más usados en Redes, por lo que es más fácil “esconder” el ataque en tráfico normal

- Por default, indetectable a todos los IDSo IPS (es una conexión “normal” a share)

- Pasiva, no genera tráfico malicioso hacia la red (casi imposible que nos detecten)

- Puede servir para contraatacar. (identificar la cuenta y hash del Hacker)

- Usa Ingeniería Social (“Los hackers

novatos atacan máquinas; los expertos a

las personas” – Bruce Schneier)

Ejemplo

Share señuelo

/super-secreto

“VICTIMAS” “HACKER”

Page 21: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoEn Windows, esta técnica es fácil de usar:

1. Crear Share señuelo en el equipo del Hacker.

2. Abrir el puerto TCP 445 en nuestro Firewall.

3. Ejecutar Cain & Abel (modo sniffer).

4. Esperar a la víctima o disuadirla para que se conecte al share.

5. Crackear el Hash.

pero en Android, NO existe Cain…�

Ejemplo

Share señuelo

/super-secreto

Page 22: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoCómo Implementarlo en Android ???

Share señuelo

/super-secreto

Page 23: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido

No encontré una App que realizara todo el ataque.

Metasploit? Quizá podría funcionar, pero HD Moore menciona que es espantosamente lenta en Android (+500,000 líneas de código).

Qué necesitamos para el ataque???

1. Servidor SMB para crear el recurso compartido.

2. Sniffer para capturar el hash que le llega al servidor.

3. Transferir la muestra de tráfico a la PC de Crackeo (un smartphone no tiene el poder para esta tarea).

4. Extraer los hashes de la muestra.

5. Crackearlos.

Cómo Implementarlo en Android?

Page 24: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoServidor SMB (crear el share señuelo)

Probé siete diferentes, este fue el más completo:

Servers Ultimate Prohttps://play.google.com/store/apps/details?id=com.icecoldapps.serversultimate

Limitante de todos los servidores SMB en Android: sólo permiten acceso con la cuenta Guest.

Windows 7 por default NO se conecta a un share con Guest.

La “víctima” no va a poder accesar el recurso. Pero esto es bueno! Porque va a intentarlo varias veces, asegurando que capturemos el hash!

Verificando que el Share este listo:nmap -p445 IPHacker

Cómo Implementarlo en Android?

Page 25: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoSniffer (capturar el hash que llega al servidor)

Intercepter-NG.

Siempre me ha funcionado!

Crear filtro port 445 para capturar sólo el tráfico que contiene el hash encriptado.

Dejarlo ejecutando todo el tiempo, para capturar la mayor cantidad de víctimas posibles.

Guardar la muestra en archivo .pcap

Transferirlo a la PC de crackeo

Cómo Implementarlo en Android?

Page 26: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

Contenido… ya tenemos los Hashes dentro de la muestra de tráfico, pero ahora, cómo los EXTRAEMOS?

Wireshark? NetworkMiner?Factible, pero demasiado laborioso, porque tenemos que buscar la información necesaria:

Cuenta

Dominio

Hash

Challenge del Cliente

Challenge del Cervidor

Si en el ataque capturamos Hashes de múltiples víctimas, se complica todavía más…

Además, AFAIK, Cain NO SOPORTA leer este tipo de hashes cuando se obtienen de otras herramientas!

Cómo Implementarlo en Android?

Page 27: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoPreplay.- Es el único software que encontré para Windows (existe una versión de tcpreplay, pero requiere demasiadas librerías adicionales).

Se ejecuta después de activar Cain en modo sniffer, en el mismo equipo del hacker.

(En *nix, se puede usar tcpreplay y ettercap para obtener resultados similares).

Cómo Implementarlo en Android?

Page 28: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoRESULTADO

Page 29: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoDEMO

Page 30: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoReferencias

Spoofing con Androidhttp://www.villacorp.com/blog/2013/01/spoofing-con-android/

Pentesting con Androidhttp://www.villacorp.com/blog/2013/01/pentesting-con-android/

Android: Riesgos del Rootinghttp://www.villacorp.com/blog/2012/11/android-riesgos-del-rooting/

Rooting Universal para Androidhttp://www.villacorp.com/blog/2012/11/rooting-universal-para-android/

Android: Modo Monitor WiFihttp://www.villacorp.com/blog/2012/10/android-modo-monitor-wifi/

Hackeando Redes con Androidhttp://www.villacorp.com/blog/2012/10/hackeando-redes-con-android/

Metasploit en Androidhttp://www.villacorp.com/blog/2012/08/metasploit-en-android/

Kismet: Wardriving con Androidhttp://www.villacorp.com/blog/2012/02/kismet-wardriving/

Tecnicas de Scanning (3)http://www.villacorp.com/blog/2011/10/tecnicas-de-scanning-3/

Page 31: Pentesting con Android Ing. Javier Villanuevaindex-of.co.uk/Sslstrip/AndroidPentesting.pdf · SSL mediante la técnica “SSLStrip”. 8. El Futuro de AndroidContenido En mi Investigación,

ContenidoGRACIAS!

ContactoLic. Fabiola Ferreira

Tel. 044 (55) 2893 4953

[email protected]

[email protected]

twitter @JavierVillacorp

Blog

http://blog.villacorp.com

Presentacion (versión final):

http://www.villacorp.com/doc/Android-Pentesting-IPN.pdf