На чем палятся вардрайверы: ПО для обнаружения атак на беспроводную сеть
Проникнуть в чужую беспроводную сеть – чем не забава?! Пошалишь — и смотаешься. Взломщик не подключается к сети по проводам и может находиться где угодно, лишь бы был уверенный прием. В автомобиле, на улице, например. Попробуй поймай! Только вот что я тебе скажу: все это - популярное заблуждение. Технологии защиты развиваются, и даже банальное сканирование эфира самими обычными программами выдаст тебя с потрохами. А ты не знал?
Как выявить сканирование?
Чтобы найти поблизости беспроводные устройства, а следовательно, и беспроводные сети, используют специальные сканеры эфира. Поставил такую штуку на ноутбук или КПК и гуляешь по городу, в то время как программа ведет логи всех найденных точек доступа, с указанием SSID (идентификатора сети), производителя оборудования, механизма шифрования, скорости работы и даже координат, если к ноуту подключен GPS-модуль.
Знакомые софтины — Netstambler, Macstambler, Kismet (или его версия под винду - Kiswin) — в два счета просканируют эфир и выдадут всю информацию на экран.
Но тут есть один важный момент, о котором многие даже не подозревают! Эти сканеры не просто пассивно просматривают эфир, но также используют активные методы исследования, посылая в сеть специальные пакеты. Если ты просканировал эфир Netstambler’ом, то считай, ты уже выдал свое присутствие. Хорошо, если беспроводная сеть — это одинокая точка доступа, которой вряд ли даже поменяли пароль для администрирования через веб-панель. Но если это серьезная компания, то к любой подобной активности (внутри закрытой сети) отнесутся с подозрением. И дело тут вот в чем.
Когда осуществляется пассивное сканирование (в соответствии со стандартом 802.11, то есть Wi-Fi), ничего страшного не происходит, но и эффективность такого сканирования нулевая! Как только дело касается интимной информации о сети (которая может быть очень полезна взломщику), стемблер выдает свое присутствие из-за специального LLC/SNAP-фрейма.
Хакер-исследователь Mike Craik предложил уникальный идентификатор, по которому можно задетектить трафик программы NetStumbler: LLC-фреймы, генерируемые сканером и содержащие уникальный идентификатор (OID) 0x00601d и идентификатор протокола (PID) 0x0001. Кроме того, специальная строковая переменная, передающаяся через 58-байтное поле данных, содержит информацию о версии продукта в так называемом «пасхальном яйце»:
<code>0.3.2 Flurble gronk bloopit, bnip Frundletrune
0.3.2 All your 802.11b are belong to us
0.3.3 " intentionally blank"</code>
Причин для таких подвохов может быть много, в том числе просьба оперативных органов, ссориться с которыми автору бесплатной программы, естественно, не хочется. Чтобы устранить «пасхальное яйцо», следует поковырять бинарник netstumbler.exe редактором ресурсов и изменить его. Но это не решит проблему обнаружения сканирования (с LLC-фреймом ничего не сделать). И к слову, Ministumbler - тулза из той же серии, только для платформы Pocket PC, - содержит аналогичные подвохи.
А как насчет альтернативы Netstumbler’у?
Теперь понятно, каким образом тебя может выдать обычное сканирование? И вроде бы ничего не делал, а по шапке получить уже можешь. Причем что с Netstumbler’ом, что с любым другим софтом. Рассмотрим лишь несколько примеров.
DStumbler
Это известнейший BSD-сканер беспроводных сетей, который, в отличие от Netstumbler, может проводить пассивное сканирование (режим RFMON), то есть определяет наличие точки доступа и ее SSID. Тем не менее, в режиме активного сканирования в нем тоже существуют эксклюзивные свойства. В поисках точки доступа программа генерирует огромное количество запросов (frame_control 0x0040). После получения ответа точки доступа на подобный запрос будет произведена попытка запроса авторизации (0x0b) и ассоциации (0x0c). Эти значения являются константами, что дает право на их использование в качестве уникального идентификатора.
Wellenreiter
Может быть, кто-то, прочитав это, подумает: «А в чем проблема? Заюзай тот самый, пассивного сканирования, и все дела!» Возьмем сканер Wellenreiter, включенный в состав известного хакерского LiveCD-дистрибутива — BackTrack. Утилита заточена под Unixware-окружение и в качестве базового условия для старта, естественно, использует iwconfig. После опознавания беспроводной карточки ESSID будет автоматически выставлен на «This is used for wellenreiter», а MAC-адрес сконфигурирован на произвольный. Опять палево!
После такого разгрома даже руки опускаются. Не софт, а настоящее западло для хакера. Что же делать? Заюзать Windows-механизм? Скачивать ничего не надо, и работает он, в общем-то, неплохо — хороший, вроде бы, вариант… Как бы не так! Его механизм тоже использует активный режим сканирования, посылаются те же запросы с широковещательным SSID и уникальным программным идентификатором, что и будет основой детекта подобного рода сканирования. Уникальный фрагмент находится в части «SSID Parameter Set» и состоит из 32 байтов.
Воспользовавшись функциональными способностями снифера Ethereal (Wireshark), можно без труда определить подобную активность потенциального «воздушного» хакера:
<code>Netstumbler: wlan.fc.type_subtype eq 32 and llc.oui eq 0x00601d and llc.pid eq 0x0001
Dstumbler: (wlan.seq eq 11 and wlan.fc.subtype eq 11) or (wlan.seq eq 12 and wlan.fc.subtype eq 00)</code>
Здесь 11 (0x0b) – значение во фрейме авторизации, 12 (0x0c) – константа из запроса ассоциации.
Как поймать хулигана?
Важно не столько засечь несанкционированные действия в сети, сколько выявить нарушителя. Здесь возникает определенная головоломка, так как мобильность самой технологии Wi-Fi изначально подразумевает таких же мобильных клиентов, которые могут перемещаться во время сеанса пользования сетью.
Нашей задачей будет выработка схемы сетевой инфраструктуры, в которой существовало бы как минимум две предпосылки, свидетельствующих о наличии злоумышленника среди доверенного радиопокрытия. Способы обнаружения злоумышленника обычно базируются на данных, поступающих из разных, удаленных друг от друга источников. При этом анализируются данные об уровне приема абонента, а также информация из логов систем обнаружения вторжений (IDS).
Лог IDS-системы, отмечающий активность беспроводных соединений с помощью стандартного механизма Windows XP
На представленной схеме перед нами модель тривиальной постановки: точки Y и Z выступают в роли AP-«мониторов» (сенсоров нападения), так или иначе передающих событие «произошло сканирование» на специальную систему. Конец коридора ограничен бетонными стенами, изолирующими сигнал от помех извне. Задавая границу в радиопокрытии точки (к примеру, 10 метрами), можно выработать действия по реагированию на подозрительные события.
Не трудно догадаться, что если будет заподозрен последовательный Stumbling от точек z,y к x, то злоумышленник находится в вполне определенном квадрате пространства. Соответственно, создавая подобную архитектуру по флагам и опираясь на внимание и определенный набор ПО, можно давать указание службе безопасности выдвигаться в соответствующие стороны.
Остается вопрос: чем фиксировать действия сканера? Это реализуется следующими программными решениями.
Snort Wireless
Адрес: snort-wireless.org
Платформа: Unix
Эдакая «пожарная сигнализация», которая предупредит практически о любой попытке взлома. Главное, чтобы были грамотно настроены все правила или, иначе говоря, предварительно заданные шаблоны атак и вредоносных объектов. Snort Wireless работает подобно популярному Snort, но в беспроводных сетях 802.11x, защищая их от нападения. Настройка сводится к следующим пунктам:
- указание информации об охраняемой территории (параметры сети, имя точки доступа);
- конфигурация предпроцессоров;
- конфигурация плагинов;
- дополнительные собственные правила.
Наиболее важный пункт здесь – конфигурация предпроцессоров, благодаря которым и происходит переход с намека на атаку к боевой тревоге.
Предпроцессор Anti Stumbler. Для обнаружения точек доступа Netstumbler рассылает широковещательные нулевые SSID, которые заставляют другие точки доступа прислать свои SSID нам. Snort осознает массовость этого дела с одного MAC-адреса и объявляет тревогу. Помимо этого, в наборе Snort Wireless присутствуют предпроцессоры для детекта пассивного скана и попытки подмены MAC.
Предпроцессор Anti Flood. При превышении определенного количества кадров в единицу времени или попыток авторизации происходит распознавание Denial Of Service Atack.
Предпроцессор Anti Mac spoofing. Выявление несоответствий и сравнение с базой данных доверенных клиентов.
После редактирования всех параметров файл snort.conf обновится, и ты сможешь запустить демон в фоновый режим:
<code>snort -D -A ful</code>l
Nssys glass
Адрес: home.comcast.net/~jay.deboer/nsspyglass
Платформа: Windows
Netstumbler Spyglass использует тот же принцип, что и предпроцессор Snort Wireless. К сожалению, из-за малого спектра поддерживаемого оборудования его не так часто применяют. Рассмотрим его настройку на примере роутера LinkSys. Перед работой необходимо позаботиться о наличии драйвера WinPcap (winpcap.polito.it).
Конфигурация Nssys требует обязательного указания сетевого адаптера
Далее вся настройка осуществляется через довольно странный конфигурационный файл NSSpyglass.ini, состоящий из следующих 12 строк:
<code>0402011110BB Access Point MAC Address (No colons and No spaces)
C:\windows\calc.exe
0
5
C:\windows\notepad.exe
0
1
1
0
1
0
1 </code>
В таком непонятном конфиге сам черт ногу сломит, поэтому я объясню все по-порядку. В первой строке требуется прописать MAC-адрес точки доступа. Вторая строка указывает путь к приложению, которое будет запущено в момент опознания злоумышленника. Третья принимает значения 0 или 1, в зависимости от твоего желания запускать указанное приложение или нет. Четвертая строка – таймаут в секундах до запуска следующего приложения после обнаружения вардрайвера. Пятая и шестая строка аналогичны второй и третьей, но как раз следующего приложения. Седьмая определяет запись истории событий в лог NSSpyglassLog.txt. Остальное неважно – скопируй, как есть.
После пробы такого софта Nestumbler использовать даже как-то не хочется
Airsnare
Адрес: home.comcast.net/~jay.deboer/airsnare
Платформа: Windows
Если в сети работают одни и те же устройства (например, ноутбуки сотрудников), то можно легко внести их MAC-адреса в «белый список» и отслеживать появление посторонних устройств, которые в этот список не входят. На таком простом принципе, в частности, базируется программа Airsnare. Все, что тебе понадобится для работы, — это библиотека WinPcap (winpcap.polito.it) и свободный компьютер, подсоединенный к беспроводной точке доступа. В настройках программы не забудь выбрать требуемый адаптер и внести в Friendly Mac list все доверенные устройства, подключенные к твоей сети, включая Mac'и, Xbox'ы, сетевые принт-серверы, лэптопы, iPod'ы с поднятым Wi-Fi и тому подобные излишки моды. Нажимаем «Start», и экран меняет цвет на красный, что говорит о том, что твоя тачка перешла в боевой режим, режим поиска прыщавых хакеров.
P.S.: Вардрайверу с хорошей направленной антенной спалится практически нереально, особенно если он на машине... Тем более мак адрес адаптера поменять можно одной командой.
Комментарии