WLAN: Атака
Автор: admin
1. Первый случай.
Беспроводная точка доступа никак не защищена т.е. не используется никакой протокол шифрования (WEP, WPA, WPAv2 etc), нет фильтрации по MAC-адресу, ESSID открыта, нет фильтрации протоколов. Дальнейште действия зависят только от намеченных целей. Если это просто возможность получить доступ к Интернету, то достаточно узнать IP-адрес шлюза (Ettercap - модуль triton) и доступ в интернет открыт. Если же цели иные, исследум локальную сеть на предмет более глубокого проникновения.
2. Второй случай.
Применяется шифрование иили фильтрация по MAC-адресу иили ESSID закрыта. В таком случает проникновение в сеть несколько затрудняется и многое будет зависеть от используемых средств защиты и качества настроенной беспроводной сети.
2.1 Сбор информации.
Перед проникновением в беспроводную сеть, необходимо получить тот минимум информации, который в последствии проанализировав, существенно поможет нам. Сбор предварительной информации вылилось в отдельное течение и было названо War-driving. Взломщик передвигается на затонированной машине по местности где предположительно кишат беспроводные сети и пытается разузнать всё про всех. Что же это за информация? Первое это SSID (Servise Set Identifier) - это отличительный идентификатор каждой точки доступа - её nickname. Следующая иформация касается уникального MAC-адреса (Media Access Control) точки доступа. Имеет тот же функционал, что и в обычных сетевых устройствах. Третье это вектор инициализации - IV (Initialization Vector), если конечно испльзуется шифрование. Он идёт после заголовка и генерируется на основе ключа WEP (Wired Equivalent Privacy). Последние два параметра призваны обеспечить хоть какую-нибуть безопасность в беспроводных сетях, как мы все знаем неочень хорошую.
2.1.1.Утилиты для сбора информации.
Итак, утилиты, которые предназначены для сбора информации о точке доступа. Многострадальный NetStumbler (www.netstumbler.com). Это одна из первых утилит под ОС Windows, которая позволила определять SSID точки, MAC-адрес, длинну ключа WEP (если используется), диапазон сигналов, тип оборудования, номер канала. Принцип её функционарования достаточно прост и очень похож на обычный сетевой сканер. Утилита рассылает броды типа probe Request в этиф в соответствиии со стандартом 802.11. Ну а каждая уважающая себя точка доступа (т.е. с настройками по умолчанию), получив такой пакет незамедлительно отвечает и незадумываясь передаёт нам SSID и все остальные упомянутые параметры. NetStumbler'у остаётся только их обработать и представить нам в лучшем виде. Стоит упомянуть, что NetStumbler умеет координировать свои действия используя систему глобального позиционирования GPS (Global Position System). Используя её можно составлять карты размещения точек доступа. В этом могут помочь утилиты MapPoint и StambVerter.
Следующая утилита из разряда вынюхивателей полезной информации это Kismet (kismetwireless.net). Эта утилита написана под ОС семейства Linux и BSD. Может использоваться как в активном режиме, подобно утилите NetStumbler, рассылая броды, так и в пассивном, циклически прослушивая каналы стандарта 802.11. Её работа в пассивном режиме аналогична обычным сниферам, она обнаруживает пакеты Association Request, Beacon, IP адреса выдернутые из ARP запросов. Если это Cisco оборудование, то и CDP имя (Cisco Discovery Protocol).
Ещё одна утилита для сбора информации это Dstumbler (dachb0den.com/projects/datumbler.html). Написана для ОС семейства BSD. Входит в состах набора утилит BSD-Airtools. Отличительной особенностью этой утилиты является, то что она позволяет регистрировать точки доступа, в которых отключена функция риплея (reply) на броды (broadcast) т.е. она будет давать плоды, там где NetStumbler бессилен. Так же в этой утилите есть такая полезная функция, как смена MAC-адреса с заданной периодичностью.
AiroPeek NX (wildpackets.com) работает под управлением ОС Windows. Это Shareware утилита, как и положено для Windows систем. Функционал утилиты отвечает всем требованиям и вполне пригодна для решения различных сетевых проблем, а взломщику поможет детально проанализировать атакуемую беспроводную сеть. Определяет MAC-адрес, IP, SSID etc. Позволяет сканировать каналы и налету шифровать трафик с использованием заданного ключа WEP. Очень полезная вкладка Peer Map. На ней отображается связи между всеми узлами в сети с подписанными MAC-адресами.
Cain&Abel (http://www.oxid.it) - извеснейший снифер под ОС Windows так же умеет работать с беспроводными сетями и пригоден для сбора предварителльной информации.
IPTools (http://erwan.l.free.fr) - очень много возможностей касательно беспроводных сетей, пользователям ОС Windows стоит обратить на неё внимание.
essid_jack (802.11ninja.net) - представитель пакета утилит под названием Air-Jack. Мега полезная утилита, особенно для более или мение настроенных AP, которые уже не хотят так просто расставаться со значением SSID. Стоит отметить, что разработчики позаботились о том, чтобы взломщика не сразу спалили. Она позволяет отключать от сети определённого пользователя, указывая его MAC-адрес. Этот функционал немного мне напомнил старую утилиту SMBDie, с помошью которой я ребутил тачки, чтобы освободить место на сервере CS :). Подробнее в статье "WLAN:Защита".
2.1.2. Утилиты для создания dump файла.
Извеснейшая утилита tcpdump (tcpdump.org) так же может применяться для декодирования фреймов стандарта 802.11. Помимо всех основных параметров она позволяет определить длинну пакета, все необходимые идентификаторы AP (Access Point).
В продолжении темы именитых утилит, упомяну про Ethereal (ethereal.com). Принцип её работы в беспроводных сетях мало чем отличается от обычных. Существует версии под UNIX и Windows, поэтому сбор трафика можно производить на UNIX системе, а анализировать на Windows. Вообщем, кто имеет опыт работы с ней, то может смело её использовать для анализа и беспроводных сетей тоже.
Ещё одна утилита из набора программ BSD-Airtools это prism2dump (dachb0den.com/projects/prism2dump.html). Она предоставляет информацию о фреймах с тремя уровнями детализации.
2.1.3. Утилиты для взлома WEP.
BSD-Airtools. Набор утилит Dweputils (dwepdump,dwepcrack и dwepkeygen). dwepdump - создаёт дамп пакетов в рсар формате. Возможности: дампить пакеты только со слабым ключём для последующего взлома, вывод статистики, возможность задать размер пакета для отсейки и ускорения набора нужных пакетов, слить несколько дампов в один, улучшенный алгорит взлома ключа (http://www.dachbOden.com/projects/bsd-airtools/wepexp.txt.), по сравнению со стандартным методом FMS. А dwepcrack - соответственно пытается сломать сдампленные пакеты с помошью dwepdump. Возможности: взлом полным перебором по принципу FMS (brute.с), более оптимизированная атака FMS (weakksa.c), взлом по словарю, оптимизированный метод для 40-битных ключей, симметричная мультипроцессорная обработка (несколько процессов), взлом по всему пространству ключей, отдельная атакая для 104-битных ключей.
AirSnort (airsnort.shmoo.com) - популярный анализатор пакетов и взломщик WEP ключа одновременно.
Wepcrack - состоит из 5 перловых скриптов (WEPcrack.pl, WeaklVGen.pl, prism-getIV.pl и prism-decode .pl). Скрипт prism-getIV.pl достаёт все пакеты с вектором инициализации плюс первый байт зашифрованного текста из дампа *.pcap, его можно наснифать с помошью Kismet. Вся отфильтрованная инфа падает в IVfile.log, а его в свою очередь уже скармливаем WEPcrack.pl. Скрипт WeaklVGen.pl генерирует IV по заданному WEP ключу, практической цели не имеет, а вот чтобы понять сам принцип работы - бесценен. prism-decode.pl - декодирует заголовки 802,11 пакета.
WEP-tools. Автор Майк Ньюшем. Очень эфективна для взлома 40-битного ключа, для взлома же 104-битного ключа имеет смысл разве что с использованием словаря. После успешного получения ключа дешифруем пакеты с помошью wep_decrypt.
2.1.4. Утилиты для ускорения оборота трафика.
WebWedgie (Антон Рэйджер). Разработан под платформу Linux, поднимает трафик в сети для ускоренного сбора зашифрованных пакетов, внедряя трафик в сеть, использующий генерацию части потока RC4 через перехват и XOR зашифрованной и незашифрованной переменной, передаваемой при аутентикации клиента с использованием распределенного WEP ключа.
Пакет Wnet.
a) reinj - аналог WebWedgie под BSD системы.
б) dinject-deauth - анализ трафика.
WepAttack. Утилита сделавшая большой шаг врерёд и создавшая новые возможности для взлома беспроводных сетей. Теперь с её помошью не нужно собирать мегатонны зашифрованных пакетов. Интегрировав её с Kismet и перехватив несколько зашифрованных пакетов, можно уже сразу же приступать ко взлому. Т.е. если попадётся сеть со слабым WEP ключём, то почти моментально можно расшифровать весь передаваемый трафик.
2.2 ESSID закрыт.
Скрытие ESSID небольшая преграда для опытного хакера. AP удаляет его не из всех фреймов. В запросах на повторную аутентификацию и повторное присоединение он присутствует. Значит достаточно отсоединить любой хост от сети (essid_jack), после чего он сделает повторную попытку на соединение, а мы аккуратно снифаем передаваемые пакеты, где и будет находиться ESSID. Ещё один момент, о котором стоит упомянуть, это то, что хоть ESSID может быть закрыт, но его значение поумолчанию не было изменено. У каждого производителя своё значение по умолчанию для ESSID. Производителя можно определить из OUI (Organizationally Unique Identifier) - первые 3 байта MAC-адреса. Ну а зная его, узнать дефолтное ESSID не составляет труда. Существуют внушительные БД OUI-ESSID и если вам известен производитель, то Вам прямиком к ним.
2.3 Фильтрация MAC-адреса.
Так же не является эфективным способом защиты. Ни что не мешает узнать валидные клиентские MAC-адреса и после отсоединения клиента от сети - использованть их. Но можно и не ждать, а задосить юзера (wlan_jack, File2air, omerta, dinject-disas, fatajack). Настраиваем одну карточку с MAC-адресом как у AP и шлём с неё запрос на отсоединение (deassociation). С другой же карточки с MAC-адресом, который был у кикнутого юзера конектимся к настоящей AP.
2.4.1 WEP.
Первая попытка создать более защищённый канал - это стандарт WEP. Всё на что он способен, дак это создать труднисти для пассивного прослушивания. Никакой безопасной аутентификации, шифрования вектора инициализации IV (Initialization Vector), ID полей пакета, заголовка пакета он не обеспечивает. Шифруются только данные, передаваемые между клиентом и AP, установленным ключём. Главной брешью этого стандарта является использование незашифрованного IV для формирования ключа.
Одна из самых раскрученных утилит для взлома WEP ключа - это wep_tools. Но хочу заменить и одна из самых требовательных. В большинстве случаев успешный результат её работы будет лишь если вы ломаете 40-битный ключ, вы скормили примерно 10-20 гиговый дамп трафика (*.pcap), у вас приличный процессор, достаточно много времени (месяц) и много терпения :).
2.4.2 Атака FMS
Отцами-прородителями первого принципа для взлома WEP ключа считаются криптологи Скотт Флурер (F), Итцик Мантин (M) и Ади Шамир (Sh)- FMS. Принцип работы их метода:
a) при некоторых векторах инициализации шифр RC4 оказывается таким, что информация о ключе проявляется в выходных бaйтах.
б)слабость, выражающаяся в инвариатности, позволяет использовать выходные байты для определения наиболее вероятных бaйтов ключа.
в)первые выходные байты всегда предсказуемы, поскольку содержат заголовок SNAP, определенный в спецификации IEEE.
Всё сводится к поиску пакетов со слабым IV (многие производители уже изменили алгоритм генерации и выход слабых апкетов ограничен) и требует 6.000.000 пакетов для удачного взлома, со временем атака FMS была значительно усовершенствована и количество пакетов, которые необходимо было собрать сократилось до 500.000. Улучшенная атака FMS была реализована в утилите dwepcrack из комплекта BSD-airtools. Другой утилитой, в которой реализован этот метод, удалось взломать ключ имея всего 3000-3500 фреймов, имя ей - AirSnort. В общем случае, достаточно будет 2млн. При средней интенсивности прогона трафика, это около 2х часов. Если трафик в сети настолько мал, что вы часами не можете насобирать нужное колличество пакетов, то есть вариант использовать утилиту reinj. Она повторно отправляет перехваченные ARP и TCP ACK запросы в эфир, в случае удачного расклада, сеть отвечает нам зашифрованными ARP и TCP RST. Так же используется TCP SYN и запросы по протоколу DHCP. Предварительно утилита попросит узнать BSSID точки доступа. Заметьте, что мы даже не знаем что за пакет послали и какой ответ получили, главное что на него отвечают и трафик повышается, что нам и надо. Ещё одна полезная утилита WEPWedgie (Энтон Рейджер, http://sourceforge.net/projects/wepwedgie/), позволяет создавать тестовые пакеты и отсылать их в беспроводную сеть без знания WEP ключа. chopchop (KoreK, http://www.netstumbler.org/showthread.php?t=12489) - революционная утила, позволяет расшифровывать пакеты не зная ключа. Принцип действия: повторно отсылает зашифрованный пакет, предварительно модифицируя один байт. Потом смотрим на реакцию AP далее определяется исходное значение байта и переходим к следующему. Таким образом постоянно посылая пакеты, возможно расшифровать траф, даже если каждый клиент юзает свой ключ. Похожую методику использует утилита aireplay (Кристоф Девайн), она тоже посылает в сеть поддельные ARP запросы. Далее - атаки Корека - AirCrack (Кристофер), WepLab и последние версии AirSnort, наиболее эфективная атака на WEP. Основан на сборе пакетов с уникальными векторами инициализации.
Какие же существуют приёмы ускоряющие подбор WEP ключа?
I. Атака на основе словаря. Всё просто брутим по словарику.
II. Атак «человек посередине». Всё сводится к подмене своих ESSID, WEP, MAC на значения таких же как у валидной AP. Различныи способома делается так, что сигнал вашей точки либо намного мощнее либо валидная AP вообще потеряла работоспособность. Если точка к примеру применяла RADIUS-сервер, то его тоже не мешало бы установить, вобщем заделаться под реальную AP по максимуму. На практике эта атака реализуется с помошью утилиты monkey_jack из набора AirJack.
III. Атака полным перебором. Существуют 64 и 128 разрядные ключики, но т.к. VI не зашифрован и занимает 24 разряда, то получаем 40 и соответственно 102-разрядные ключи. Полный перебор 40-разрядгых ключей на средней PC займёт 2-3 недели.
IV. Атака на основе анализа IV и поиска корреляции между ними и ключами RC4.
V. Пассивная атака - снифаем пакетики, и смотрим в не зашифрованный IV, если удалось найти два пакета с одинаковым VI, то применяем к ним XOR - получаем новый пакет. Так уменьшается колличество возможвых вариантов ключей для подбора.
VII. Активная атака. Флудим ложными пакетами или просто DoS. Автоматизируется с помошью утилит Air-Jack, Libradiate, FakeAP, Voidll и File2air.
IX. Достать WEP ключ прямо с клиентской машины. С этой задачей пытаеться справиться утилита LucentRegCrypto. При каких же условиях позможна успешная атака? Клиент использует Lucent Orinoco Client Manager и у взломщика есть возможность прочитать реестр жертвы. Lucent Orinoco Client Manager - это Windows приложение и оно по "щастливой" неосторожности сохраняет WEP-ключи в реестре по следующим веткам:
HKEY_LOVAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}�009
HKEY_LOVAL_MACHINESYSTEMCurrentControlSet001ControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}�006
HKEY_LOVAL_MACHINESYSTEMCurrentControlSet002ControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}�006
HKEY_LOVAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}�006
Утилита LucentRegCrypto успешно расшифровывает хранящиеся ключи в реестре.
С ОС Linux, как ни странно, дела обстоят ещё хуже. Ключ в незашифрованном виде храниться в файле /etc/pcmcia/wireless.opts. Единственная защита, это права доступа к файлу.
2.5 Взлом протокола TKIP
В этом протоколе используется разделенный ключ Preshared Key- PSK (256 бит). В зависимости от настроек может использоваться один для всех, а может быть выделен уникальный для каждого клиента. PSK в свою очередь используется для генерирования пары временных ключей Transient Key - РТК. В теории зная PSK можно и сгенерировать РТК. Вот как генерируется сама PSK:
PSK=PBKDF2(пасс, essid_точки, длинна_essid, 4096, 256);
PBKDF2 - криптографический метод из стандарта PKCS #5 v2.0. Как работает этот метод и что он делает с переданными ему данными? Первые три значения перемешиваются 4096 раз для генерирования 256-битового ключа. Сам стандарт говорит о том, что если пасс менее 20 символов, то сгенерированный ключ будет не достаточно криптостойким. PSK передаётся в пакет для аутентификации, поэтому сдесь так же можно применить выше описанную технологию, когда клиенту от имени AP отсылается датаграмма на разрыв соединения. Клиент повторно пытается соединиться, думая что потерял коннект, а мы ловим его пакеты. Утилита Asleap-imp отдалённо напоминает практический пример этого метода. Так же можно применить банальный брутфорс пароля, который применяется для генерирования PSK.
2.6 Атака на WPAv1.
Существующая атака основывается на разделении клиенских и бродкастных пакетов от одной AP. Далее немного подробней для каждой из реализаций. Вообще достаточно геморное это дело - взлом сетки построенной на основе WPA и я не особо завидую взломщику, которуму необходимо проникнуть в такую сеть. Но ходят легенды, что и она покорима :) .
2.7 Атака на WPAv2, пока всё что можно предпринять, это банальный DOS. Создаём множество пробных соединений по фальшивому МАС адресу.
2.8 Взлом Cisco EAP-LEAP.
На одной из блекхетовской конференции Defcon, Джошуа Райт описал способ, который позволяет взломать протокол EAP-LEAP. Уже ранее упомянутая утилита Asleap-imp практически реализовывает этот способ атаки. Кратенько принцип атаки: вычисляется спиксок MD5-свёрток паролей, перехватываются фреймы с запросом и ответом, из них извлекается имя пользователя, используя слабые места протокола - вычисляются два последних бита MD5-свёртки, проводится улучшенный брут имея уже два известных бита. Ещё одна утилита работающая по такому принципу - Leap.
2.9 Взлом протокола аутентификации Cisco EAP-LEAP.
В основе LEAP лежит аутентификация по паролю, а не с использованием сертификатов. Этот протокол по сути дела использует протокол MS-CHAPv2. Тут каждый клиент шифрует свои пакеты своим уникальным ключём, только для бродкастов используется один и тот же. Т.е. нам необходимо всего лишь отделить клиентские пакеты от бродов и в обычном режиме приступить к дешифровке. Главное отличие между WPAv1 и WPAv2 - использование принципиально различных систем симметричного шифрования (ТКIP в WPAv1, CCMP в WPAv2) и хэширования (MIC в WPAv1, CBC-MAC в WPAv2).
2.10 Взлом протокола EAP-MD5.
Уязвим к атакам «человек посередине», сконфигурировав ложную точку доступа возможен перехват аутентифицирующих данных.
2.11 EAP-TLS.
ЕАР - это расширяемый протокол аутентификации, применяется поверх PPP, не выбирает конкретный
механизм аутентификации на этапе управления каналом, а откладывает выбор до этапа аутентификации, тогда как РРР просто пропускает через себя все необходимые для аутентификации сообщения. О случаях взлома этого протокола я ничего не слышал.
3. Атака на сервер RADIUS
Если вы нашли AP, которая защищена с использованием этого средства, то можно сказать, что служащие отвечающие за безопасность делают свою работу. Но как и у всего ПО у Радиуса есть некоторые уязвимости. Во-первых протокол UDP, который использует этот сервер, ни как не мешает нам подсовывать ложные пакеты. Так же возможен полный перебор для получения доступа, атака "повтор ответа" и бессмертный DOS. Если удалось перехватить MD5 хеши пакетов об успешной аутентификации, то можно в офф лайне попытаться взломать хеши полным перебором. Если известен валидный логин и пароль для аутентификации, то есть вероятность узнать секретный ключ и наоборот зная ключ можно взломать аутентификационные данные другой учётной записи. Для взлома секретного ключа необходимо послать запрос на аутентификацию, перехватить отправляемый Accept-Request пакет и выполнить XOR между защищенной частью атрибута User-Password с паролем. И обратный механизм, зная секретный ключ можно изменять Access-Request пакеты до тех пор пока не получим верный пароль. Повтор ответа - снифаем и создаём БД с аутентификаторами запросов, идентификаторами и ответами на них с сервера, находим запросы с одинаковым аутентификатором и повторяем ранее посланнй ответ, т.е. прикидываемся сервером, плюс можно использовать похожий Access-Accept пакет для того чтобы аутентифицироваться. О практической реализации описанных видов взлома мало что можно сказать в силу того, что серверы данного типа пока мало распространены и отсутствует в паблике специально заточенное ПО для атаки на такого рода сервера.
Беспроводная точка доступа никак не защищена т.е. не используется никакой протокол шифрования (WEP, WPA, WPAv2 etc), нет фильтрации по MAC-адресу, ESSID открыта, нет фильтрации протоколов. Дальнейште действия зависят только от намеченных целей. Если это просто возможность получить доступ к Интернету, то достаточно узнать IP-адрес шлюза (Ettercap - модуль triton) и доступ в интернет открыт. Если же цели иные, исследум локальную сеть на предмет более глубокого проникновения.
2. Второй случай.
Применяется шифрование иили фильтрация по MAC-адресу иили ESSID закрыта. В таком случает проникновение в сеть несколько затрудняется и многое будет зависеть от используемых средств защиты и качества настроенной беспроводной сети.
2.1 Сбор информации.
Перед проникновением в беспроводную сеть, необходимо получить тот минимум информации, который в последствии проанализировав, существенно поможет нам. Сбор предварительной информации вылилось в отдельное течение и было названо War-driving. Взломщик передвигается на затонированной машине по местности где предположительно кишат беспроводные сети и пытается разузнать всё про всех. Что же это за информация? Первое это SSID (Servise Set Identifier) - это отличительный идентификатор каждой точки доступа - её nickname. Следующая иформация касается уникального MAC-адреса (Media Access Control) точки доступа. Имеет тот же функционал, что и в обычных сетевых устройствах. Третье это вектор инициализации - IV (Initialization Vector), если конечно испльзуется шифрование. Он идёт после заголовка и генерируется на основе ключа WEP (Wired Equivalent Privacy). Последние два параметра призваны обеспечить хоть какую-нибуть безопасность в беспроводных сетях, как мы все знаем неочень хорошую.
2.1.1.Утилиты для сбора информации.
Итак, утилиты, которые предназначены для сбора информации о точке доступа. Многострадальный NetStumbler (www.netstumbler.com). Это одна из первых утилит под ОС Windows, которая позволила определять SSID точки, MAC-адрес, длинну ключа WEP (если используется), диапазон сигналов, тип оборудования, номер канала. Принцип её функционарования достаточно прост и очень похож на обычный сетевой сканер. Утилита рассылает броды типа probe Request в этиф в соответствиии со стандартом 802.11. Ну а каждая уважающая себя точка доступа (т.е. с настройками по умолчанию), получив такой пакет незамедлительно отвечает и незадумываясь передаёт нам SSID и все остальные упомянутые параметры. NetStumbler'у остаётся только их обработать и представить нам в лучшем виде. Стоит упомянуть, что NetStumbler умеет координировать свои действия используя систему глобального позиционирования GPS (Global Position System). Используя её можно составлять карты размещения точек доступа. В этом могут помочь утилиты MapPoint и StambVerter.
Следующая утилита из разряда вынюхивателей полезной информации это Kismet (kismetwireless.net). Эта утилита написана под ОС семейства Linux и BSD. Может использоваться как в активном режиме, подобно утилите NetStumbler, рассылая броды, так и в пассивном, циклически прослушивая каналы стандарта 802.11. Её работа в пассивном режиме аналогична обычным сниферам, она обнаруживает пакеты Association Request, Beacon, IP адреса выдернутые из ARP запросов. Если это Cisco оборудование, то и CDP имя (Cisco Discovery Protocol).
Ещё одна утилита для сбора информации это Dstumbler (dachb0den.com/projects/datumbler.html). Написана для ОС семейства BSD. Входит в состах набора утилит BSD-Airtools. Отличительной особенностью этой утилиты является, то что она позволяет регистрировать точки доступа, в которых отключена функция риплея (reply) на броды (broadcast) т.е. она будет давать плоды, там где NetStumbler бессилен. Так же в этой утилите есть такая полезная функция, как смена MAC-адреса с заданной периодичностью.
AiroPeek NX (wildpackets.com) работает под управлением ОС Windows. Это Shareware утилита, как и положено для Windows систем. Функционал утилиты отвечает всем требованиям и вполне пригодна для решения различных сетевых проблем, а взломщику поможет детально проанализировать атакуемую беспроводную сеть. Определяет MAC-адрес, IP, SSID etc. Позволяет сканировать каналы и налету шифровать трафик с использованием заданного ключа WEP. Очень полезная вкладка Peer Map. На ней отображается связи между всеми узлами в сети с подписанными MAC-адресами.
Cain&Abel (http://www.oxid.it) - извеснейший снифер под ОС Windows так же умеет работать с беспроводными сетями и пригоден для сбора предварителльной информации.
IPTools (http://erwan.l.free.fr) - очень много возможностей касательно беспроводных сетей, пользователям ОС Windows стоит обратить на неё внимание.
essid_jack (802.11ninja.net) - представитель пакета утилит под названием Air-Jack. Мега полезная утилита, особенно для более или мение настроенных AP, которые уже не хотят так просто расставаться со значением SSID. Стоит отметить, что разработчики позаботились о том, чтобы взломщика не сразу спалили. Она позволяет отключать от сети определённого пользователя, указывая его MAC-адрес. Этот функционал немного мне напомнил старую утилиту SMBDie, с помошью которой я ребутил тачки, чтобы освободить место на сервере CS :). Подробнее в статье "WLAN:Защита".
2.1.2. Утилиты для создания dump файла.
Извеснейшая утилита tcpdump (tcpdump.org) так же может применяться для декодирования фреймов стандарта 802.11. Помимо всех основных параметров она позволяет определить длинну пакета, все необходимые идентификаторы AP (Access Point).
В продолжении темы именитых утилит, упомяну про Ethereal (ethereal.com). Принцип её работы в беспроводных сетях мало чем отличается от обычных. Существует версии под UNIX и Windows, поэтому сбор трафика можно производить на UNIX системе, а анализировать на Windows. Вообщем, кто имеет опыт работы с ней, то может смело её использовать для анализа и беспроводных сетей тоже.
Ещё одна утилита из набора программ BSD-Airtools это prism2dump (dachb0den.com/projects/prism2dump.html). Она предоставляет информацию о фреймах с тремя уровнями детализации.
2.1.3. Утилиты для взлома WEP.
BSD-Airtools. Набор утилит Dweputils (dwepdump,dwepcrack и dwepkeygen). dwepdump - создаёт дамп пакетов в рсар формате. Возможности: дампить пакеты только со слабым ключём для последующего взлома, вывод статистики, возможность задать размер пакета для отсейки и ускорения набора нужных пакетов, слить несколько дампов в один, улучшенный алгорит взлома ключа (http://www.dachbOden.com/projects/bsd-airtools/wepexp.txt.), по сравнению со стандартным методом FMS. А dwepcrack - соответственно пытается сломать сдампленные пакеты с помошью dwepdump. Возможности: взлом полным перебором по принципу FMS (brute.с), более оптимизированная атака FMS (weakksa.c), взлом по словарю, оптимизированный метод для 40-битных ключей, симметричная мультипроцессорная обработка (несколько процессов), взлом по всему пространству ключей, отдельная атакая для 104-битных ключей.
AirSnort (airsnort.shmoo.com) - популярный анализатор пакетов и взломщик WEP ключа одновременно.
Wepcrack - состоит из 5 перловых скриптов (WEPcrack.pl, WeaklVGen.pl, prism-getIV.pl и prism-decode .pl). Скрипт prism-getIV.pl достаёт все пакеты с вектором инициализации плюс первый байт зашифрованного текста из дампа *.pcap, его можно наснифать с помошью Kismet. Вся отфильтрованная инфа падает в IVfile.log, а его в свою очередь уже скармливаем WEPcrack.pl. Скрипт WeaklVGen.pl генерирует IV по заданному WEP ключу, практической цели не имеет, а вот чтобы понять сам принцип работы - бесценен. prism-decode.pl - декодирует заголовки 802,11 пакета.
WEP-tools. Автор Майк Ньюшем. Очень эфективна для взлома 40-битного ключа, для взлома же 104-битного ключа имеет смысл разве что с использованием словаря. После успешного получения ключа дешифруем пакеты с помошью wep_decrypt.
2.1.4. Утилиты для ускорения оборота трафика.
WebWedgie (Антон Рэйджер). Разработан под платформу Linux, поднимает трафик в сети для ускоренного сбора зашифрованных пакетов, внедряя трафик в сеть, использующий генерацию части потока RC4 через перехват и XOR зашифрованной и незашифрованной переменной, передаваемой при аутентикации клиента с использованием распределенного WEP ключа.
Пакет Wnet.
a) reinj - аналог WebWedgie под BSD системы.
б) dinject-deauth - анализ трафика.
WepAttack. Утилита сделавшая большой шаг врерёд и создавшая новые возможности для взлома беспроводных сетей. Теперь с её помошью не нужно собирать мегатонны зашифрованных пакетов. Интегрировав её с Kismet и перехватив несколько зашифрованных пакетов, можно уже сразу же приступать ко взлому. Т.е. если попадётся сеть со слабым WEP ключём, то почти моментально можно расшифровать весь передаваемый трафик.
2.2 ESSID закрыт.
Скрытие ESSID небольшая преграда для опытного хакера. AP удаляет его не из всех фреймов. В запросах на повторную аутентификацию и повторное присоединение он присутствует. Значит достаточно отсоединить любой хост от сети (essid_jack), после чего он сделает повторную попытку на соединение, а мы аккуратно снифаем передаваемые пакеты, где и будет находиться ESSID. Ещё один момент, о котором стоит упомянуть, это то, что хоть ESSID может быть закрыт, но его значение поумолчанию не было изменено. У каждого производителя своё значение по умолчанию для ESSID. Производителя можно определить из OUI (Organizationally Unique Identifier) - первые 3 байта MAC-адреса. Ну а зная его, узнать дефолтное ESSID не составляет труда. Существуют внушительные БД OUI-ESSID и если вам известен производитель, то Вам прямиком к ним.
2.3 Фильтрация MAC-адреса.
Так же не является эфективным способом защиты. Ни что не мешает узнать валидные клиентские MAC-адреса и после отсоединения клиента от сети - использованть их. Но можно и не ждать, а задосить юзера (wlan_jack, File2air, omerta, dinject-disas, fatajack). Настраиваем одну карточку с MAC-адресом как у AP и шлём с неё запрос на отсоединение (deassociation). С другой же карточки с MAC-адресом, который был у кикнутого юзера конектимся к настоящей AP.
2.4.1 WEP.
Первая попытка создать более защищённый канал - это стандарт WEP. Всё на что он способен, дак это создать труднисти для пассивного прослушивания. Никакой безопасной аутентификации, шифрования вектора инициализации IV (Initialization Vector), ID полей пакета, заголовка пакета он не обеспечивает. Шифруются только данные, передаваемые между клиентом и AP, установленным ключём. Главной брешью этого стандарта является использование незашифрованного IV для формирования ключа.
Одна из самых раскрученных утилит для взлома WEP ключа - это wep_tools. Но хочу заменить и одна из самых требовательных. В большинстве случаев успешный результат её работы будет лишь если вы ломаете 40-битный ключ, вы скормили примерно 10-20 гиговый дамп трафика (*.pcap), у вас приличный процессор, достаточно много времени (месяц) и много терпения :).
2.4.2 Атака FMS
Отцами-прородителями первого принципа для взлома WEP ключа считаются криптологи Скотт Флурер (F), Итцик Мантин (M) и Ади Шамир (Sh)- FMS. Принцип работы их метода:
a) при некоторых векторах инициализации шифр RC4 оказывается таким, что информация о ключе проявляется в выходных бaйтах.
б)слабость, выражающаяся в инвариатности, позволяет использовать выходные байты для определения наиболее вероятных бaйтов ключа.
в)первые выходные байты всегда предсказуемы, поскольку содержат заголовок SNAP, определенный в спецификации IEEE.
Всё сводится к поиску пакетов со слабым IV (многие производители уже изменили алгоритм генерации и выход слабых апкетов ограничен) и требует 6.000.000 пакетов для удачного взлома, со временем атака FMS была значительно усовершенствована и количество пакетов, которые необходимо было собрать сократилось до 500.000. Улучшенная атака FMS была реализована в утилите dwepcrack из комплекта BSD-airtools. Другой утилитой, в которой реализован этот метод, удалось взломать ключ имея всего 3000-3500 фреймов, имя ей - AirSnort. В общем случае, достаточно будет 2млн. При средней интенсивности прогона трафика, это около 2х часов. Если трафик в сети настолько мал, что вы часами не можете насобирать нужное колличество пакетов, то есть вариант использовать утилиту reinj. Она повторно отправляет перехваченные ARP и TCP ACK запросы в эфир, в случае удачного расклада, сеть отвечает нам зашифрованными ARP и TCP RST. Так же используется TCP SYN и запросы по протоколу DHCP. Предварительно утилита попросит узнать BSSID точки доступа. Заметьте, что мы даже не знаем что за пакет послали и какой ответ получили, главное что на него отвечают и трафик повышается, что нам и надо. Ещё одна полезная утилита WEPWedgie (Энтон Рейджер, http://sourceforge.net/projects/wepwedgie/), позволяет создавать тестовые пакеты и отсылать их в беспроводную сеть без знания WEP ключа. chopchop (KoreK, http://www.netstumbler.org/showthread.php?t=12489) - революционная утила, позволяет расшифровывать пакеты не зная ключа. Принцип действия: повторно отсылает зашифрованный пакет, предварительно модифицируя один байт. Потом смотрим на реакцию AP далее определяется исходное значение байта и переходим к следующему. Таким образом постоянно посылая пакеты, возможно расшифровать траф, даже если каждый клиент юзает свой ключ. Похожую методику использует утилита aireplay (Кристоф Девайн), она тоже посылает в сеть поддельные ARP запросы. Далее - атаки Корека - AirCrack (Кристофер), WepLab и последние версии AirSnort, наиболее эфективная атака на WEP. Основан на сборе пакетов с уникальными векторами инициализации.
Какие же существуют приёмы ускоряющие подбор WEP ключа?
I. Атака на основе словаря. Всё просто брутим по словарику.
II. Атак «человек посередине». Всё сводится к подмене своих ESSID, WEP, MAC на значения таких же как у валидной AP. Различныи способома делается так, что сигнал вашей точки либо намного мощнее либо валидная AP вообще потеряла работоспособность. Если точка к примеру применяла RADIUS-сервер, то его тоже не мешало бы установить, вобщем заделаться под реальную AP по максимуму. На практике эта атака реализуется с помошью утилиты monkey_jack из набора AirJack.
III. Атака полным перебором. Существуют 64 и 128 разрядные ключики, но т.к. VI не зашифрован и занимает 24 разряда, то получаем 40 и соответственно 102-разрядные ключи. Полный перебор 40-разрядгых ключей на средней PC займёт 2-3 недели.
IV. Атака на основе анализа IV и поиска корреляции между ними и ключами RC4.
V. Пассивная атака - снифаем пакетики, и смотрим в не зашифрованный IV, если удалось найти два пакета с одинаковым VI, то применяем к ним XOR - получаем новый пакет. Так уменьшается колличество возможвых вариантов ключей для подбора.
VII. Активная атака. Флудим ложными пакетами или просто DoS. Автоматизируется с помошью утилит Air-Jack, Libradiate, FakeAP, Voidll и File2air.
IX. Достать WEP ключ прямо с клиентской машины. С этой задачей пытаеться справиться утилита LucentRegCrypto. При каких же условиях позможна успешная атака? Клиент использует Lucent Orinoco Client Manager и у взломщика есть возможность прочитать реестр жертвы. Lucent Orinoco Client Manager - это Windows приложение и оно по "щастливой" неосторожности сохраняет WEP-ключи в реестре по следующим веткам:
HKEY_LOVAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}�009
HKEY_LOVAL_MACHINESYSTEMCurrentControlSet001ControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}�006
HKEY_LOVAL_MACHINESYSTEMCurrentControlSet002ControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}�006
HKEY_LOVAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}�006
Утилита LucentRegCrypto успешно расшифровывает хранящиеся ключи в реестре.
С ОС Linux, как ни странно, дела обстоят ещё хуже. Ключ в незашифрованном виде храниться в файле /etc/pcmcia/wireless.opts. Единственная защита, это права доступа к файлу.
2.5 Взлом протокола TKIP
В этом протоколе используется разделенный ключ Preshared Key- PSK (256 бит). В зависимости от настроек может использоваться один для всех, а может быть выделен уникальный для каждого клиента. PSK в свою очередь используется для генерирования пары временных ключей Transient Key - РТК. В теории зная PSK можно и сгенерировать РТК. Вот как генерируется сама PSK:
PSK=PBKDF2(пасс, essid_точки, длинна_essid, 4096, 256);
PBKDF2 - криптографический метод из стандарта PKCS #5 v2.0. Как работает этот метод и что он делает с переданными ему данными? Первые три значения перемешиваются 4096 раз для генерирования 256-битового ключа. Сам стандарт говорит о том, что если пасс менее 20 символов, то сгенерированный ключ будет не достаточно криптостойким. PSK передаётся в пакет для аутентификации, поэтому сдесь так же можно применить выше описанную технологию, когда клиенту от имени AP отсылается датаграмма на разрыв соединения. Клиент повторно пытается соединиться, думая что потерял коннект, а мы ловим его пакеты. Утилита Asleap-imp отдалённо напоминает практический пример этого метода. Так же можно применить банальный брутфорс пароля, который применяется для генерирования PSK.
2.6 Атака на WPAv1.
Существующая атака основывается на разделении клиенских и бродкастных пакетов от одной AP. Далее немного подробней для каждой из реализаций. Вообще достаточно геморное это дело - взлом сетки построенной на основе WPA и я не особо завидую взломщику, которуму необходимо проникнуть в такую сеть. Но ходят легенды, что и она покорима :) .
2.7 Атака на WPAv2, пока всё что можно предпринять, это банальный DOS. Создаём множество пробных соединений по фальшивому МАС адресу.
2.8 Взлом Cisco EAP-LEAP.
На одной из блекхетовской конференции Defcon, Джошуа Райт описал способ, который позволяет взломать протокол EAP-LEAP. Уже ранее упомянутая утилита Asleap-imp практически реализовывает этот способ атаки. Кратенько принцип атаки: вычисляется спиксок MD5-свёрток паролей, перехватываются фреймы с запросом и ответом, из них извлекается имя пользователя, используя слабые места протокола - вычисляются два последних бита MD5-свёртки, проводится улучшенный брут имея уже два известных бита. Ещё одна утилита работающая по такому принципу - Leap.
2.9 Взлом протокола аутентификации Cisco EAP-LEAP.
В основе LEAP лежит аутентификация по паролю, а не с использованием сертификатов. Этот протокол по сути дела использует протокол MS-CHAPv2. Тут каждый клиент шифрует свои пакеты своим уникальным ключём, только для бродкастов используется один и тот же. Т.е. нам необходимо всего лишь отделить клиентские пакеты от бродов и в обычном режиме приступить к дешифровке. Главное отличие между WPAv1 и WPAv2 - использование принципиально различных систем симметричного шифрования (ТКIP в WPAv1, CCMP в WPAv2) и хэширования (MIC в WPAv1, CBC-MAC в WPAv2).
2.10 Взлом протокола EAP-MD5.
Уязвим к атакам «человек посередине», сконфигурировав ложную точку доступа возможен перехват аутентифицирующих данных.
2.11 EAP-TLS.
ЕАР - это расширяемый протокол аутентификации, применяется поверх PPP, не выбирает конкретный
механизм аутентификации на этапе управления каналом, а откладывает выбор до этапа аутентификации, тогда как РРР просто пропускает через себя все необходимые для аутентификации сообщения. О случаях взлома этого протокола я ничего не слышал.
3. Атака на сервер RADIUS
Если вы нашли AP, которая защищена с использованием этого средства, то можно сказать, что служащие отвечающие за безопасность делают свою работу. Но как и у всего ПО у Радиуса есть некоторые уязвимости. Во-первых протокол UDP, который использует этот сервер, ни как не мешает нам подсовывать ложные пакеты. Так же возможен полный перебор для получения доступа, атака "повтор ответа" и бессмертный DOS. Если удалось перехватить MD5 хеши пакетов об успешной аутентификации, то можно в офф лайне попытаться взломать хеши полным перебором. Если известен валидный логин и пароль для аутентификации, то есть вероятность узнать секретный ключ и наоборот зная ключ можно взломать аутентификационные данные другой учётной записи. Для взлома секретного ключа необходимо послать запрос на аутентификацию, перехватить отправляемый Accept-Request пакет и выполнить XOR между защищенной частью атрибута User-Password с паролем. И обратный механизм, зная секретный ключ можно изменять Access-Request пакеты до тех пор пока не получим верный пароль. Повтор ответа - снифаем и создаём БД с аутентификаторами запросов, идентификаторами и ответами на них с сервера, находим запросы с одинаковым аутентификатором и повторяем ранее посланнй ответ, т.е. прикидываемся сервером, плюс можно использовать похожий Access-Accept пакет для того чтобы аутентифицироваться. О практической реализации описанных видов взлома мало что можно сказать в силу того, что серверы данного типа пока мало распространены и отсутствует в паблике специально заточенное ПО для атаки на такого рода сервера.
Комментарии
Нет комментариев. Вы можете быть первым!