В этой статье я покажу несколько простых и распространенных, но довольно эффективных приемов из практики пентеста сетей Wi-Fi: скрытие MAC-адреса при сканировании сети и атаке на WPA2, выявление «спрятанных» сетей, обход MAC-фильтрации и глушение чужой точки доступа.
Все советы настоятельно рекомендуется использовать только в целях образования. Блокировка передачи данных и применение рассмотренных средств может преследоваться по закону. Для проведения тестов на проникновение требуется получить соответствующее письменное подтверждение заказчика. Помни, что данные о деавторизации сохраняются в логах роутера.
MAC (Media Access Control) — уникальный идентификатор, выдается каждой единице активного оборудования (то есть сетевому адаптеру, роутеру, свичу и так далее) или некоторым их интерфейсам.
MAC прошит в оборудование при изготовлении и используется в сети для идентификации отправителя и получателя фрейма. Предполагается, что при появлении в сети нового устройства администратору не придется задавать ему MAC вручную.
MAC уникален (или, по крайней мере, должен быть) для каждого сетевого интерфейса. При этом у устройства их может быть несколько — например, у ноутбуков их как минимум два: один у контроллера проводного подключения по Ethernet, второй — у адаптера Wi-Fi. У роутера или у свитча адреса уникальны для каждого порта, а если это роутер Wi-Fi, то различаться будут адреса у каждого беспроводного интерфейса (у современных роутеров это 2,4 ГГц и 5 ГГц).
MAC позволяет однозначно идентифицировать устройство и не меняется при смене операционной системы — он прошит в микросхему, которая предоставляет сетевой интерфейс.
Пентестеры и хакеры скрывают свой MAC, чтобы не допустить идентификации оборудования при атаке. Думаю, ты понимаешь, зачем это может понадобиться: если использовать реальный MAC, то он может быть засвечен при подключении к другим сетям. Существуют и средства сопоставления MAC с географическими координатами — например, скрипт iSniff-GPS из набора Kali.
Итак, предположим, что ты используешь Linux. Давай посмотрим, как сменить MAC без использования дополнительных программ.
Открывай терминал и вводи команду
$ ifconfig | grep HWaddr
Если ты используешь Ethernet, то посмотреть адреса адаптеров можно так:
$ ifconfig | grep ether
Чтобы временно изменить свой MAC, нужно выключить соответствующий сетевой интерфейс. Например, для интерфейса eth1 команда будет такой:
$ ifconfig eth1 down
Теперь можно сформировать новый MAC.
$ ifconfig eth1 hw ether 00:00:00:00:00:11
Цифры, как ты понимаешь, в этот шаблон можешь подставить любые.
Теперь нужно снова поднять eth1.
$ ifconfig eth1 up
И последнее — нужно проверить, вступили ли изменения в силу. Если ты снова посмотришь список MAC, то увидишь, что интерфейс изменился. Однако после перезагрузки компьютера старое значение MAC вернется.
Было бы удобно, если бы MAC изменялся каждый раз при подключении к сети. В этом нам поможет пакет NetworkManager. Начиная с версии 1.4 эта программа поддерживает спуфинг MAC, причем у нее есть много полезных опций.
Для каждой группы «проводные» (ethernet) и «беспроводные» (wifi) правила MAC настраиваются отдельно.
Также помни, что беспроводной адаптер может находиться в одном из двух состояний:
wifi.scan-rand-mac-address
. По умолчанию yes
, то есть во время сканирования будет устанавливаться произвольный MAC-адрес. Если выбрать no
, то этого происходить не будет;wifi.cloned-mac-address
, по умолчанию его значение равно preserve
.Для проводного интерфейса (свойство ethernet.cloned-mac-address
) и беспроводного интерфейса в состоянии подключения (wifi.cloned-mac-address
) доступны следующие варианты:
NetworkManager настраивается через файл /etc/NetworkManager/NetworkManager.conf
. Как вариант, можешь добавить дополнительный файл с расширением .conf в директорию /etc/NetworkManager/conf.d
(называться конфиг при этом может как угодно). Я рекомендую именно второй способ, поскольку при обновлении NetworkManager обычно заменяет главный .conf, и если ты вносил в него изменения, то они пропадут.
Если ты хочешь, чтобы при каждом подключении подменялся MAC-адрес, но при соединении с одной и той же сетью использовался одинаковый MAC, то надо добавить пару строк в конфиг. Вот они:
[connection] ethernet.cloned-mac-address=stable wifi.cloned-mac-address=stable
Свойства ethernet.cloned-mac-address
и wifi.cloned-mac-address
можно задавать по отдельности или вместе.
Проверить значения ты можешь, набрав ip a
, а чтобы изменения вступили в силу, нужно перезапустить NetworkManager:
$ sudo systemctl restart NetworkManager
Теперь подключайся к беспроводной сети и снова проверяй значения MAC.
Для одних и тех же сетей будут генерироваться одинаковые адреса. Если же ты хочешь, чтобы адреса всегда были разными, настройки будут такими:
[connection] ethernet.cloned-mac-address=random wifi.cloned-mac-address=random
Предположим, нам нужно использовать какой-то определенный MAC. Для этого снова будем править /etc/NetworkManager/conf.d/mac.conf
.
Чтобы задать MAC для проводного интерфейса, добавляй такие строки:
[connection] ethernet.cloned-mac-address=<новый MAC>
Чтобы задать MAC для беспроводного соединения — вот такие:
[connection] wifi.cloned-mac-address=<новый MAC>
Вместо <новый MAC>
, естественно, следует написать нужный MAC-адрес. И конечно, можно задать настройки для проводного и беспроводного соединения одновременно.
Обрати внимание, что при использовании этого метода MAC будет изменяться только после того, как ты подключишься к сети. До этого у интерфейсов будут их исходные адреса. Исключением может быть Wi-Fi, если ты уже настроил спуфинг, как показано выше. Для отмены спуфинга добавляй в конфиг такие строки:
[device] wifi.scan-rand-mac-address=no
И перезапускай службу, чтобы изменения вступили в силу.
Менять MAC умеет не только NetworkManager. На самом деле существует много способов сделать это при помощи как сторонних программ, так и системных служб. Чтобы мы могли отслеживать результаты, измени настройки NetworkManager:
[device] wifi.scan-rand-mac-address=no
Теперь он не будет спуфить MAC во время сканирования беспроводных сетей.
Поскольку в настройках NetworkManager не заданы параметры ethernet.cloned-mac-address
и wifi.cloned-mac-address
, будет использоваться значение по умолчанию (preserve
), даже если MAC был изменен другими программами.
Примеры дальше я буду выполнять в Kali Linux и менять настройки для адаптера Wi-Fi. Особенность всех этих способов в том, что изменения будут теряться после перезагрузки системы либо после переподключения адаптера.
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее
1 год7690 р. |
1 месяц720 р. |
Я уже участник «Xakep.ru»
Читайте также
Последние новости