Даже если ИТ инфраструктура регулярно проверяется на предмет установки несанкционированных устройств, ключ к закрытой с помощью WPA-PSK 802.11 сети невозможно подобрать атакой по словарю, либо же применена конфигурация WPA-802.1х (WPA-Industry) с использовнием безопасных типов EAP (например, EAP-TLS или EAP-FAST) и частой сменой ключей, всё равно остается возможность успешных "латеральных" беспроводных атак. И наиболее угрожающим типом подобных "атак в обход" являются атаки против неассоциированных клиентских хостов.
Андрей Владимиров (andrew arhont.com), соавтор книг Wi-фу: "боевые" приемы взлома и защиты беспроводных сетей и Hacking Exposed Cisco Networks (Hacking Exposed)
Принятие стандарта безопасности 802.11i и постепенное распространение сетей на основе WPA-сертифицированных устройств придало многим уверенность в высокой степени защищенности их беспроводной инфраструктуры. И действительно, при продуманной и тщательной настройке безопасности WPA-защищенной сети, её взлом "в лоб" практически невозможен, если не считать взломом атаки по отказу в обслуживании (DoS) на первом и втором уровнях OSI модели. Тем не менее, расслабляться не следует. Даже если ИТ инфраструктура регулярно проверяется на предмет установки несанкционированных устройств, ключ к закрытой с помощью WPA-PSK 802.11 сети невозможно подобрать атакой по словарю, либо же применена конфигурация WPA-802.1х (WPA-Industry) с использовнием безопасных типов EAP (например, EAP-TLS или EAP-FAST) и частой сменой ключей, всё равно остается возможность успешных "латеральных" беспроводных атак. И наиболее угрожающим типом подобных "атак в обход" являются атаки против неассоциированных клиентских хостов.
Общая идея данного подхода очень проста и заключается в следующем:
В 2007-ом году все выпускаемые лаптопы и ноутбуки будут иметь встроенную поддержку Wi-Fi. Та же судьба вскоре ждет большинство, если не все наладонники и смартфоны. Да и сейчас очень многие клиентские устройства (вспомним Интел Центрино) имеют такую поддержку включенной и постоянно ищущей сеть для ассоциации, часто - без ведома их владельцев. Данный факт игнорируем большинством системных администраторов организаций и компаний, и даже профессионалы в сфере ИТ безопасности подчастую ищут исключительно несанкционированные точки доступа и ад-хок сети, не уделяя достаточное внимание этим "скучным" Probe Request фреймам от "потерянных" клиентов. Казалось бы, "отлов" таких клиентских хостов атакующими до невероятности прост. Но есть ряд практических ньюансов, которые необходимо знать кракеру или пентестеру для успешного осуществления подобного рода атак. Именно рассмотрению этих ньюансов и посвящена данная статья.
Для начала нам необходимо знать, согласно какому алгоритму клиентские устройства автоматически ищут сети для подсоединения. Будут ли они ассоциироваться с любой обнаруженной 802.11 сетью с достаточно мощным сигналом ? А если таких сетей несколько ? На чем будет основан их выбор ? Kaк насчет сетей с "закрытым" ESSID и сетей, защищенных с помощью WEP или WPA ? Ответы на эти вопросы зависят как от операционной системы клиентского хоста, так и от испольуемой им беспроводной аппаратной части, её драйверов и пользовательских настроек. Здесь мы рассмотрим две самые распространенные операционные системы под которыми работает большинство подобных устройств - Майкрософт Windows и MacOS X.
"Алгоритм беспроводной самонастройки" (АБС, Wireless Auto Configuration Algorithm) в Windows XP и Windows Server 2003.
Данный алгоритм оперирует с двумя списками 802.11 сетей - Списком Доступных Сетей (СДС) и Списком Предпочитаемых Сетей (СПС). СДС представляет из себя список сетей, ответивших на широковещательные Probe Request фреймы при последнем активном скане. СПС есть список сетей, к которым было установлено полноценное соединение в прошлом. Последние сети, с которыми было ассоциировано устройство, идут в данном списке первыми. Описание сети в обоих списках содержит её ESSID, канал и метод шифрования - "открытый текст", WEP или WPA. Итак, как же используются эти списки в процессе работы АБС ?
Таким образом, установка атакующим программной точки доступа с произвольным ESSID имеет мало шансов на успех даже при большой мощности её сигнала. "Мы пойдем другим путем."(С)
В первую очередь рассмотрим очевидные слабости данного алгоритма. В первую очередь, во время "второго раунда" АБС (пункт 3 выше), клиентское устройство фактически раскрывает содержание СПС. Представим себе ситуацию, когда такой хост находится вне досягаемости его "родной" сети. Например, корпоративный лаптоп взят сотрудником на дом или в коммандировку (и используется в аэропорту, самолете, гостинице и так далее). Для обнаружившего такой лаптоп атакующего не составит особого труда определить первую сеть в СПС по ESSID посылаемых устройством Probe Request фреймов, и установить именно это значение ESSID на своей точке доступа. То же самое относится и к поиску ад-хок сетей СПС. Если первая сеть СПС защищена и требует WEP или WPA ключ для подключения, идем далее по списку и ищем в нем открытую сеть, включая ад-хок WLANы. Вероятность нахождения такой сети достаточно велика. К примеру, большинство Wi-Fi хотспотов используют методы защиты беспроводной передачи данных на более высоких уровнях OSI модели, обычно на седьмом (можно также вспомнить и NoCat шлюз, иногда используемый в сообществах любителей Wi-Fi). Подключение к таким сетям оставит описание "незащищенной" (на 2-ом уровне) сети в СПС, которым без проблем может воспользоваться атакующий. Или, ещё один пример. Два пользователя устанавливают ад-хок соединение на несколько минут для передачи единственного файла. Вероятность того, что они будут защищать подобное соединение используя WEP или WPA-PSK достаточно низка. И действительно, кто обнаружит и успеет атаковать это соединение в течении двух - трех минут, особенно если передаваемый файл не имеет никакой конфиденциальности? Однако, в СПС обоих устройств останется описание незащищенной ад-хок сети!
Подобное описание ведет ко второй слабости. При отсутствии такой ад-хок сети поблизости (крайне вероятный сценарий, учитывая то, что ад-хок соединения обычно ставятся на короткие промежутки времени и часто - с новым ESSID каждый раз), Windows клиент установится в постоянном режиме работы как ад-хок узел, ожидающий других клиентов (пункт 5 выше). Так почему бы не стать таким клиентом, взяв себе один из RFC 3330 адресов, и не провести широковещательный пинг или послать ARP запросы (или же просто "посниффать" эфир на предмет NetBIOS пакетов) для обнаружения IP адреса жертвы и проведения дальнейших атак ? Причём, для подобного подключения не требуется никакого взаимодействия со стороны пользователя. Оно является полностью автоматическим.
Наконец, при отсутствии незащищенных и ад-хок сетей в СПС, и включенного флага "Подсоединиться к Непредпочитаемым Сетям", наш алгоритм достигнет установки клиентской карточки в "режим ожидания" с посылкой Probe Request фреймов с длинным псевдослучайным ESSID (пункт 7 выше). Проблема в том, что эти "загадочные" ESSID значения являются вполне "рабочими". То есть, достаточно установить по соседству точку доступа с таким ESSID, и клиент благополучно на нее "клюнет", чтобы получить IP адрес через DHCP и подвергнуться дальнейшим атакам. Следует сказать, что данная проблема уже устранена в Longhorn, но до тотального перехода на эту операционную систему ещё далеко. А теперь самое интересное: так как сеть с длинным псевдослучайным ESSID отсутствует в СПС, подсоединение к такой сети не только не требует никакого взаимодействия со стороны атакуемого пользователя, но даже и не будет показано как существующее индикатором беспроводной связи Windows XP. Данный индикатор будет говорить, что устройство не ассоциировано с какой-либо Wi-Fi сетью, и только контрольная панель установки сетевых опций Windows покажет наличие соединения и присвоенного IP адреса. Чтобы охладить пыл беспроводных кракеров, следует упомянуть, что последние версии драйверов 802.11a/b/g карточек с Atheros чипсетом хоть и отсылают Probe Request фреймы с псевдослучайными ESSID, но не поддерживают автоматическое соединение с точками доступа, настроенными с такими ESSID значениями.
Что же делать атакующему если, как было сейчас упомянуто, автоматическая ассоциация используя псевдослучайные ESSID невозможна, а СПС не содержит незащищенных на втором уровне сетей ? Если сети, к которым подсоединялось атакуемое устройство, защищены с помощью неподбираемого по словарю WPA-PSK либо WPA-802.1х с использованием EAP-TLS, то на данный момент перспектив успешного взлома не видно. Если по крайней мере одна такая сеть была защищена с помощью WPA-802.1х с использованием EAP-TТLS или EAP-PEAP, то существует возможность проведения атак на данные протоколы согласно алгоритмам, описанным в презентации небезызвестной хак-группы Shmoo "Тhe Radical Realm of Radius, 802.1x, and You" (вы можете загрузить эту замечательную презентацию с http://www.layerone.info/2005/presentations/Radical%20Realm%20of%20RADIUS.pdf). В то время как в задачу данной статьи не входит описание атак против EAP-TТLS и EAP-PEAP, предложенных в данной презентации, следует отметить, что рассматриваемый нами случай охоты (а вернее "рыбалки") на клиентские устройства идеален для проведения таких Shmoo атак, как PAP-PULL и PAP-PEEK. Почему? В первую очередь из-за того, что атакующему не мешает легитимная точка доступа и нет никакой нужды в проведении постоянных затоплений фреймами деассоциации или деаутентификации, поскольку атакуемое клиентское устройство по определению ни с чем не ассоциированно! Последний момент значительно облегчает проведение этих атак с Windows платформ. Впридачу, подобного рода атаки весьма "шумные", а в нашем случае атакуемые клиентские устройства находятся вне пределов досягаемости корпоративной системы обнаружения несанкционированного беспроводного доступа (wIDS). А везучий кракер может напороться и на клиентский хост, содержащий в СПС сеть, защищенную устаревшим EAP-MD5. Для успешного присоединения такого устройства достаточно поднять hostapd демон, приходящий с HostAP драйвером Jouni Malinen'a для карточек с Prism 2 - 3 чипсетом, при этом включив его ограниченную RADIUS-функциональность с автоматической аутентификацией суппликантов вне зависимости от присылаемых ими пакетов квитирования. Эта классическая атака против EAP-MD5 была детально описана нами в "Wi-Фу".
Говоря об устаревших механизмах защиты 802.11 сетей, невозможно не упомянуть избитый всеми WEP. И атаки на него могут быть применены и против отдельных клиентских устройств, сети в СПС которых "защищены" с помощью WEPа. Если все ад-хок сети в СПС имеют WEP в своих установках, то и произвольная ад-хок конфигурация с RFC 3330 адресом, как описано в пункте 5 выше, будет использовать WEP. Проблема в том, что такой ад-хок узел не будет "соблюдать тишину" - достаточно вспомнить хотя бы отсылку NetBIOS HELLO пакетов каждые 2 секунды. Соответственно, подобного рода трафик может быть успешно утилизирован для взлома WEP ключа различными методами, от простого перебора по словарю с помощью WepAttack до акселерации взлома путем иньекции пакетов используя Christopher Devine's aireplay (модифицированная атака ложной аутентификации либо интерактивная реиньекция пакетов, с помощью которых можно заставить одиночный ад-хок клиент послать зашифрованный ARP пакет для последующей ARP реиньекции).
Ещё более интересный пример - клиенты с псевдослучайным ESSID (пункт 7) и WEPом, которые "возникают" в тех случаях, когда все сети, перечисленные в СПС, являются защищенными. Сам факт того, что при наличии в этом списке и WPA-защищенных сетей, всё равно используется WEP - это уже уязвимость. Но, более того, так как установки подобной сети нигде не определены и "самоконфигурируются" без участия пользователя, атакующая точка доступа способна навязать таким клиентам небезопасный метод 802.11 аутентификации с использованием распределенного WEP ключа. Навязывая этот метод, кракер может послать клиентскому устройству challenge строку с известным текстом и получить обратно её же, заXORенную с частью RC4 потока. Таким образом, заXORив полученное с первоначальным текстом, атакующий узнает 144 байта RC4 потока для заданного вектора инициализации (IV). У этой атаки много возможных применений. В частности:
В любом из вышеперечисленных случаев, одиночное клиентское устройство требующее соединение, защищенное WEPом, трудно назвать неуязвимым.
В следующей части статьи мы обсудим атаки на клиентские Wi-Fi устройства, работающие под МacOS Х, а также имеющиеся Linux - имплементации, дальнейшие возможности и методы защиты от подобных атак.
Курс Защита беспроводных сетей читается ведущими экспертами в области беспроводного нападения и защиты, и охватывает последние разработки в области безопасности стандартов 802.11a/b/g, включая новые беспроводные протоколы и стандарты безопасности, а также продвинутые методы нападения и взлома беспроводных сетей, используемые как профессиональными аудиторами по безопасности, так и хакерами. Oбьясняются нестандартные методики защиты беспроводных локальных сетей и методы физического нахождения нападающего. Курс также обеспечивает интенсивное введение в работу с 802.11 сетями и охватывает аспекты управления беспроводной защиты, такие как разработку беспроводной политики безопасности.
Лечим цифровую неграмотность без побочных эффектов