Как обойти фильтрацию по MAC адресу

Фильтрация по MAC адресу (наряду с созданием «скрытой») точки доступа Wi-Fi - это ещё один негодный способ защиты, который обходится на раз-два. И при всей своей негодности, он может доставить неприятности законным пользователям Wi-Fi. Например, вы настроили ваш беспроводной роутер, включили фильтрацию по MAC адресу и всё хорошо работает. Через пару месяцев к вам пришёл друг и просит подключиться к вашему вай-фаю — если вы ещё не забыли, что у вас фильтрация MAC адресов, то вам от имени администратора нужно лезть в настройки роутера и вбивать ещё один MAC адрес. Или же через год (к этому времени точно забудете про ваши настройки), вы купили себе новый телефон или ноутбук и потратили вечер, чтобы разобраться, почему на нём не работает интернет…

А вот теперь смотрите, как злоумышленники обойдут вашу защиту — зачастую, им на это нужно меньше времени, чем вам перейти в административную панель роутера и вбить туда новый MAC адрес… Именно поэтому я и называю это средство защиты негодным.

Как изменить MAC адрес

Большинство сетевого оборудования позволяет легко менять MAC адреса из графического интерфейса. В любом случае, сейчас не стоит затрагивать эту тему — если у вас проблемы со сменой, то поищите в Гугле инструкции для вашего устройства.

В Linux изменить MAC своего адаптера можно следующим образом (работает как для проводных сетей, так и для беспроводных):

ifconfig wlan0 down 
ifconfig wlan0 hw ether 00:11:22:AA:AA:AA 
ifconfig wlan0 up

Предварительно нужно отключить любые mon-интерфейсы. Проверить, заработала ли подмена, можно вызвав ifconfig wlan0 — в строке Hwaddr должен быть указанный выше MAC.

Кроме того, в *nix есть macchanger — с его помощью можно выставить себе случайный MAC. Если поставить его в init.d, то неприятель будет совершенно сбит с толку, так как при каждой загрузке наш MAC будет другим (работает для любых проводных и беспроводных адаптеров, как и ifconfig).

# Случайный MAC:
macchanger -r wlan0 
# Определённый MAC:
macchanger -m 11:22:33:AA:BB:CC wlan0 
# Показать MAC:
macchanger -s wlan0 

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

  • /var/lib/ieee-data/oui.txt
  • /var/lib/ieee-data/oui36.txt.
  • /var/lib/ieee-data/iab.txt
  • /var/lib/ieee-data/mam.txt

А обновить базу данных можно командой

airodump-ng-oui-update

Намного важнее другой вопрос: какой именно MAC адрес является валидным, на какой адрес нужно менять?

На вскидку я могу назвать минимум три способа узнать MAC адреса, которые находятся в белом списке фильтра. О двух из них я расскажу здесь. Это:

  • посмотреть MAC адрес клиента, подключённого к точке доступа. Это можно сделать с помощью Airodump-ng
  • подобрать MAC адрес методом перебора (по словарю или брутфорсингом). Это можно сделать с помощью программы mdk3

Как узнать MAC адреса из белого списка

В этом нам поможет программа Airodump-ng. Переводим нашу беспроводную карту в режим монитора и запускаем Airodump-ng.

ifconfig wlan0 down && iwconfig wlan0 mode monitor && ifconfig wlan0 up
airodump-ng wlan0

Например, на этом изображении хорошо видно, что точка доступа Kitty имеет, по крайней мере, двух клиентов. Их валидные MAC адреса здесь же (смотрите поле STATION).

24

Бывает так, что не получается увидеть сразу клиентов для определённых точек доступа. Т.е. какие-то клиенты присутствуют, но программа собрала ещё недостаточно сведений, чтобы сопоставить их с какой-либо из ТД. Для этого нам нужно применить атаку деаутентификация: если у ТД есть хоть один клиент, то мы это увидим сразу после его переподключения.

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

Для деаутентификации останавливаем Airodump-ng и запускаем снова, только уже с указанием канала интересующей нас ТД.

airodump-ng wlan0 --channel 1

И после этого «пуляем» пакеты деаутентификации и смотрим на экран:

aireplay-ng -0 5 -a 20:25:64:16:58:8C wlan0

Например, я не видел клиентов для точки доступа SecondaryAP.

20:25:64:16:58:8C  -34 100     1270      601    0   1  54e  WPA2 CCMP   PSK  SecondaryAP

После выполнения атаки «раскрылся» один из клиентов:

20:25:64:16:58:8C  20:02:AF:32:D2:61  -48    0e- 0e     0      290  SecondaryAP

Его MAC 20:02:AF:32:D2:61 — это точно адрес из белого списка, ведь в ином случае он не смог бы подключиться.

Плюсы раскрытия MAC адреса с помощью Airodump-ng:

  • Быстрота по сравнению с брутфорсом, особенно при использовании атаки деаутентификация

Минусы раскрытия MAC адреса с помощью Airodump-ng:

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

Подбор MAC адреса методом перебора (по словарю и грубой силой)

В этом нам поможет программа mdk3, а именно - её режим брутфорса фильтра MAC.

Этот тест использует список известных MAC адресов клиентов и пытается пройти аутентификацию с ними в заданной ТД, при этом динамически изменяется таймаут ответа для лучшей производительности. В настоящее время это работает на ТД, которые отклоняют должным образом открытый запрос аутентификации

Плюсы раскрытия MAC адреса с помощью mdk3:

  • Возможен подбор даже если у Wi-Fi нет подключённых клиентов

Минусы раскрытия MAC адреса с помощью mdk3:

  • Как правила, занимает больше времени
  • «Шумность» метода: ваша активность точно будет замечена системами монитора беспроводных сетей (если эти системы есть) и может быть расценена как подозрительная

В программе mdk3 нас интересует режим f — Режим брутфорса фильтра MAC.

Примеры использования команд:

mdk3 wlan0 f -t 20:25:64:16:58:8C -m 00:12:34

Здесь mdk3 — имя программы, f указывает на режим брутфорса фильтра MAC, -t 20:25:64:16:58:8C это BSSID целевой ТД, -m 00:12:34 устанавливает диапазон MAC адресов для использования (3 байта, например, 00:12:34). Если не указана -m, то будет использоваться внутренняя база данных.

41

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

mdk3 wlan0 f -t 20:25:64:16:58:8C -f 00:12:34:00:00:25

Все опции такие же, кроме одной новой: -f 00:12:34:00:00:25 — здесь установлен MAC адрес с которого будет начат брутфорс.

Вы не можете использовать -f и -m в одно время. Но можно запускать программу вообще без этих двух опций:

mdk3 wlan0 f -t 20:25:64:16:58:8C

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

Итак, белый список MAC адресов не увеличивает реальную защиту беспроводной сети. Он затрудняет использование ТД легитимными пользователями, поэтому его, наравне с созданием скрытых сетей Wi-Fi (подробности смотрите в статье «Как узнать имя скрытой сети Wi-Fi») следует относить к негодным средствам защиты сети.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *