Содержание статьи
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.
![Рис. 1. Диаграмма направленности нашей параболической антенны. Хорошо виден главный луч антенны — наша «длинная рука» Рис. 1. Диаграмма направленности нашей параболической антенны. Хорошо виден главный луч антенны — наша «длинная рука»](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15352/diagramasp24.jpg)
![Рис. 2. Диаграмма направленности штыревой антенны Рис. 2. Диаграмма направленности штыревой антенны](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15356/shtir.jpg)
![](https://xakep.ru/wp-content/uploads/2015/02/COVER_02_2015_mid-215x280.jpg)
Хакер #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-мостов, но и для наших задач подходит отлично.
![Рис. 3. Наш передатчик — Ubiquity BULLET M2 Рис. 3. Наш передатчик — Ubiquity BULLET M2](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15351/bullet.jpg)
Итак, железо куплено, собираем нашу антенну (которая оказалась намного больше и тяжелее, чем выглядела на картинке). Подключаем к ней передатчик, устанавливаем все на штатив для фотоаппарата (штатив лучше брать хороший, наш дешевый с трудом справляется с общим весом «установки» в 6 кг), и вот наш «комплекс» готов. Он грозно возвышается посреди офиса и производит неизгладимое впечатление на окружающих. Общий бюджет на покупку железа составил приблизительно 9000 рублей. Пришло время заняться программной частью.
![Рис. 4. Общий вид нашей установки в сборе Рис. 4. Общий вид нашей установки в сборе](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15353/general.jpg)
Устанавливаем OpenWRT
Базовая прошивка нашего Bullet’а построена по принципу «одной кнопки», что нам, конечно же, не подходит, поэтому она была удалена с устройства, а ее место заняла OpenWRT Attitude Adjustment 12.09. Особых проблем с установкой не было. Достаточно просто скопировать bin-файл в память устройства по протоколу SCP. Базовая прошивка Ubiquity поддерживает этот протокол по умолчанию, так что я просто использовал WinSCP. Ждем пару минут и просто подсоединяемся к удобному веб‑интерфейсу со всеми нужными нам настройками. Здесь можно установить мощность устройства (оказывается, данный чипсет поддерживает мощность до 8 Вт, но при этом очень сильно греется, так что долго эксплуатировать его на максимальной мощности я бы не стал). Помимо этого, в веб‑интерфейсе OpenWRT можно принудительно задавать каналы, переключать режимы работы и есть масса других полезных настроек.
![](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15354/iface1.jpg)
![](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15355/iface3.jpg)
warning
Имей в виду, что на эксплуатацию передатчика подобной мощности необходимо получать официальное разрешение властей.
Теперь, когда мы разобрались с настройками, нам понадобится наш «джентльменский набор» пентестера беспроводных сетей: aircrack, aireplay, airodump, AirMon и так далее. Поскольку OpenWRT — это просто еще один дистрибутив линукса, хоть и сильно урезанный, проблем при работе с ним возникнуть не должно — apt-get прекрасно работает. После установки всего необходимого у нас осталось еще 3 Мб свободного места, чего вполне хватит для работы.
info
Учитывай, что работа такой станции может быть не всегда стабильна. Например, наша в какой‑то момент перестала переключать каналы, застряв на одном. Избавиться от проблемы удалось только переустановкой системы.
Пора опробовать наш комплекс в деле. Пугая случайных прохожих и привлекая к себе всеобщее внимание, начинаем полевые испытания. Еще раз поблагодарим создателей за PoE: к нашей антенне тянется всего один провод, по которому идет и управление, и питание. Итак, мы прицелились, а дальше все довольно стандартно:
- Подключаемся к нашему комплексу через SSH, запускаем AirMon и переводим наш Wi-Fi-интерфейс в режим мониторинга. Делается это командой
airmon-ng
. У нас появился интерфейс Mon0. С ним мы и будем работать.start wlan0 - Запускаем airodump:
airodump-ng
. Теперь в таблице видно все, что наловила наша антенна. Согласись, довольно много.mon0
На рис. 7 представлен список доступных нам сетей. Практика показывает, что работать можно с теми из них, мощность сигнала которых (колонка PWR) не ниже –70. Теперь можно выбрать себе нужную сеть и работать уже исключительно с ней при помощи того же airodump.
![Рис. 7. Список доступных нам сетей Рис. 7. Список доступных нам сетей](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15348/airodump.jpg)
Командой airodump-ng
задаем нужный нам идентификатор сети параметром --bssid, канал параметром -с и файл для вывода перехваченных хендшейков параметром -w. После этого нам станет видна не только базовая станция, но и клиенты (рис. 8). Более подробно работу наших инструментов описывать не буду, инструкций «Как взломать вай‑фай соседа» хватает и без меня :).
![Рис. 8. Клиенты интересующей нас сети Рис. 8. Клиенты интересующей нас сети](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15349/airodump2.jpg)
Нам особо интересен показатель мощности сигнала (колонка PWR). Чтобы добиться наилучшего результата, антенну нужно правильно прицелить. При работе на предельной дальности выяснилось, что ошибка даже в несколько градусов будет иметь решающее значение. Для повышения точности наведения можно даже подумать об установке на антенну прицела.
Надо сказать, что базовые станции обычно «видны» хорошо, а вот с клиентами все обстоит значительно хуже, поскольку мощность сигнала у них меньше. Возможно, тут дело в точности наведения и в угле, под которым антенна была направлена на цель. Очевидно, что для максимальной эффективности нужно попасть как можно точнее, так как даже в пределах основного луча чувствительность сильно падает ближе к краям. Для меня основной проблемой стал перехват части хендшейка от клиентских станций — их мощность обычно существенно меньше базовой станции, и даже с нашей узконаправленной антенной с высоким коэффициентом усиления их ответы часто теряются в общем шуме.
Однако, несмотря на это, даже для стандартного офиса с окном 2 х 1,5 м и прицеливанием «на глаз» наш комплекс работал уверенно с дистанции в 100–150 м. В реальных условиях это, скорее всего, будет уже за пределами контролируемой зоны вокруг бизнес‑центра. Для офисов с большими окнами можно предположить, что дальность работы будет существенно больше.
![Рис. 9. Установка с видом на «цель» Рис. 9. Установка с видом на «цель»](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15358/view.jpg)
![Рис. 10. Примерно так мы прицеливались «на глаз» Рис. 10. Примерно так мы прицеливались «на глаз»](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15357/target.jpg)
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 на улице, совершенно неясно.
![Рис. 11. Процесс работы aireplay Рис. 11. Процесс работы aireplay](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15347/aireplayack.jpg)
![Рис. 12. А вот и результат :) Рис. 12. А вот и результат :)](https://static.xakep.ru/images/f735f1cad67748d2928db7372dac1ab3/15350/airplay.jpg)
Итоги
Какие выводы можно сделать из нашего небольшого проекта? Wi-Fi — не такой уж безопасный способ передачи данных, как может показаться, даже если применяется WPA-2. Перехват крайне прост, а криптоаналитические возможности злоумышленников по расшифровке хендшейков по мере расширения облачных технологий вроде Amazon Cloud растут с каждым днем.
И уж точно Wi-Fi плохо подходит для видеонаблюдения, охраны или других систем, к которым предъявляются повышенные требования по доступности и устойчивости работы, поскольку парализовать беспроводную сеть можно с большого расстояния, а защищаться от таких атак крайне сложно.
Оставайся защищенным!