Está en la página 1de 31

http://www.villacorp.

com

Pentesting con
Android

Ing. Javier Villanueva


Agradecimientos
Contenido

Muchas Gracias a ESIME por


Invitarme y Patrocinar esta
Conferencia!
Quién Soy?
Contenido
Ing. Javier Villanueva
Consultor, Investigador e Instructor Independiente en
Seguridad Ofensiva (“Hacking Ético”)

Director de Villacorp & Asociados. Empresa dedicada a


proteger el Negocio Digital de nuestros Clientes
http://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 originales


http://blog.villacorp.com
Contenido
Contenido

1. Por qué usar un Smartphone


2. Cuál es el mejor Android para Pentesting
3. Preparando Android
4. Metodología de Pentesting
5. Scanning
6. Obtención de Acceso
7. Suites Móviles de Pentesting
8. El Futuro de Android
9. DEMO
1. Por qué usar un Smartphone?
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).
2. Cual es el Mejor para Hackers?
Contenido
Criterios de Selección Recomendados:

Sea un modelo popular


Para encontrar soporte técnico más fácil

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

Brinde una plataforma segura


Para que no nos “contraataquen” fácilmente

Proveedor brinde actualizaciones


oportunas
Para que no tenga tantas vulnerabilidades
Cual es el Mejor para Hackers?
Contenido
Mi 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.
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 PC
adb shell Consola de comandos interactiva.

http://developer.android.com/sdk/index.html
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/
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/
4. Metodología de Pentesting
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?


Scanning
Contenido
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.
Obtención de Acceso
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)

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

Efectúa intercepción de comunicaciones por


“ARP Cache Poisoning”.

Herramienta “antigua”, liberada en 1999 (hace


14 años!)
User User
He descubierto que todas las herramientas
“avanzadas” para Intercepción en Android
siguen usando esta técnica (dSploit,
NetworkSpoofer, Intercepter-NG, WhatsApp
Sniffer). Spy/Hacker

Para mayor efectividad, es mejor usar siempre


arpspoof, aunque otras herramientas brinden
funcionalidad similar.

Esto permite tener un mayor control sobre el


ataque.
7. Suites de Pentesting
Contenido
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.
7. Suites de Pentesting
Contenido
Network Spoofer
Intercerpta comunicaciones
para agregar contenido
falsificado en el navegador de
la víctima.
7. Suites de Pentesting
Contenido
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”.
8. El Futuro de Android
Contenido

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.
Ejemplo
Contenido
Share Señuelo
Una 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.
Share señuelo
- Universal, funciona para Windows y
/super-secreto
Samba (Linux, OSX).

- Funciona en Redes Locales y WiFi


(podemos hackear en el Aeropuerto,
Hoteles y cualquier otro lugar con wifi
“VICTIMAS” “HACKER”
pública o semipública (tipo Infinitum
Movil).

- Es efectiva, sin importar nivel de


“parches” o service packs.

- Indetectable para Antivirus.


Ejemplo
Contenido
Share 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 IDS


Share señuelo
o IPS (es una conexión “normal” a share)
/super-secreto
- Pasiva, no genera tráfico malicioso
hacia la red (casi imposible que nos
detecten)

- Puede servir para contraatacar. “VICTIMAS” “HACKER”


(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
Contenido
En Windows, esta técnica es fácil de usar:

1. Crear Share señuelo en el equipo del


Hacker. Share señuelo

2. Abrir el puerto TCP 445 en nuestro /super-secreto


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…


Cómo Implementarlo en Android ???
Contenido

Share señuelo
/super-secreto
Cómo Implementarlo en Android?
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?
Contenido
Servidor SMB (crear el share señuelo)

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

Servers Ultimate Pro


https://play.google.com/store/apps/details?id=com.ic
ecoldapps.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?
Contenido
Sniffer (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?
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?
Contenido
Preplay.- 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).
RESULTADO
Contenido
DEMO
Contenido
Referencias
Contenido
Spoofing con Android
http://www.villacorp.com/blog/2013/01/spoofing-con-android/

Pentesting con Android


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

Android: Riesgos del Rooting


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

Rooting Universal para Android


http://www.villacorp.com/blog/2012/11/rooting-universal-para-android/

Android: Modo Monitor WiFi


http://www.villacorp.com/blog/2012/10/android-modo-monitor-wifi/

Hackeando Redes con Android


http://www.villacorp.com/blog/2012/10/hackeando-redes-con-android/

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

Kismet: Wardriving con Android


http://www.villacorp.com/blog/2012/02/kismet-wardriving/

Tecnicas de Scanning (3)


http://www.villacorp.com/blog/2011/10/tecnicas-de-scanning-3/
GRACIAS!
Contenido
Contacto
Lic. Fabiola Ferreira
Tel. 044 (55) 2893 4953
fabiola.ferreira@villacorp.com

javier@villacorp.com
twitter @JavierVillacorp

Blog
http://blog.villacorp.com

Presentacion (versión final):


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

También podría gustarte