Как определить, какой Wi-Fi адаптер подойдёт для Kali Linux

В этой статье мы разберём, какие технические характеристики Wi-Fi карт важны для аудита безопасности Wi-Fi сетей, какие показатели изучить перед покупкой Wi-Fi, что можно узнать о Wi-Fi адаптере, подключённом к вашему компьютеру, а также много внимания будет уделено виртуальным беспроводным интерфейсам.

Режим монитора, беспроводные инъекции, режим точки доступа (AP)

Важнейшей характеристикой, необходимой для взлома Wi-Fi сетей, является поддерживает ли беспроводная карта режим монитора. Чтобы понять, что такое режим монитора, нужно обратиться к работе адаптера в «нормальном» (его называют «управляемый», managed) режиме: беспроводная карта отправляет данные Точке Доступа и от неё получает данные, которые предназначены для этой беспроводной карты. В режиме монитора, беспроводная карта не подключена к конкретной точке доступа, она «слушает», т.е. принимает абсолютно все беспроводные пакеты данных, которые «летают» в радиоэфире на частоте, на которую в данный момент настроен беспроводной адаптер.

Режим монитора – это способность Wi-Fi карты принимать любые пакеты, доступные в диапазоне досягаемости на её частоте.

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

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

Примечание: на протяжении всей статьи я буду употреблять такие термины как «Точка Доступа», «Станция» и т.д., эти понятия раскрыты в разделе «Термины Wi-Fi сетей».

Рукопожатие можно перехватить в тот момент, когда клиент подключается к точке доступа, а это может происходить очень редко. Чтобы ускорить этот процесс, используется атака деаутентификации. Для её выполнения необходимо, чтобы адаптер умел делать беспроводные инъекции.

Важно знать, что наличие режима монитора ≠ способности делать беспроводные инъекции.

Т.е. некоторые беспроводные карты смогут перехватить рукопожатие, но не смогут отсоединить клиентов (выполнить атаку деаутентификации).

И это ещё не всё.

Для таких программ как Fluxion и WiFi-Pumpkin требуются Wi-Fi карты, которые поддерживают режим Точки Доступа, т.е. режим AP. В режиме Точка Доступа беспроводная карта работает как беспроводной роутер: к ней могут подключаться станции.

Беспроводная карта может поддерживать режим монитора, уметь делать беспроводные инъекции, но не иметь режим Точки Доступа. Возможности Wi-Fi карт зависит от чипсета и драйвера.

Чип Wi-Fi адаптера и драйвер Wi-Fi адаптера для Linux

Как уже было сказано, какие именно режимы поддерживает беспроводной адаптер зависит от:

  • установленного в него чипсета
  • возможностей драйвера Linux (поскольку в большинстве случаев используется именно эта ОС, поскольку она позволяет выполнять все из возможных беспроводных атак)

Большое количество информации о чипсетах и драйверах собрано в двух таблицах:

Шапка первой таблицы:

Записи означают следующее:

  • Manufacturer (производитель)
  • Chipset (чипсет – именно по этому полю мы будем искать информацию об интересующем нас устройстве)
  • Driver (драйвер)
  • PHY Modes (PHY режимы, т.е. a/b/g/n/ac)
  • Encrypt. (виды поддерживаемого шифрования)
  • Station (способность выступать в роли станции)
  • Ad-hoc
  • AP (способность выступать в роли точки доступа)
  • Mesh
  • Monitor (поддержка режима монитора)
  • Inj. (способность делать беспроводные инъекции)
  • Bus (тип подключения: USB или что-то другое)
  • Notes (примечания)

Как узнать, поддерживает ли чип режим монитора и беспроводные инъекции

Искать в этой таблице удобно по установленному в Wi-Fi карте чипсету. В первую очередь для взлома Wi-Fi сетей важны поля: AP, Monitor и Inj.

К примеру, возьмём такую карту как Panda Wireless PAU09 N600. Ищем информацию об установленном в ней чипсете: обычно приходится гуглить, иногда подробная техническая информация может встретиться на сайте магазина.

Находим, что в ней установлен чипсет Ralink RT5572. Ищем в таблице «RT5572»:

Как можно убедиться, поддерживается AP, Monitor и Inj – т.е. эта карта отлично подойдёт для беспроводного тентестинга.

Возьмём другую карту – Alfa AWUS036NHA. У неё чипсет Atheros AR9271. Ищем по «AR9271»:

Видно, что также поддерживаются все необходимые режимы.

Как в Linux узнать чипсет и драйвер беспроводной карты

С помощью команды

lsusb

Можно узнать чипсет USB беспроводной карты.

А командой

lsusb -t

Можно посмотреть драйвер беспроводной USB карты:

Эту же информацию о чипсете и о драйвер (как для USB, так и для встроенных карт) можно посмотреть командой:

airmon-ng

Для интегрированных беспроводных карт информацию о драйвере можно увидеть таким образом (ищите строку Kernel driver in use):

lspci -v

С помощью lshw можно увидеть разнообразную информацию о железе:

sudo apt install lshw
sudo lshw

Таблица с чипсетами содержит информацию не о всех драйверах. Например:

airmon-ng
PHY Interface   Driver      Chipset
  
phy0    wlan0       iwlwifi     Intel Corporation Centrino Advanced-N 6235 (rev 24)

Беспроводная карта использует драйвер iwlwifi, который отсутствует в первой таблице. Обратимся ко второй таблице, она имеет столбцы:

  • Driver (драйвер)
  • Manufacturer (производитель)
  • cfg80211 (наличие поддержки cfg80211)
  • AP (поддержка режима Точка Доступа)
  • IBSS (поддержка IBSS)
  • mesh
  • monitor (поддержка режима монитора)
  • PHY modes (поддержка режимов a/b/g/n/ac)
  • Buses (тип подключения: USB или что-то другое)

С помощью этой таблицы я могу найти информацию об отсутствующем в первой таблице драйвере iwlwifi:

Команда iw list

Возможности вашего беспроводного железа в вашей системе можно узнать с помощью команды:

iw list

Она выводит очень много информации. Обратите внимание на:

  • Supported interface modes (поддерживаемые интерфейсом режимы):

И ещё один пример:

Здесь главными записями являются monitor и AP.

  • software interface modes (программные режимы интерфейса)

  • valid interface combinations (позволенные комбинации интерфейсов):

И ещё один пример:

Проверка, режима монитора, беспроводной инъекции и AP в Linux

Выше было показано, как ещё до покупки беспроводного устройства собрать информацию о режимах, которые он поддерживает и на основе этой информации определить, подойдёт ли Wi-Fi карта для Kali Linux. Также приведены команды, чтобы посмотреть аппаратные возможности Wi-Fi устройства.

Теперь мы рассмотрим, как на практике проверить, поддерживает ли режим монитора и другие режимы конкретная Wi-Fi карта, которая у вас на руках, в конкретной системе, к которой вы её подсоединили.

Подключите вашу Wi-Fi карту к компьютеру: мы введём ряд команд, которые подтвердят, какие именно режимы она поддерживает или не поддерживает.

Чтобы полученные данные были точны, необходимо закрыть программы, которые могут вмешаться в наши действия с беспроводными картами:

sudo systemctl stop NetworkManager
sudo airmon-ng check kill

Проверка режима монитора

Выполните команду

sudo iw dev

Она должна показать имя беспроводного интерфейса в вашей системе. Если ничего не выведено, значит беспроводная карта не подключена, либо система по какой-либо причине не может распознать вашу Wi-Fi карту.

В полученной информации, найдите имя беспроводного интерфейса, к примеру, это может быть wlan0.

Далее выполните последовательность команд

sudo ip link set <ИНТЕРФЕЙС> down
sudo iw <ИНТЕРФЕЙС> set monitor control
sudo ip link set <ИНТЕРФЕЙС> up

заменив <ИНТЕРФЕЙС> на действительное имя вашего беспроводного интерфейса (у меня это wlan0):

sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up

Вновь выполните команду

sudo iw dev

Строка type monitor говорит о том, что беспроводная карта поддерживает режим монитора.

Возврат в управляемый режим (не торопитесь с этим – режим монитора нам понадобиться для проверки беспроводных инжектов):

sudo ip link set <ИНТЕРФЕЙС> down
sudo iw <ИНТЕРФЕЙС> set type managed
sudo ip link set <ИНТЕРФЕЙС> up

Для интерфейса wlan0 реальные команды выглядят так:

sudo ip link set wlan0 down
sudo iw wlan0 set type managed
sudo ip link set wlan0 up

Проверка беспроводной инъекции

Проверить, поддерживает ли беспроводная карта инъекции (инжект) на сетевом интерфейсе wlan0 (если нужно, имя интерфейса замените на имя в вашей системе):

sudo aireplay-ng -9 wlan0

Результат работы команды:

Главной в полученном выводе является строка Injection is working!, которая говорит о том, что инъекция работает.

Проверка режима точки доступа (AP, мастер режим)

Режим точки доступа также называют мастер режимом.

Режим точки доступа необходим для программ, ориентированных на социальную инженерию, которые создают точки доступа (атака злой двойник, атака мошенническая точка доступа). Это, в первую очередь такие программы как: Fluxion, airgeddon, WiFi-Pumpkin, create_ap и другие подобные.

Для проверки, может ли ваша Wi-Fi карта выступать в качестве точки доступа, мы попытаемся создать программную точку доступа. Для этого создайте файл hostapd.conf со следующим содержимым (замените wlan0 на имя проверяемого беспроводного интерфейса):

interface=wlan0
driver=nl80211
ssid=TestAP
channel=1

Сохраните и закройте его, запустите hostapd следующим образом:

sudo hostapd hostapd.conf

В терминале должно быть выведено примерно следующее:

Configuration file: hostapd.conf
Using interface wlan0 with hwaddr 00:c0:ca:90:0d:9f and ssid "TestAP"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED

Если всё так, то с помощью другого устройства (телефона, планшета) поищите в списке доступных сетей новую, с именем TestAP.

Эта точка доступа не маршрутизирует трафик (поскольку мы не сделали соответствующую настройку). Это означает, что если вы к ней подключитесь, у вас не будет Интернет-соединения. При этом она всё равно должна быть видна в качестве доступных сетей.

Если всё прошло без ошибок и вы можете видеть новую беспроводную сеть, это означает, что ваш драйвер поддерживает мастер режим с hostapd.

Командой

sudo iw dev

Вы можете убедиться, что в качестве типа, установлено AP (строка type AP):

Для остановки hostapd, просто нажмите ctrl+c.

Проверка функциональности виртуального интерфейса

Fluxion может использовать одну беспроводную карту с поддержкой виртуального сетевого интерфейса, либо две беспроводных карты одновременно. Это означает, что вам необязательно нужен виртуальный интерфейс, если у вас имеется второй беспроводной адаптер. Если вы пошли этим путём (два Wi-Fi адаптера), убедитесь, что выбранный интерфейс поддерживает инъекции, а второй интерфейс поддерживает мастер режим (режим точки доступа, рассмотренный чуть выше), он нужен для запуска атаки «Перехватывающий Портал» (Captive Portal)).

Когда fluxion использует один интерфейс, то необходим виртуальный сетевой интерфейс. Это из-за того, что некоторые атаки, такие как Captive Portal, для успешного выполнения требуют два различных действия с беспроводными сетями: глушение целевой ТД и запуск собственной точки доступа (rogue AP).

Для этого нам нужно создать дополнительный интерфейс из нашего основного интерфейса. Сначала нам нужно выбрать интерфейс, с которым мы хотели бы работать, и «зарезервировать его», установив его в режим мониторинга (замените wlan0 на имя выбранного вами интерфейса):

sudo ip link set wlan0 down # Деактивируем интерфейс
sudo iw wlan0 set monitor control # Переключаем интерфейс в режим монитора
sudo ip link set wlan0 up # Активируем интерфейс

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

Далее мы добавляем второй виртуальный интерфейс от главного интерфейса:

sudo iw dev wlan0 interface add wlan0ap type monitor

Здесь:

  • wlan0 – имя сетевого интерфейса, присутствующего в вашей системе
  • wlan0ap – имя нового интерфейса, вы можете выбрать другое произвольное имя

Эта команда не должна что-либо выводить на экран, если показан какой-либо вывод – значит что-то идёт не так.

Командой

sudo iw dev

можно проверить, что действительно был добавлен второй интерфейс:

Теперь у нас готовы оба интерфейс, и мы попробуем одновременно их использовать.

При использовании виртуальных интерфейсов, обычно имеются следующие ограничения:

  • оба интерфейса должны быть на одной частоте (т.е. программная ТД поднимается на той же частоте, на которой атакуется истинная ТД)
  • интерфейс в режим AP может быть в комбинации с интерфейсом в режиме монитора (т.е. после запуска программной точки доступа, второй интерфейс автоматически переводится в режим монитора)

В качестве эксперимента, что всё работает как это описано в теории, главный интерфейс (в моём примере это wlan0) запустит глушилку, в то время как второй интерфейс (в моём случае это wlan0ap), запустит мошенническую точку доступа.

Нам нужно начать с поиска цели для глушения, поэтому переведём основной интерфейс в режим монитора:

sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up

И на основном интерфейсе (wlan0) запустим airodump-ng:

sudo airodump-ng wlan0

Допустим, в качестве цели я выбираю сеть MiAl, она находится на десятом канале (запоминаем это) и имеет BSSID 50:46:5D:6E:8C:20 (также запомним его):

Перейдём к созданию новой точки доступа. Для этого создайте файл hostapd.conf со следующим содержимым (обратите внимание, что теперь в качестве имени интерфейса мы используем wlan0ap – если вы выбрали другое имя для своего беспроводного интерфейса, то используйте его; также обратите внимание, что я изменил имя сети и установил девятый канал):

interface=wlan0ap
driver=nl80211
ssid=MiAl
channel=9

Запускаем hostapd:

sudo hostapd hostapd.conf

Командой

sudo iw dev

вы можете посмотреть текущий статус беспроводных интерфейсов:

Для деаутентификации (глушения) можно использовать, например, mdk3.

На главном интерфейсе (у меня это wlan0) запустите mdk3 примерно следующим образом:

sudo mdk3 ГЛАВНЫЙ_ИНТЕРФЕЙС d -c КАНАЛ_ЦЕЛЕВОЙ_ТД -t BSSID_ЦЕЛЕВОЙ_ТД

В моём случае команда выглядит так:

sudo mdk3 wlan0 d -c 9 -t 50:46:5D:6E:8C:20

В результате, пока работает mdk3, будет невозможно подключиться к истинной точке доступа, но при этом будет видна вторая ТД с точно таким же именем, к которой можно свободно подключиться без пароля. И обе эти операция выполняются при помощи одного единственного Wi-Fi адаптера.

Если всё нормально, mdk3 и hostapd должны одновременно работать без остановки и вылетов. Если у вас также всё прошло успешно, значит fluxion будет отлично работать с вашей беспроводной картой.

На что ещё нужно обратить внимание при покупке Wi-Fi для Kali Linux

Имеются и другие характеристики беспроводных карт, которые важны для беспроводного пентестинга:

  • поддерживаемые частоты: Wi-Fi карты могут работать на одной частоте (2.4GHz) или на двух (2.4GHz и 5GHz)
  • поддерживаемые протоколы: беспроводные карты могут поддерживать различное сочетание из a/b/g/n/ac. В настоящее время протокол n используется уже достаточно широко, в то время как ac ещё мало распространён.
  • мощность сигнала: мощные карты лучше, но обычно они имеют больший размер и большую антенну, что подходит не всем.
  • наличие внешней антенны, количество антенн: антенн может быть одна или более, если антенна отсоединяется, то можно подключить более мощную антенну или установить направленную антенну.

Заключение

Для Kali Linux подходит довольно много беспроводных карт, список актуальных вариантов я привёл в заметке «Подборка совместимых с Kali Linux Wi-Fi адаптеров на 2018».

На мой вкус, в настоящее время отличными вариантами являются Panda Wireless PAU09 N600 (потому что 2 диапазона и две отсоединяющиеся антенны) и Alfa AWUS036NHA (потому что без проблем работает в атаках на WPS), с антеннами для усиления сигнала Alfa ARS-N19 или Alfa APA-M25.

Рекомендуемые статьи:

12 комментариев на Как определить, какой Wi-Fi адаптер подойдёт для Kali Linux

  1. DocenT:

    Ещё бы посоветовал, не исключать к покупке хороший (не китайский) активный удлинитель для USB, если тестируете со стационарного компа, а не с ноута. Лично использую пятиметровый от ALFA и могу отозваться только положительно.

    • Alexey Alexey:

      Посоветуйте модель — я сам таким не пользовался.

      • DocenT:

        AUSBC-5M — Alfa Active USB cable 5M — добротный толстый кабель. Есть и на 10 метров, но я не стал рисковать. Что может быть лучше, чем к AWUS036NHA прикупить от самой же альфы удлинитель. В общем у меня 5м удинителя + комплектный кабель + Alfa Magnetic Base ARS-AS01 (удлинитель для антены) = такой паровоз хватит, чтобы антену в любую точку комнаты и балкона закинуть при минимальных потерях мощности.

      • DevilCat:

        Alexey, здравствуйте, Вы никогда не пишете о PCI-e адаптерах для стационарных ПК, неужели не бывает адаптеров для осуществления аудита безопасности беспроводных сетей. Было бы очень интересно почитать.  Про такое вообще нигде в интернете не читал.

        • Alexey Alexey:

          Две главные причины:

          • у меня ноутбук, а там не так просто поменять встроенный адаптер (хотя про свой встроенный адаптер на чипсете Intel я несколько раз упоминал – отличная штука, между прочим, – поддерживает все необходимые режимы и работает в двух диапазонах – для встроенной в ноутбук шестилетней давности Wi-Fi карты это очень хорошие характеристики). Кстати, современные PCI Wi-Fi карты от Intel поддерживают ac – было бы интересно попробовать именно их;
          • банально нет денег чтобы покупать большое количество разных Wi-Fi карт, для того, чтобы просто их попробовать и написать про них. Пишу о том, что либо сам держал в руках, либо что рекомендуют вызывающие доверие знакомые, либо об очень популярных моделях, получивших широкое признание.
  2. n00b:

    сейчас на рынке появился новый игрок — blue way с пушками N9000 N9100 на ралинках 3070. нормальная альтернатива оборзевшим тайваньцам. разницы с авусом 036NH я не заметил.

    9100 от 9000 отличается только двумя рогами.

    • DevilCat:

      Noob здравствуйте, не могли бы вы показать ссылки на эти модели на ралинке 3070?

      Вроде бы N9000 и 9100 уже очень давно года 3 как продаются везде, или вы говорите о каких то новых моделях?

  3. Danil:

    Подскажите, при вводе команды iw list ничего не происходит. В чем может быть причина? Kali Linux стоит на VirtualBox

    • Alexey Alexey:

      Если это внешняя Wi-Fi карта, то посмотрите здесь https://hackware.ru/?p=3773#614

      Если это встроенная видеокарта, то так и должно быть — виртуальная машина не может работать напрямую с устройствами вашего компьютера (кроме USB устройств).

  4. Владимир:

    Что за дрвйвер в 2й строке файла conf -driver=nl80211

    Вставлял и своих адаптеров- ошибка, не находит

    • Alexey Alexey:

      Не-не-не, это не драйвер от Wi-Fi устройства. Если коротко: просто не трогайте эту строчку.

      А так, если любопытно, то nl80211 – это «userspace ←→ kernelspace wireless driver communication transport». Т.е. что-то вроде драйвера более низкого уровня, который отвечает за двухстороннюю коммуникацию между ядром Linux и пользовательским пространством.

      nl80211 используется в связке с cfg80211 – API конфигурации драйверов. На cfg80211 и основываются современные драйверы самих адаптеров. А nl80211 используют программы

      • iw
      • crda
      • hostapd
      • wpa_supplicant (с -Dnl80211)

      В качестве альтернативы к опции -D (директива driver= в файле конфигурации) программы wpa_supplicant можно указать wext, т.е. использовать Wireless-Extensions – это старый транспорт, который был до nl80211/cfg80211. Wireless-Extensions работает только с очень-очень древними драйверами.

      Вывод: после опции -D или после директивы driver= в файле конфигурации просто указывайте nl80211.

      Дополнительная информация:

    • Alexey Alexey:

      Спасибо. Все заработало, но каждый раз надо отключать NetworkManager и aerodump. Не подскажете ли -как установить драйвер адаптера с заводского диска. Есть в корне autorun.exe и папка Linux с архивами. У меня ноутбук с Linux.

      Большая просьба не писать на почту – пишите здесь, в комментариях.

      Для большинства беспроводных атак лучше останавливать NetworkManager – это поможет избежать многих проблем.

      Что касается установки драйверов. В Kali Linux, да и в других дистрибьютивах, как правило все необходимые драйвера уже есть. Т.е. не нужно ничего устанавливать с диска – просто втыкайте Wi-Fi карту и работайте.

      В Windows 10 аналогично – у меня 2 карты ALFA Network, ни для одной из них я драйвера не устанавливал.

      Карты Alfa AWUS052NH и Alfa AWUS036NHA тестировал в следующих ОС: Windows 10, Kali Linux, Ubuntu, Linux Mint, Arch Linux, BlackArch – ни в одной из них не пришлось устанавливать какие-либо дополнительные драйвера или что-то настраивать – просто воткнул и всё работало.

      Установка драйверов может понадобиться для супер новых беспроводных карт, для которых стандартные драйверы работают плохо, и которые «допиливают» энтузиасты на ГитХабе – но это отдельные специфичные случаи.

Добавить комментарий

Ваш e-mail не будет опубликован.