Перевод сетевой карты в режим мониторинга. Беспроводные сети: ломаем, чтобы защищать
Описание Airmon-ng
airmon-ng - это баш скрипт, созданный для перевода беспроводных карт в режим наблюдения.
Лицензия: GPLv2
Справка по Airmon-ng
использование:
Airmon-ng
Руководство по Airmon-ng
СИНОПСИС
Airmon-ng
ОПИСАНИЕ
airmon-ng - это скрипт, который может использоваться для включения режима наблюдения на беспроводном интерфейсе. Он также может использоваться для перевода из режима наблюдения в режим управляемости. Ввод команды airmon-ng без параметров отобразит статус интерфейсов. Она может выводить список/убивать программы, которые могут вмешиваться в беспроводную карту и также устанавливает верные источники в /etc/kismet/kismet.conf.
НЕОБЯЗАТЕЛЬНЫЕ ПАРАМЕТРЫ
start <интерфейс> [канал]
Включает режим наблюдения на интерфейсе (и задаёт канал).
check
Список программ, которые могут вмешиваться в беспроводную карту. Если указать "kill", то будет сделана попытка убить их всех.
Примеры запуска Airmon-ng
Просматриваем доступные сетевые интерфейсы:
Sudo airmon-ng PHY Interface Driver Chipset phy0 wlan0 iwlwifi Intel Corporation Centrino Advanced-N 6235 (rev 24)
Проверяем процессы, которые могут нам помешать
Sudo airmon-ng check Found 5 processes that could cause trouble. If airodump-ng, aireplay-ng or airtun-ng stops working after a short period of time, you may want to kill (some of) them! PID Name 799 NetworkManager 894 wpa_supplicant 905 dhclient 1089 avahi-daemon 1090 avahi-daemon
Перед переводом в режим наблюдения, убиваем процессы, которые нам могут помешать:
Sudo airmon-ng check kill Killing these processes: PID Name 894 wpa_supplicant 905 dhclient
Пытаемся перевести интерфейс wlan0 в режим наблюдения:
Sudo airmon-ng start wlan0 PHY Interface Driver Chipset phy0 wlan0 iwlwifi Intel Corporation Centrino Advanced-N 6235 (rev 24) (mac80211 monitor mode vif enabled for wlan0 on wlan0mon) (mac80211 station mode vif disabled for wlan0)
Проверяем, была ли беспроводная карта переведена в режим монитора:
Sudo iwconfig eth0 no wireless extensions. wlan0mon IEEE 802.11 Mode:Monitor Frequency:2.457 GHz Tx-Power=20 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off lo no wireless extensions.
Сетевая карта изменила название интерфейса и переведена в режим монитора, наблюдения (об этом свидетельствует строка Monitor ).
Возврат в режим управляемости
sudo airmon-ng stop wlan0mon
PHY Interface Driver Chipset
phy0 wlan0mon rt2800usb Ralink Technology, Corp. RT3572
(mac80211 station mode vif enabled on wlan0)
(mac80211 monitor mode vif disabled for wlan0mon)
Альтернативный способ перевода в режим монитора
Вы можете использовать альтернативный вариант перевода беспроводного интерфейса в режим наблюдения:
Sudo ifconfig wlan0 down sudo iwconfig wlan0 mode monitor sudo ifconfig wlan0 up
Или в одну строку
Sudo ifconfig wlan0 down && sudo iwconfig wlan0 mode monitor && sudo ifconfig wlan0 up
Проверяем
Sudo iwconfig eth0 no wireless extensions. wlan0mon IEEE 802.11abgn Mode:Monitor Frequency:2.457 GHz Tx-Power=15 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off lo no wireless extensions.
Всё прошло успешно — сетевая карта переведена в режим наблюдения (об этом говорит строка Mode:Monitor ).
Возврат в управляемый режим:
Ifconfig wlan0 down iwconfig wlan0 mode managed ifconfig wlan0 up
Перевод в режим монитора с помощью команд ip и iw
Команды ifconfig и iwconfig признаны устаревшими. Поэтому хотя предыдущий способ попрежнему прекрасно работает, доступна альтернативная его реализация с помощью новых программ. Узнайте имя беспроводного интерфейса:
Sudo iw dev phy#0 Interface wlan0 ifindex 5 wdev 0x3 addr 5a:88:f2:f6:52:41 type managed txpower 20.00 dBm
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
В BlackArch (имя интерфейса wlp2s0 ), последовательность команд выглядит так:
Sudo ip link set wlp2s0 down sudo iw wlp2s0 set monitor control sudo ip link set wlp2s0 up
Команда в одну строку:
Sudo ip link set wlp2s0 down && sudo iw wlp2s0 set monitor control && sudo ip link set wlp2s0 up
Следующая большая команда должна сама определять имя беспроводного интерфейса и переводить его в режим монитора:
T=`sudo iw dev | grep "Interface" | sed "s/Interface //"`;sudo ip link set $t down && sudo iw $t set monitor control && sudo ip link set $t up
Возврат в управляемый режим:
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
NetworkManager препятствует переводу беспроводной карты в режим наблюдения
При определённых условиях NetworkManager может не дасть Wi-Fi адаптеру перевестись в режим монитора. Более того, уже переведённую в режим монитора беспроводную карту он может вернуть в управляемый режим. Поэтому рекомендуется отключать NetworkManager при тестировании на проникновение беспроводных сетей.
В Kali Linux и BlackArch это делается так:
Sudo systemctl stop NetworkManager
Примечание, после отключения NetworkManager пропадёт Интернет!
Режим мониторинга («неразборчивый» режим или режим отслеживания) и нативный или стандартный режим - это два режима захвата данных, поддерживаемых программами и . Захват в режиме мониторинга можно производить с помощью любого , совместимого с нашим драйвером NDIS, либо с помощью профессионального оборудования, такого как карта AirPcap .
В зависимости от выбранного типа захвата можно получить более подробную информацию о сети Wi-Fi. Читайте продолжение, чтобы узнать, какие данные доступны в каждом из режимов захвата!
Нативный режим захвата
Пакет Acrylic WiFi совместим с любыми Wi-Fi адаптерами в нативном режиме захвата или в стандартном режиме. При осуществлении мониторинга в нативном режиме Wi-Fi адаптер ведет себя также, как и любое другое стандартное оборудование Wi-Fi.
Адаптер использует стандартные средства Windows для захвата только определенного типа пакетов Management, а именно пакетов Beacon, которые передаются точкой доступа. Такие пакеты передаются точкой доступа несколько раз в секунду и указывают на то, что в данный момент в сети или сетях осуществляется передача.
Инструменты Acrylic WiFi анализируют и интерпретируют эти пакеты, отображая содержащуюся в них информацию и сохраняя ее в текущем проекте.
При проведении захвата данных в нативном режиме для осуществления замеров не требуется никакое специализированное оборудование .
Информация, доступная в стандартном режиме при использовании Acrylic WiFi Professional
В программе Acrylic WiFi Professional при захвате данных в нативном режиме предоставляется следующая информация: SSID, MAC-адреса, сила сигнала, каналы, пропускная способность, IEEE 802.11, максимальная скорость передачи пакетов, WEP, WPA, WPA2, WPS, пароль, PIN-код WPS, производитель, первое обнаружение точки доступа, последнее обнаружение точки доступа, тип установленного соединения , а также широта и долгота (информация доступна при подключении устройства GPS).
Графики, доступные в программе Acrylic WiFi Heatmaps в стандартном режиме
В программе Acrylic WiFi Heatmaps в нативном режиме захвата можно генерировать следующие отчеты: RSSI, покрытие по точкам доступа, покрытие по каналам, максимальная поддерживаемая скорость передачи, количество точек доступа, перекрытие каналов, данные, сгруппированные по ячейкам, ширина полосы пропускания*, задержка*, потеря пакетов* и роуминг точек доступа*.
*Отчеты доступны при проведении .
Режим мониторинга с использование драйвера NDIS
Режим мониторинга - это режим захвата данных, который позволяет использовать Wi-Fi адаптер в режиме отслеживания или «неразборчивом» режиме. При этом адаптер способен перехватывать любые типы пакетов Wi-Fi: Management (включая пакеты Beacon ), Data и Control. Таким образом можно отобразить не только точки доступа, но и клиенты , которые передают данные на частоте сети Wi-Fi.
Для использования режима мониторинга необходим с нашим драйвером NDIS или профессиональный Wi-Fi адаптер, такой как карты AirPcap , которые поддерживают захват как в нативном режиме, так и в режиме мониторинга.
Для включения режима мониторинга на совместимых с нашим драйвером адаптерах, необходимо установить драйвер NDIS. Это можно сделать в программе Acrylic WiFi с помощью кнопки установки драйвера NDIS, расположенной рядом с кнопкой включения захвата в режиме мониторинга.
Информация, доступная в режиме мониторинга NDIS с помощью Acrylic WiFi Professional
При проведении захвата данных в режиме мониторинга Acrylic WiFi Professional предоставляет не только все данные, получаемые при работе в стандартном режиме, но и информацию о клиентских устройствах, подключенных к различным точкам доступа (#), количестве повторов отправки пакетов (Retries) , пакетах данных (Data) и пакетах типа Management (Mgt) .
Данные, доступные в режиме мониторинга NDIS в программе Acrylic WiFi Heatmaps
При проведении захвата данных в режиме мониторинга можно отобразить не только данные, доступные при захвате в стандартном режиме, но и карту плотности (Cell Density ) (плотность устройств, подключенных к выбранным точкам доступа) и частоту повторов отправки пакетов (Retries rate).
Режим мониторинга с помощью адаптера AirPcap
Кроме того, существует возможность производить захват трафика в режиме мониторинга с использованием профессионального оборудования для анализа сетей Wi-Fi, такого как карты AirPcap компании Riverbed. Эти карты поддерживают работу в нативном режиме и режиме мониторинга и, будучи разработанными специально для этой цели, обеспечивают улучшенную производительность. Поэтому, проводя захват в режиме мониторинга с помощью карты AirPcap, можно получить не только все данные, доступные при работе в режиме мониторинга с помощью адаптера, совместимого с драйвером NDIS, но и информацию о соотношении сигнал-шум (SNR) .
Значение параметра SNR помогает оценить качество связи, так как он учитывает интенсивность получаемого сигнала и уровень шума в беспроводной сети. Параметр может принимать значения от 0 (хуже) до 100 (лучше). Хорошим считается значение выше 60.
Отслеживание параметра SNR доступно как в программе , так и в . Попробуйте сами!
Перевести беспроводную карту в режим монитора (наблюдения) в BlackArch можно с помощью команды iwconfig. Эта команда является частью пакета net-tools. Сам пакет является зависимостью aircrack-ng, т. е. если в BlackArch вы уже установили aircrack-ng, то у вас уже должен быть и этот пакет. Тем не менее, если при попытке использования вы получаете сообщение об ошибке, что команда iwconfig не найдена, то установите следующий пакет:
$ iwconfig enp3s0 no wireless extensions. wlp2s0 IEEE 802.11abgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=15 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off lo no wireless extensions. $
Про enp3s0 нам пишут, что этот интерфейс не имеет беспроводного расширения. lo это вообще не настоящий интерфейс. Т.е. искомое имя беспроводного интерфейса это wlp2s0 .
Кроме имени беспроводного интерфейса, нас интересует запись Mode:Managed. Т.е. интерфейс НЕ находиться в режиме монитора. Перевести его в режим наблюдения можно следующей последовательностью команд:
Sudo ifconfig wlp2s0 down sudo iwconfig wlp2s0 mode monitor sudo ifconfig wlp2s0 up
Или в одну строку:
Sudo ifconfig wlp2s0 down && sudo iwconfig wlp2s0 mode monitor && sudo ifconfig wlp2s0 up
Проверяем снова:
$ iwconfig enp3s0 no wireless extensions. wlp2s0 IEEE 802.11abgn Mode:Monitor Frequency:2.412 GHz Tx-Power=15 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off lo no wireless extensions.
Как видим, интересующая нас строка поменялась на Mode:Monitor, т. е. мы перевели Wi-Fi карту в BlackArch в режим наблюдения.
Можно проверить:
Sudo wifite
Sudo airodump-ng wlp2s0
Да, в BlackArch эти программы нужно запускать обязательно с sudo — это вам не Kali Linux.
Как видно из моих скриншотов, у меня всё прекрасно получилось. А теперь давайте рассмотрим возможные причины неудач.
Почему беспроводная карта в BlackArch не переходит в режим наблюдения
- Для начала убедитесь, что вы работаете не в виртуальном компьютере (VirtualBox, например). В VirtualBox могут работать только USB Wi-Fi карты.
- Убедитесь, что вы правильно набираете команды, не нужно набирать имя моего беспроводного интерфейса — узнайти имя своего командой iwconfig.
- Ну и, наконец, самое печально, но и самое частое — ваша беспроводная карта (или её драйвера) просто не поддерживает режим наблюдения. Если вам интересно изучать эту тему, то не жмитесь и купите себе одну из карт, которые упоминаются в
Сын спрашивает отца-программиста:
– Папа, а почему солнце встает на востоке?
– Ты это проверял?
– Да.
– Работает?
– Да.
– Каждый день работает?
– Да.
– Тогда сынок, ради бога, ничего не трогай, ничего не меняй!
Само-собой, думалось, что проблема именно в Ривер. В нём бесконечно появлялись ошибки вроде «WARNING: Failed to associate with» даже без Pixiewps у меня он перестал что-либо подбирать. Но если присмотреться к работе других программ, например к Wifite, то там такая же проблема — атака на WPS не работает. Penetrator-WPS также не работает.
Ответ подсказал один из посетителей сайта с именем Владимир . Вот его сообщение:
«Замечал у себя проблему, что не всегда airmon переводит карту в режим монитора (название карты изменялось на wlan0mon, но режим оставался managed), в этот раз и penetrator не смог перевести карту в монитор. В итоге в режим монитора карту переводил вручную через iwconfig wlan0 mode monitor. После этого penetrator -i wlan0 -A начал работу»
Владимир, огромное Вам спасибо, что навели на верное решение!
Error for wireless request "Set Mode" (8B06) : SET failed on device wlan0 ; Device or resource busy.
В моём случае (думаю и у других, у кого схожая ситуация с Ривером) оказалось, что карта просто не переводилась в режим монитора.
Это можно сделать, как указал Владимир, следующей командой:
Iwconfig wlan0 mode monitor
Правда команда у меня выдавала следующую ошибку:
Error for wireless request "Set Mode" (8B06) : SET failed on device wlan0 ; Device or resource busy.
Побороть эту ошибку и перевести карту в режим монитора мне позволила следующая последовательность команд:
Ifconfig wlan0 down iwconfig wlan0 mode monitor ifconfig wlan0 up
В результате карта была переведена в режим монитора и программы, использующие этот режим, заработали должным образом.
Сегодняшняя статья — отличный пример того, что наши собственные знания приумножаются, когда мы ими делимся с другими.
Updated on 19.02.2016 By
Уже имеется инструкция « ». Она не перестала быть рабочей, но применяемые в ней программы ifconfig и iwconfig помечены как устаревшие. По этой причине они не устанавливаются по умолчанию и нужно быть готовым к их исчезновению из репозиториев.
Поэтому вашему вниманию предлагается данная актуализированная инструкция. В ней мы не будем задействовать устаревшие команды, а будем использовать новые, которые пришли им на смену.
Итак, начать нужно с того, чтобы узнать имя интерфейса. Ранее для этого мы использовали команду iwconfig без опций, теперь нужно делать так:
$ iw dev phy#0 Interface wlp2s0 ifindex 3 wdev 0x1 addr c4:85:08:e1:67:ed type managed $
Нас интересуют строка Interface wlp2s0 (т. е. имя интерфейса wlp2s0 ). Чтобы два раза не вставать, давайте заодно ещё посмотрим на строку type managed . Т.е. интерфейс находится в управляемом режиме (managed).
Нам нужно перевести его в режим монитора. Сделать это можно так (понятное дело, замените wlp2s0 на имя вашего беспроводного интерфейса — не зря же мы его узнавали). Обратимся к статье на , чтобы найти аналоги команды ifconfig. находим альтернативу и для iwconfig.
В общей сложности у нас получается так:
Sudo ip link set wlp2s0 down sudo iw wlp2s0 set monitor control sudo ip link set wlp2s0 up
Делакам проверку:
$ iw dev phy#0 Interface wlp2s0 ifindex 3 wdev 0x1 addr c4:85:08:e1:67:ed type monitor channel 1 (2412 MHz), width: 20 MHz (no HT), center1: 2412 MHz $
Отлично! Строка type monitor говорит нам о том, что всё получилось.
Каналы менять так:
Sudo iw wlp2s0 set channel <номер желаемого канала>
К примеру, переходим на шестой канал:
Sudo iw wlp2s0 set channel 6
Как видим, всё опять сработало:
Запишем полученные команды в одну строку:
Sudo ip link set wlp2s0 down && sudo iw wlp2s0 set monitor control && sudo ip link set wlp2s0 up
Следующая большая команда должна сама определять имя беспроводного интерфейса и переводить его в режим монитора:
T=`iw dev | grep "Interface" | sed "s/Interface //"`;sudo ip link set $t down && sudo iw $t set monitor control && sudo ip link set $t up
Кстати, давайте вернёмся к команде:
Sudo iw wlp2s0 set monitor control
Самое последнее слово — none — это флаг, бывают следующие флаги:
Набор флагов монитора. Валидные флаги: none: без специального флага fcsfail: показать фреймы с FCS ошибками control: показать контрольные фреймы otherbss: показать фреймы от других BSS cook: использовать режим cooked active: использовать active режим (входящие одноадресные пакеты ACK)
Как вы уже заметили, нам нужен флаг флаг control .
При определённых условиях NetworkManager может не дасть Wi-Fi адаптеру перевестись в режим монитора. Более того, уже переведённую в режим монитора беспроводную карту он может вернуть в управляемый режим. Поэтому рекомендуется отключать NetworkManager при тестировании на проникновение беспроводных сетей.
В BlackArch и Kali Linux это делается так.