Еще не так давно для взлома ключа к беспроводной сети потребовалось бы следующее: откомпилировать и установить под Linux необходимый софт, отыскать редкий беспроводной адаптер на строго определенном чипсете и еще, как минимум, пропатчить для него драйвера, чтобы можно было инжектировать пакеты в сеть. Так ли это сложно сейчас?
Прежде чем начать, напомню несколько важных основ пентеста беспроводных сетей, чтобы освежить их в памяти для тех, кто с этой темой уже знаком, и ввести в курс дела тех, кто раньше с этим вопросом не сталкивался. Последним повезло больше всех, потому как подобрать пароль для беспроводной сети, при условии, что он вообще подбираемый, сейчас стало как никогда просто. Все упирается только в то количество времени, которое потребуется на это потратить.
Итак, беспроводные сети могут быть открытыми, к которым может подключиться любой желающий, и закрытыми, для подключения к которым необходимо ввести ключ. В закрытых беспроводных сетях по-прежнему, хотя и редко, используется защита WEP (Wired Equivalent Privacy), которая безнадежно устарела, и, в большинстве случаев, технология WPA/WPA2 (Wi-Fi Protected Access). Применение WEP — это своего рода приговор, потому что такая защита со 100% вероятностью взламывается из-за фундаментальных уязвимостей.
Ключ к WPA/WPA2, напротив, возможно подобрать с помощью брутфорса, причем успех напрямую зависит от того, есть ли используемый ключ в словаре для подбора или нет. Несмотря на концептуально разные подходы к взлому этих защит есть одно общее звено — для проведения атаки необходимо перехватить беспроводной трафик в сети. С этой задачей справляются специально заточенные для работы с Wi-Fi-снифферы, в том числе утилита airodump, которая является своего рода стандартом де-факто. Правда, просто запустить сниффер и сохранить в дамп зашифрованные данные из эфира недостаточно.
Обязательным требованием является перехват пакетов, которыми клиент обменивается с точкой доступа в момент подключения. В случае с WEP — это так называемые вектора инициализации IV, а в случае с WPA/WPA — последовательность «WPA Handshake». Только эти и другие пакеты, отвечающие за аутентификацию и поддержание соединения, передаются в эфир в открытом виде без шифрования.
Загвоздка заключается в том, что клиент авторизуется на точке доступа довольно редко, и этого момента в общем случае пришлось бы ждать очень долго. Однако если отправить в сеть специально составленный пакет деаунтетификации, то он с большой вероятностью отключит клиента от AP и вынудит его подключиться к ней вновь. Для этого есть специальные утилиты. Авторитетная aireplay — одна из них.
Тут надо сказать, что инжектировать фреймы возможно, если перевести беспроводной адаптер в так называемый режим мониторинга (monitor mode), а под виндой сделать это практически невозможно.
По этой причине и сложилось, что стандартной платформой для игр с Wi-Fi являются *nix-системы. Проще всего эксперименты даются с помощью небезызвестного Backtrack, в который изначально включено все необходимое. Причем для запуска потребуется лишь сделать из дистрибутива загрузочную флешку с помощью утилиты UNetbootin (unetbootin.sourceforge.net). Возвращаясь к теории: когда на руках есть дамп с перехваченными пакетами, в бой вступает утилита непосредственно для взлома ключа. Тут есть разные варианты, но среди прочих выделяется классическая тулза aircrack, которая использует несколько алгоритмов для взлома WEP, а также метод брутфорса для WPA/WPA2. Если все проходит хорошо, на выходе программы пентестер получает ключ для беспроводной сети. Примечательно, что все три утилиты airodump, aireplay и aircrack входят в один пакет утилит Aircrack-ng (aircrack-ng.org).
Из всего этого вырисовывается вполне понятная схема для взлома ключа к беспроводной сети (для определенности, пусть она будет защищена WPA2). Предварительно беспроводной адаптер переводится в режим мониторинга. После этого запускается airodump, чтобы в целом изучить эфир и определить доступные сети. Далее в ход идет сниффер для перехвата данных беспроводных клиентов и строго определенной точки доступа (она указывается по MAC-адресу) на заданном канале, а в сеть с помощью aireplay отправляется deuthпакет, чтобы отключить от точки доступа какого-нибудь пользователя (опять же, по MAC’у). Как только сниффер сообщает о перехвате последовательности WPA Handshake, дамп сниффера скармливается крякеру aircrack, который в свою очередь пытается подобрать ключ по словарю. Все очень просто, но довольно муторно и не очень удобно.
Все утилиты консольные, поэтому постоянно приходится ковыряться с передаваемыми ключами для запуска, копировать туда-сюда нужные MAC-адреса, названия дампов. Перед атакой еще неплохо изменить свой собственный MAС с помощью тулзы macchanger, а чтобы отсоединить пользователя от точки доступа, тулзу aireplay зачастую приходится запускать несколько раз. И если раньше приходилось делать все вручную, то сейчас процесс можно без труда автоматизировать с помощью готовых решений.
Важной составляющей любой атаки, как уже было сказано, является отключение беспроводного клиента от точки доступа, чтобы он заново подконнектился и обменялся пакетами авторизации. Утилиты aireplayng, mdk3, Void11 — все, по сути, предназначены для одного и того же — отправки в беспроводную сеть пакета деаутентификации, чтобы разорвать коннект между клиентом и AP. Они написаны несколько лет назад, и до сих пор активно используются. Концептуально новая разработка была представлена в начале года в Вашингтоне на конференции Shmoocon — это тулза Airdrop-ng. Что она позволяет сделать? Сказать по правде — почувствовать себя маленьким властелином. Дело тут не ограничивается только отключением клиента от точки доступа. Нет. Вместо этого ты можешь полностью управлять подключениями пользователей, разрешая или полностью запрещая им подключения к точке доступа. Политика задается с помощью правил, вроде тех, которые используются в файер воле.
Причем это могут быть очень гибкие правила, позволяющие реализовать все что угодно. Начиная от того, что разом отключить всех пользователей от любых точек доступа (и препятствования их подключению вновь), и заканчивая сложными правилами, когда коннект разрешается только для строго определенной точки доступа, но и то только для конкретных клиентов (скажем, для ноутбуков компании Dell). Это очень круто.
Правила записываются в текстовом виде в специальный файл и считываются программой последовательно от первого до последнего. Каждое правило состоит из трех полей: action/ap/client. С помощью поля action правила разделяются на разрешающие (a — allow) и запрещающие (d — deny). Параметры «ap» и «client» указывают соответственно на точку доступа и клиентов, к которым это правило применяется. Общий синтаксис такой:
a(allow)/bssid mac(or 'any')|client mac(or 'any')
или
d(deny)/bssid mac(or 'any')|client mac(or 'any')
По умолчанию Airdrop-ng пропускает весь беспроводной трафик, что не сильно весело.
Возьмем для примера простое правило: d/00-11-22-33-44-55|any. Оно будет запрещать любым (any) клиентам подключаться к точке доступа, у которой MAC-адрес — 00:11:22:33:44:55. Вместо целого MAC’а можно было указать только первые три составляющие, которые, как известно, закрепляются за конкретными производителями. Более того, можно даже задать название вендора в строковом виде (d/Linksys|any): программа в этом случае сама заглянет в базу Company OUI, где найдет соответствие «производитель — MAC-адрес» и подставит нужное значение. Те же самые правила относятся и клиенту. К примеру, так можно ограничить возможность Wi-Fi для всей продукции Apple: d/any|Apple. Еще одна особенность: в параметре client может быть указан список из разных MAC-адресов, например, 11:22:33:44:55:66,00: 11:22:33:44:55,55:44:33:22:11:0. Теперь посмотрим, как это выглядит на практике.
Airdrop-ng написан на Python и требует для работы установленный airodump-ng и библиотеку Lorcon 1. Но если использовать Backtrack, то все необходимое и сама утилита без проблем установится из стандартного репозитория:
apt-get update apt-get install airdrop-ng
Схема использования мало чем отличается от знакомых нам атак:
1) Первым делом надо перевести Wi-Fi-карту в режим мониторинга:
airmon-ng start wlan0
2) Далее запустить беспроводный сниффер airodump, сконфигурировав его вывод в .csv-файл:
airodump-ng -w dumpfile --output-format csv mon0
3) После этого создаем файл с правилами для AirDrop. Возьмем для примера описанное выше правило, запрещающее соединения с AP, у которой mac = 00-11-22-3344-55, и запишем его в файл rules:
nano rules d/00-11-22-33-44-55|any
4) Все, осталось запустить сам airdrop-ng, прилинковавшись к csv-выводу сниффера и конфигу с правилами:
airdrop-ng -i mon0 -t dumpfile.csv -r rules
Утилита начнет свою работу, выводя сообщения об отправленных в сеть пакетах. Если помимо прочего указать ключ «-b», дополнительно будет выводиться подробный отчет. В результате на консоль будут выводиться сообщения, каким клиентам и где было разрешено или запрещено соединение. Как я уже сказал, условия могут быть намного более гибкими, это достигается с помощью каскада правил:
#Allow-правило a/00-11-22-33-44-55|55-44-33-22-11-00 #Deny-правило d/00-11-22-33-44-55|any
Таким образом, мы разрешаем доступ к точке клиенту с MAC-адресом 55-44-33-22-11-00, в то время как для всех остальных соединение по-прежнему останется недоступным. Получается, Airdrop-ng можно использовать как простейшую систему контроля доступа :). И это без какоголибо доступа к админке точки!
Опытные умы, наверное, уже догадались, какие возможности предоставляет Airdrop-ng в плане проведения MITMатаки. Раз мы можем влиять на то, с какими AP имеет возможность работать беспроводной клиент, никто не мешает направлять его подключения к нашей особенной точке доступа, а на ней снифать весь проходящий трафик.
Человек видит на ноутбуке сеть «Free Wi-Fi», подключается к ней и никогда не подозревает, что это вовсе не точка доступа заведения, в котором он находится, а подставная AP-шка, развернутая на ноутбуке с соседнего стола. Атака Evil Twins (или Rogue AP) известна еще с 2004 года и основывается на небезопасном поведении беспроводных клиентов. В людном месте с помощью специального софта поднимается точка доступа, которая отвечает на все probe-запросы, в которых клиент просит отозваться точки доступа с указанными параметрами. Фальшивой точке, как правило, устанавливается ESSID той беспроводной сети, которая легитимно развернута внутри помещения, поэтому клиент, ничего не подозревая, подключается к ней. Раньше многое зависело от уровня сигнала, который ты можешь предложить: чем он выше, тем больше шансов, что клиент подключится именно к твоей точке доступа. Сейчас же, когда появился способ насильно подключить клиента к своей AP, эта атака выводится на совершенно новый уровень. Для последнего потребуется Airdrop-ng и два правила, запрещающие соединение с любыми AP, кроме фейковой (пусть у нее IP будет равен 00:aa:bb:cc:dd:ee):
a/00:aa:bb:cc:dd:ee|any d/any|any
Далее дело за традиционным софтом для проведения атаки Rogue AP. Методика впервые была реализована в тулзе KARMA еще в 2004 году. Позже проект был реализован как модуль Metasploit, и получившийся Karmetasploit (bit.ly/Karmetasploit) сейчас является одним из наиболее удачных решений для проведений атаки. Подробности использования доступны на сайте проекта. Пригодится также опыт разработчиков Airdrop-ng, который можно почерпнуть из их презентации на Shmoocon (www.shmoocon.org/2010/slides/wifibomb.zip). Хотя есть и другой, более простой и изящный способ — воспользоваться специальным девайсом, о котором ты можешь прочитать во врезке. Но он по понятным причинам и более дорогой.
Дистрибутив Backtrack –это, по большому счету, готовый сборник софта для тех, кто не хочет париться с поиском утилит для пентеста. Но если говорить о взломе Wi-Fi, то сборники бывают не только программ, но и оборудования.
Перед тем, как экспериментировать, нужно убедиться, что беспроводной адаптер может работать в режиме мониторинга. Лучший способ — свериться со списком поддерживаемого оборудования на сайте проекта Aircrack-ng (bit.ly/wifi_adapter_list). Если же встанет вопрос о том, какой беспроводный модуль купить, то начать можно с любого адаптера на чипсете RTL8187L. USB’шные донглы легко найти в интернете за $20.
Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…
Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…
Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…
С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…
Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…
Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…
View Comments