Считается, что при использовании Wi-Fi «зона риска» обычно не превышает пары десятков метров. Так, во многих компаниях по Wi-Fi передают конфиденциальные данные, наивно полагая, что раз зона покрытия надежно охраняется, то сеть в безопасности. Но что, если я покажу тебе, как можно незаметно поймать, проанализировать и даже полностью парализовать закрытую Wi-Fi-сеть, находясь от нее на расстоянии почти в полкилометра?
Wi-Fi. Что может быть проще? Каждый квадратный метр крупного города покрыт несколькими беспроводными сетями. Точки доступа есть везде, а уж «бесплатный соседский Wi-Fi», который есть в каждом доме, стал для многих важным каналом доступа в интернет. Беспроводная сеть есть на каждом крупном мероприятии и служит не только для развлечения участников, во многом она заменяет проводную сеть. Многие портативные устройства просто невозможно подключить к стационарной сети.
Однако, помимо бытового применения, Wi-Fi нашел свое место и в более серьезных областях. Этот протокол используют вполне «серьезные» устройства вроде платежных терминалов и банкоматов. Кроме того, бывает, что нет возможности или экономически нецелесообразно тянуть провода на большое расстояние. В этом случае при наличии прямой видимости используется направленный Wi-Fi-канал. Дальность передачи сигнала при этом может достигать нескольких километров.
Очевидно, что чем больше информации передается «по воздуху», тем острее становятся вопросы, связанные с безопасностью и защитой. А практика показывает, что даже проводные сети не защищены от физического внедрения, особенно на большой протяженности (более подробно о внедрении в проводные сети я писал в статье «Троянский пони» пару номеров назад). Что же тогда можно сказать о беспроводной сети, физический доступ к которой открывается из любого места, куда распространяются радиоволны? Казалось бы, получить доступ к такой сети не составит труда, однако на практике в городской среде все оказывается не так просто.
Практика радиоперехвата настолько же тривиальна, насколько и идея передачи информации по радиоканалу. Что касается перехвата Wi-Fi-сигнала, существует даже отдельный термин — вардрайвинг (от wardriving), который встречается все чаще, а напрасно. Как ты мог догадаться из названия, изначально под вардрайвингом подразумевалась установка специального комплекса на автомобиль и передвижение на нем в районах, где могли быть беспроводные сети, через которые передается важная информация. К примеру, вокруг крупных бизнес-центров или правительственных зданий. В теории для защиты от подобных атак необходимо создать вокруг таких объектов так называемую контролируемую зону. В реальности же при сегодняшней плотности городской застройки подобные мероприятия невозможны.
Но технологии не стоят на месте, а с ними меняется и тактика злоумышленников. В наши дни специалисты по информационной безопасности говорят о том, что работе «по площадям» приходят на смену таргетированные атаки, и вардрайвинг не исключение. Злоумышленников все больше интересуют конкретные цели и конкретные сети.
Именно возможность подобного таргетированного перехвата Wi-Fi-сигнала мне и предстояло установить в рамках небольшого исследовательского проекта. В мои задачи входило создание устройства для перехвата сигнала беспроводной сети в условиях, «приближенных к боевым», то есть на максимальной дистанции в условиях городской застройки и высокого уровня шумов. Ведь в современном мегаполисе на квадратный километр могут приходиться десятки точек доступа. А каналов у Wi-Fi всего 11 (вообще, согласно стандарту 802.11, каналов 14, но 12, 13 и 14-й не поддерживаются большинством гражданских устройств из-за особенностей законодательства США).
Выбираем железо
Для начала я решил освежить свои знания о распространении радиоволн и антеннах. Стало ясно, что для наших понадобится антенна с узкой диаграммой направленности. Такие антенны, как правило, применяются для создания Wi-Fi-«мостов», то есть передачи сигнала на большие расстояния (производители заявляют возможность работы такого моста на расстоянии до 10 км). Сравнив характеристики антенн от разных производителей, я выбрал антенну обычной параболической формы. Ее диаграмма направленности составляет 14 градусов по горизонтали и 10 по вертикали. Соотношение F/B (front to back ratio, он же коэффициент направленного действия) — 30 дБ, то есть отношение между сигналами, попадающими на антенну со стороны главного луча, и сигналами с других направлений составляет 1 к 1000. При этом заявленный коэффициент усиления составляет 24 дБ.
Почему выбор антенны так важен?
Я не случайно так много внимания уделил антенне, потому что зачастую при построении подобных комплексов есть соблазн использовать штыревую антенну (ее диаграмма направленности равномерна, имеет форму тора и поэтому не требует прицеливания). Однако такая штыревая антенна будет собирать весь «мусор» из ресторанчиков и проезжающих мимо автобусов, что может фатально сказаться на соотношении сигнал/шум.
Параболическая антенна позволит нам достичь лучшего соотношения сигнал/шум, но, используя ее, мы сами усложняем себе задачу — ведь нашу антенну нужно настраивать так, чтобы целевая сеть (и приемник, и передатчик) попали в «луч».
Для решения проблемы в реальных «боевых» условиях можно использовать две антенны. Одну — широконаправленную, с диаграммой направленности 30–40 градусов — для поиска и локализации сети. После того как сеть будет обнаружена и установлено ее точное местонахождение, можно будет применять вторую, узконаправленную, непосредственно для работы с сетью: проведения инъекций, перехвата аутентификации и так далее.
Диаграмма направленности нашей параболической антенны представлена на рис. 1. Сравни с диаграммой направленности штыревой антенны на рис. 2.


Хакер #193. Вардрайвинг на расстоянии

Теперь, когда с антенной мы определились, можно приступать к выбору передатчика (он же будет и приемником). Здесь основное требование состоит в том, чтобы обеспечить максимальную мощность сигнала и максимальную гибкость настроек. На помощь нам пришла операционная система OpenWRT. Надо сказать, что OpenWRT поддерживает далеко не все чипсеты, поэтому выбирать приемопередатчик пришлось тщательно. В итоге выбор пал на Wi-Fi-модуль Ubiquity Bullet M2 (рис. 3). Это устройство с мощным чипсетом Atheros MIPS 24KC уже имело все нужные мне фичи: питание через POE, защиту от влаги и разъем N-type для подключения любых антенн. Следует особо обратить внимание на то, что у Ubiquity свое POE c напряжением 24 В, которое не соответствует стандарту IEEE 802.3af с напряжением 48 В. Можно ли использовать POE 48 В — не знаю, лично я не рискнул. Внутренняя память устройства всего 8 Мб, но этого оказалось достаточно. Изначально это устройство также предназначено для Wi-Fi-мостов, но и для наших задач подходит отлично.

Итак, железо куплено, собираем нашу антенну (которая оказалась намного больше и тяжелее, чем выглядела на картинке). Подключаем к ней передатчик, устанавливаем все на штатив для фотоаппарата (штатив лучше брать хороший, наш дешевый с трудом справляется с общим весом «установки» в 6 кг), и вот наш «комплекс» готов. Он грозно возвышается посреди офиса и производит неизгладимое впечатление на окружающих. Общий бюджет на покупку железа составил приблизительно 9000 рублей. Пришло время заняться программной частью.

Устанавливаем OpenWRT
Базовая прошивка нашего Bullet’а построена по принципу «одной кнопки», что нам, конечно же, не подходит, поэтому она была удалена с устройства, а ее место заняла OpenWRT Attitude Adjustment 12.09. Особых проблем с установкой не было. Достаточно просто скопировать bin-файл в память устройства по протоколу SCP. Базовая прошивка Ubiquity поддерживает этот протокол по умолчанию, так что я просто использовал WinSCP. Ждем пару минут и просто подсоединяемся к удобному веб-интерфейсу со всеми нужными нам настройками. Здесь можно установить мощность устройства (оказывается, данный чипсет поддерживает мощность до 8 Вт, но при этом очень сильно греется, так что долго эксплуатировать его на максимальной мощности я бы не стал). Помимо этого, в веб-интерфейсе OpenWRT можно принудительно задавать каналы, переключать режимы работы и есть масса других полезных настроек.



WARNING
Имей в виду, что на эксплуатацию передатчика подобной мощности необходимо получать официальное разрешение властей.
Теперь, когда мы разобрались с настройками, нам понадобится наш «джентльменский набор» пентестера беспроводных сетей: aircrack, aireplay, airodump, AirMon и так далее. Поскольку OpenWRT — это просто еще один дистрибутив линукса, хоть и сильно урезанный, проблем при работе с ним возникнуть не должно — apt-get прекрасно работает. После установки всего необходимого у нас осталось еще 3 Мб свободного места, чего вполне хватит для работы.

INFO
Учитывай, что работа такой станции может быть не всегда стабильна. Например, наша в какой-то момент перестала переключать каналы, застряв на одном. Избавиться от проблемы удалось только переустановкой системы.
Пора опробовать наш комплекс в деле. Пугая случайных прохожих и привлекая к себе всеобщее внимание, начинаем полевые испытания. Еще раз поблагодарим создателей за PoE: к нашей антенне тянется всего один провод, по которому идет и управление, и питание. Итак, мы прицелились, а дальше все довольно стандартно:
- Подключаемся к нашему комплексу через SSH, запускаем AirMon и переводим наш Wi-Fi-интерфейс в режим мониторинга. Делается это командой
airmon-ng start wlan0
У нас появился интерфейс Mon0. С ним мы и будем работать.
2. Запускаем airodump.
airodump-ng mon0
Теперь в таблице видно все, что наловила наша антенна. Согласись, довольно много.
На рис. 7 представлен список доступных нам сетей. Практика показывает, что работать можно с теми из них, мощность сигнала которых (колонка PWR) не ниже –70. Теперь можно выбрать себе нужную сеть и работать уже исключительно с ней при помощи того же airodump.

Командой
airodump-ng -c 5 --bssid D4:CA:6D:F6:4F:00 -w test1 mon0
задаем нужный нам идентификатор сети параметром –bssid, канал параметром -с и файл для вывода перехваченных хендшейков параметром -w. После этого нам станет видна не только базовая станция, но и клиенты (рис. 8). Более подробно работу наших инструментов описывать не буду, инструкций «Как взломать вай-фай соседа» хватает и без меня :).

Нам особо интересен показатель мощности сигнала (колонка PWR). Чтобы добиться наилучшего результата, антенну нужно правильно прицелить. При работе на предельной дальности выяснилось, что ошибка даже в несколько градусов будет иметь решающее значение. Для повышения точности наведения можно даже подумать об установке на антенну прицела.
Надо сказать, что базовые станции обычно «видны» хорошо, а вот с клиентами все обстоит значительно хуже, поскольку мощность сигнала у них меньше. Возможно, тут дело в точности наведения и в угле, под которым антенна была направлена на цель. Очевидно, что для максимальной эффективности нужно попасть как можно точнее, так как даже в пределах основного луча чувствительность сильно падает ближе к краям. Для меня основной проблемой стал перехват части хендшейка от клиентских станций — их мощность обычно существенно меньше базовой станции, и даже с нашей узконаправленной антенной с высоким коэффициентом усиления их ответы часто теряются в общем шуме.
Однако, несмотря на это, даже для стандартного офиса с окном 2 х 1,5 м и прицеливанием «на глаз» наш комплекс работал уверенно с дистанции в 100–150 м. В реальных условиях это, скорее всего, будет уже за пределами контролируемой зоны вокруг бизнес-центра. Для офисов с большими окнами можно предположить, что дальность работы будет существенно больше.


DDoS на расстоянии
Для нашего устройства мы неожиданно открыли еще одну концепцию применения, которая граничит с хулиганством, однако такую возможность следует учитывать, к примеру при организации критических информационных потоков через Wi-Fi.
Как известно, aireplay-ng позволяет производить инъекцию deauth-пакетов в сеть. Делается это с помощью инструмента aireplay следующей командой:
aireplay-ng --deauth 35 -a D4:CA:6D:F6:4F:00 -c A4:C3:61:7D:8F:00 mon0
Обрати внимание на последнюю колонку на рис. 11: по количеству ACK можно определить, насколько успешно идет наша атака, — чем больше первая цифра, тем лучше.
Видно, что aireplay надежно «кладет» нашу тестовую сеть. Таким образом, проводя принудительную деаутентификацию клиентских станций, можно парализовать работу Wi-Fi-сети с большого расстояния. Фокус в том, что для того, чтобы эффективно проводить такую атаку, вовсе не обязательно иметь сверхчувствительный приемник, как для перехвата хендшейков. Достаточно иметь мощный передатчик. А этого у нас как раз хватает в избытке. Как говорится, сила есть…
По моим оценкам, даже нашего бюджетного комплекса хватит, чтобы парализовать сеть на дистанции в 300–400 м при условии прямой видимости. Еще раз обращу внимание, что все эти вещи я рассматриваю теоретически, поскольку, как уже говорилось, использование передатчика на максимальной мощности требует разрешения Минкомсвязи. Тем не менее давай пофантазируем, что видеонаблюдение или любая другая система, связанная с безопасностью или передачей критически важной информации, работает через уже упоминавшийся Wi-Fi-мост. Ты можешь возразить, что там применяются узконаправленные антенны, однако у любой, даже самой узконаправленной антенны есть паразитные лепестки. Они, к слову, хорошо видны на рисунках. Попав в такой лепесток, мы теоретически можем отключить клиента непрерывными deauth-пакетами и нарушить работу моста.
Способы защиты от таких атак неочевидны. В случае с офисом можно попробовать снизить возможности перехвата и инъекций, к примеру атермальными стеклами или их аналогом, хотя на данный момент это всего лишь предположение — влияние атермальных стекол на Wi-Fi еще необходимо проверить. А вот как защитить Wi-Fi на улице, совершенно неясно.
Итоги
Какие выводы можно сделать из нашего небольшого проекта? Wi-Fi — не такой уж безопасный способ передачи данных, как может показаться, даже если применяется WPA-2. Перехват крайне прост, а криптоаналитические возможности злоумышленников по расшифровке хендшейков по мере расширения облачных технологий вроде Amazon Cloud растут с каждым днем.
И уж точно Wi-Fi плохо подходит для видеонаблюдения, охраны или других систем, к которым предъявляются повышенные требования по доступности и устойчивости работы, поскольку парализовать беспроводную сеть можно с большого расстояния, а защищаться от таких атак крайне сложно.
Оставайся защищенным!