03.02.2008

О взломе WEP. В последний раз…

image

Эксперты компании Positive Technologies разработали утилиту wep0ff-ng, с тем, чтобы быстрее и более надёжно восстанавливать ключи WEP для клиентов беспроводных сетей, работающих по протоколам IPv6 и IPv4

Сергей Гордейчик, Александр Марков

 Протокол защиты беспроводных сетей WEP является самой "шумной" ошибкой проектирования средств защиты 20 века. Существует огромное количество методов атак, и утилит позволяющих за считанные минуты получить ключ шифрования, расшифровывать отдельные пакеты или внедрять фреймы в беспроводную сеть, защищенную с помощью WEP. В связи с этим сети, использующие этот протокол, практически не встречаются в корпоративном секторе.

Но тесты на проникновение, проводимые компанией Positive Technologies, на практике показывают, что наиболее распространенным недостатком являются плохо контролируемые клиенты беспроводных сетей. Ошибки в настройке, незащищенные сети в профиле подключений и т.д. позволяют злоумышленнику обойти периметр сетевой безопасности и получить доступ к корпоративным информационным системам. Уязвимости WEP могут проявить себя и в этом случае.

В начале 2007 года команда Positive Technologies предложила метод (http://www.securitylab.ru/analytics/287596.php) совместного использования фрагментации на канальном уровне и ложной точки доступа для генерации трафика, необходимого для атак типа FSM и KoreK. Использование этого метода позволяет восстановить ключ WEP даже в случае, если в зоне действия злоумышленника находится только клиент небезопасной беспроводной сети, а расположение точки доступа неизвестно.

Практическое использование утилиты wep0ff  показало, что данный метод во многих случаях позволяет успешно получить ключ WEP и подключится к клиентам беспроводных сетей.

Однако использование фрагментации и необходимость подбора пакета, провоцирующего клиента на отправку ответного фрейма приводит к генерации большого трафика и невозможности применения wep0ff в некоторых ситуациях.

Предложенный метод был независимо воспроизведен исследователями из компании AirTight Networks в октябре 2007 года. Кроме того, в докладе на конференции Toorcon Vivek Ramachandran предложил использовать хорошо известную уязвимость WEP - bit flipping для подделки пакетов.

В этом случае злоумышленник перехватывает зашифрованный пакет с ARP запросом и модифицирует его таким образом, чтобы спровоцировать клиента на ответ, корректирует сходимость контрольной суммы ICV и отправляет пакет атакуемому узлу. Узел отвечает на запрос, генерируя трафик, необходимый для восстановления ключа. Предложенный метод достаточно эффективен в большинстве случаев,  но непригоден в ситуации, когда клиент использует только протокол IPv6.

В связи с этим эксперты компании Positive Technologies разработали утилиту wep0ff-ng, с тем, чтобы быстрее и более надёжно восстанавливать ключи WEP для клиентов беспроводных сетей, работающих по протоколам IPv6 и IPv4. Утилита доступна для загрузки тут .

Компиляция:

gcc -o wep0ff-ng wep0ff-ng.c -lpcap -lorcon

gcc -o airfile airfile.c -lorcon

Использование:

  1.     Для того чтобы вступить в клуб аудиторов беспроводных сетей сначала скомпилируйте утилиту wep0ff-ng.
  2.      Найдите ноутбук, который безуспешно ищет свою домашнюю WEP сеть «фуу».
  3.    Создайте ложную точку доступа с именем «фуу» и ключом WEP на ваше усмотрение.
  4.    Запустите утилиту ../wep0ff-ng <iface in MONITOR mode> <имядрайвера> <MAC адрес точки изп. 2> [log_packets]
  5.    Дождитесь, пока клиент присоединится к нашей точке доступа. Утилита сигнализирует об этом выводом соответствующих сообщений.
  6.      Запустите airodump-ng для сбора пакетов
  7.      Запустите aircrack-ng для восстановления ключа.

Если утилита wep0ff-ng была запущена с опцией «log_packets», она будет сохранять обработанные пакеты на диск. Полученные пакеты будут сохраняться с именами recvd0, recvd1, recvd2 и т.д.

Модифицированные пакеты – с именами arp0, arp1, icmp2 и т.д. Можно использовать утилиту «airfile», чтобы принудительно отправить модифицированный пакет повторно.

Утилита использует библиотеку “lorcon” для работы с беспроводными адаптерами, что делает её более универсальной и позволяет использовать с различными драйверами. Код тестировался на беспроводных адаптерах с чипсетами Atheros и драйверами madwifing 0.9.3.3.

В ходе разработки авторы столкнулись с некоторыми тонкостями работы драйверов madwifi-ng, усложняющих внедрение пакетов в режиме мониторинга. Однако проблема была решена  несколькими способами, о чем можно прочитать в форуме Madwifi. Также может быть полезен тестовый сценарий для настройки интерфейсов (prepare_ath.sh), включенный в дистрибутив программы.

Подробнее о том, как заставить работать вместе «wep0ff-ng» и «airodump-ng» можно прочитать по следующему адресу. В дистрибутиве также находится файл airodump.patch, который поможет исправить проблему с сохранением и перехватом пакетов.

 Об авторах:

Сергей Гордейчик, системный архитектор компании Positive Technologie. Специализируется в вопросах безопасности приложений, безопасности беспроводных и мобильных технологий, ведущий разработчик курсов «Безопасность беспроводных сетей», «Анализ и оценка защищенности Web-приложений» Учебного центра «Информзащита». Опубликовал несколько десятков статей в “Windows IT Pro/RE”, SecurityLab и других изданиях, автор книги «Безопасность беспроводных сетей». Является участником проектов Web Application Security Consortium (WASC).

Александр Марков, эксперт по информационной безопасности компании Positive Technologies. Специализируется в вопросах тестирования на проникновение, анализа вредоносного кода и уязвимостей программного обеспечения.

comments powered by Disqus