или былинный сказ о том как грамотно подрезать пароль соседской вафли и не сильно при этом огрести
Задолбало читать статьи и смотреть видео. Ничего не получается. Плачу 100$ человеку, который меня сам лично на практике пошагово научит взламывать сети WiFi. Шифрование WPA/WPA2. snakemc Пролог
Wi-Fi сейчас есть практически в каждой квартире. Невидимые нити беспроводных каналов опутали мегаполисы и села, дома и дачи, гаражи и офисы. Несмотря на кажущуюся защищенность ("как, я же задавала пароль?!”) ушлые работники темной стороны IT каким-то образом обходят все эти ваши защиты и нагло влезают в вашу частную беспроводную собственность, чувствуя себя там как дома. При этом для многих простых юзеров эта технология так и остается загадкой, передаваемой из одного поколения хакеров другому. На просторах сети можно найти десятки обрывочных статей и сотни инструкций о том как взломать вай-фай, страждущим предлагается просмотреть обучающее видео с подбором пароля "qwerty123”, но полноценного руководства что называется "от и до” по этой теме я пока не встречал. Что собственно и решил восполнить.
Глава 1. Ищи кому выгодно
Давайте разберемся, зачем же добропорядочные (и не очень) граждане пытаются взломать Wi-Fi соседа? Итак, тому может быть несколько причин:
- Халявный интернет. Да-да, тысячи школьников еще в эпоху фидо и модемных соединений лет пятнадцать назад безуспешно искали в поисковиках тот самый волшебный "крякер интернета”, скачивая себе на персоналки целые тонны троянов и прочей нечисти. Бесплатный доступ к Сети был пределом мечтаний целого поколения. Сейчас ситуация значительно изменилась, дешевые безлимитные тарифы доступны практически везде, но иметь в круглосуточном резерве запасной канальчик на случай, если вдруг твой провайдер временно склеит ласты, никому не помешает. Кроме того, нередки ситуации типа "смотри-ка, а у него канал пошире чем у меня будет”, что тоже как бы намекает на полезность происходящего.
- Путешественники (и моряки в частности). Когда Wi-Fi в отеле стоит 5 евро в час, а связь с Родиной нужна постоянно и желательно в номере и забесплатно, практическую ценность заломанного Wi-Fi ощущаешь как никогда остро. В излишних комментариях это я думаю не нуждается.
- Снифанье трафика жертвы и последующий взлом аккаунтов почты, социальных сетей, асек и прочее хулиганство. Имея на руках пароль от Wi-Fi мы имеем возможность расшифровать весь передаваемый "по воздуху” трафик, включая сессии аутентификации на разных сайтах, куки и много еще чего вкусного.
- Промышленый шпионаж. В настоящее время офисный Wi-Fi, по-быстрому настроенный криворуким админом, является для подкованного человека просто парадным входом в ЛВС организации, а там можно найти ох как много интересного, от элементарного снифанья почты и асек до секретных документов в расшаренных папках и файлопомойках.
- Пентестинг (от англ. penetration testing - тестирование на проникновение). Пентестеры - это по сути те же хакеры (а зачастую это они и есть), но действующие по заказу и с согласия владельца сети. В их задачи входит проверка безопасности сети и устойчивости к проникновению извне (или нарушению ее работы изнутри). Учитывая стоимость подобного рода услуг вряд ли ваш сосед наймет такого специалиста (если конечно он не олигарх), а вот среди владельцев крупного и среднего бизнеса, озадаченных безопасностью IT-структур своих предприятий, спрос на подобные услуги весьма высок.
Окинув беглым взглядом весь список причин и взвесив все "за" и "против" можно смело приступать... нет, не к практической части и не к водным процедурам, а для начала к теоретической подготовке.
Глава 2. WEP, WPA, HMAC, PBKDF2 и много других страшных слов
На заре развития беспроводного доступа, в далеком 1997 году, британские ученые как-то не слишком заморачивались с вопросами безопасности, наивно полагая что 40-битного WEP-шифрования со статическим ключем будет более чем достаточно, LOL. Но злостные хакеры на пару с талантливыми математиками (среди них отметился также и наш соотечественник Андрей Пышкин, что приятно) быстро разобрались что к чему, и сети защищенные даже длинным WEP-ключом в целых 104 бита в скором времени стали почему-то приравниваться к открытым. Однако с развитием компьютерной грамотности среди простого населения найти WEP-сеть сейчас стало чуть ли не сложнее чем открытую, поэтому основное внимание мы уделим более часто (т.е. повсеместно) встречающемуся WPA/WPA2.
Основное заблуждение рабочего класса - "я использую WPA2, его не взломать”. В жизни все оказывается совсем иначе. Дело в том, что процедура аутентификации (это страшное слово означает проверку что клиент "свой”) клиента беспроводной сети и в WPA, и WPA2 делится на два больших подвида - упрощенная для персонального использования (WPA-PSK, PreShared Key, т.е. авторизация по паролю) и полноценная для беспроводных сетей предприятий (WPA-Enterprise, или WPA-EAP). Второй вариант подразумевает использование специального сервера авторизации (чаще всего это RADIUS) и, к чести разработчиков, не имеет явных проблем с безопасностью. Чего нельзя сказать об упрощенной "персональной” версии. Ведь пароль, задаваемый пользователем, как правило постоянен (вспомните когда в последний раз вы меняли пароль на своем Wi-Fi :) и передается, пусть и в искаженном виде, в эфире, а значит его может услышать не только тот, кому он предназначен. Конечно разработчики WPA учли горький опыт внедрения WEP и нашпиговали процедуру авторизации разными крутыми динамическими алгоритмами, препятствующими рядовому хакеру быстро прочитать пароль "по воздуху”. В частности, по эфиру от ноутбука (или что там у вас) к точке доступа передается конечно же не сам пароль, а некоторая цифровая каша (хакеры и им сочуствующие называют этот процесс "хендшейк”, от англ. handshake - "рукопожатие”), получаемая в результате пережевывания длинного случайного числа, пароля и названия сети (ESSID) с помощью пары вычислительно сложных итерационных алгоритмов PBKDF2 и HMAC (особенно отличился PBKDF2, заключающийся в последовательном проведении четырех тысяч хеш-преобразований над комбинацией пароль+ESSID). Очевидно, основной целью разработчиков WPA было как можно сильнее усложнить жизнь кулхацкерам и исключить возможность быстрого подбора пароля брутфорсом, ведь для этого придется проводить расчет PBKDF2/HMAC-свертки для каждого варианта пароля, что, учитывая вычислительную сложность этих алгоритмов и количество возможных комбинаций символов в пароле (а их, т.е. символов, в пароле WPA может быть от 8 до 63), продлится ровно до следующего большого взрыва, а то и подольше. Однако принимая во внимание любовь неискушенных пользователей к паролям вида "12345678” в случае с WPA-PSK (а значит и с WPA2-PSK, см.выше) вполне себе возможна так называемая атака по словарю, которая заключается в переборе заранее подготовленных наиболее часто встречающихся нескольких миллиардов паролей, и если вдруг PBKDF2/HMAC свертка с одним из них даст в точности такой же ответ как и в перехваченном хендшейке - бинго! пароль у нас.
Весь вышеперечисленный матан можно было бы и не читать, самое главное будет написано в следующем предложении. Для успешного взлома WPA/WPA2-PSK нужно поймать качественную запись процедуры обмена ключами между клиентом и точкой доступа ("хендшейк”), знать точное название сети (ESSID) и использовать атаку по словарю, если конечно мы не хотим состариться раньше чем досчитаем брутом хотя бы все комбинации паролей начинающихся на "а”. Об этих этапах и пойдет речь в последующих главах.
Глава 3. От теории - к практике
Что же, поднакопив изрядный багаж теоретических знаний перейдем к практическим занятиям. Для этого сначала определим что нам нужно из "железа” и какой софт в это самое "железо” надо загрузить.
Для перехвата хендшейков сгодится даже самый дохлый нетбук. Все что от него требуется - свободный порт USB для подключения "правильного” адаптера Wi-Fi (можно конечно ловить и встроенным, но это только если атаковать соседа по общаге, т.к. хилый сигнал встроенного адаптера и его непонятная антенна вряд ли смогут пробить хотя бы одну нормальную бетонную стенку, не говоря уже о паре сотен метров до жертвы, которые очень желательно выдерживать чтобы не спалиться :). Очень хорошим преимуществом нетбука может стать малый вес (если придется работать на выезде) и способность долго работать от батареи. Для решения задачи подбора пароля вычислительной мощности нетбука (да и полноценного ноутбука) уже будет недостаточно, но об этом мы поговорим чуть позже, сейчас необходимо сосредоточиться на хендшейке и методах его поимки.
Чуть выше я упомянул про "правильный” адаптер Wi-Fi. Чем же он так "правилен”? В первую очередь он должен иметь внешнюю антенну с коэффициентом усиления минимум 3 dBi, лучше 5-7 dBi, подключаемую через разъем (это позволит при необходимости подключить вместо штатного штырька внешнюю направленную антенну и тем самым значительно увеличить убойную дистанцию до жертвы), мощность выходного сигнала адаптера должна быть не менее 500 мВт (или 27 dBm что одно и то же). Сильно гнаться за мощностью адаптера тоже не стоит, так как успех перехвата хендшейка зависит не только от того, насколько громко мы кричим в эфир, но и от того насколько хорошо слышим ответ жертвы, а это как правило обычный ноутбук (или еще хуже - смартфон) со всеми недостатками его встроенного Wi-Fi.
Среди вардрайверов всех поколений наиболее "правильными” являются адаптеры тайваньской фирмы ALPHA Network, например AWUS036H или подобный. Помимо альфы вполне работоспособны изделия фирмы TP-LINK, например TL-WN7200ND, хотя стоит он вдвое дешевле по сравнению с альфой, да и тысячи моделей других производителей, похожих друг на друга как две капли воды, благо вайфайных чипсетов в природе существует не так уж и много.
Итак с "железом” разобрались, ноутбук заряжен и готов к подвигам, а в ближайшей компьютерной лавке закуплен нужный адаптер. Теперь пару слов о софте.
Исторически сложилось, что самой распространенной операционной системой на наших ноутбуках была и остается Windows. В этом и состоит главная беда вардрайвера. Дело в том, что к большинству кошерных адаптеров (а точнее их чипсетов) отсутствуют нормальные виндовые драйвера с поддержкой жизненно-необходимых функций - режима мониторинга и инжекции пакетов, что превращает ноутбук разве что в потенциальную жертву, но ни как не в охотника за хендшейками. Справедливости ради стоит отметить, что некоторые чипы таки поддерживаются весьма популярной в узких кругах виндовой прогой CommView, но список их настолько убог по сравнению со стоимостью самой программы (или угрызениями совести скачавшего кракнутую версию), что сразу напрочь отбивает желание заниматься "этим” под Windows. В то же время выход давно придуман, и без ущерба для здоровья вашего ноутбука - это специальный дистрибутив BackTrack Linux, в который майнтейнеры заботливо упаковали не только все необходимые нам драйвера вайфайных чипсетов со всякими хитрыми функциями, но и полный набор утилит пакета aircrack-ng, (который скоро ох как нам пригодится), да и много еще чего полезного.
CommView в действии - посмотрели и забыли как страшный сон
Итак, качаем текущую версию BackTrack 5R1 (далее BT5 или вообще просто BT, т.к. к этому названию нам придется возвращаться еще не раз): http://www.backtrack-linux.org/downloads/
Регистрироваться совсем не обязательно, выбираем оконный менеджер по вкусу (WM Flavor - Gnome или KDE), архитектуру нашего ноутбука (скороее всего 32-битная), Image - ISO (не надо нам никаких виртуалок), и метод загрузки - напрямую (Direct) или через торрент-трекер (Torrent). Дистрибутив является образом Live-DVD, т.е. загрузочного диска, поэтому можно его просто нарезать на болванку и загрузиться, или затратить еще немного времени и калорий и сделать загрузочную флешку с помощью вот этой утилиты: Universal USB Installer (качать здесь: www.pendrivelinux.com). Очевидная прелесть второго решения в том, что на флешке можно создать изменяемый (Persistent) раздел с возможностью сохранения файлов, что в будущем окажется весьма кстати. Не буду подробно останавливаться на самом процессе создания загрузочной флешки, скажу только что желательно чтобы ее объем был не менее 4 Гб.
Вставляем флешку (диск, или что там у вас получилось) в ноут и загружаемся с нее. Вуаля, перед нами страшный и ужасный (а на самом деле жутко красивый) рабочий стол BT5! (Когда попросит имя пользователя и пароль введите root и toor соответствено. Если рабочий стол не появился дайте команду startx. Если опять не появился - значит не судьба вам работать в линукс, курите мануалы).
BackTrack: Finish him!
Итак, все прекрасно загрузилось, начинаем изучать что у нас где. Для начала давайте нащупаем наш Wi-Fi адаптер, для этого открываем окно командной строки (Terminal или Konsole в зависимости от типа оконного менеджера) и даем команду
Код:
root@bt:~# iwconfig
wlan0 IEEE 802.11abgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=14 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
wlan1 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Отлично, наш адаптер виден как wlan1 (wlan0 это встроенный адаптер ноутбука, его можно вообще отключить чтобы не мешался). Переводим wlan1 из режима Managed в режим Monitor:
Код:
root@bt:~# airmon-ng start wlan1
и смотрим что получилось:
Код:
root@bt:~# iwconfig
wlan0 IEEE 802.11abgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=14 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
wlan1 IEEE 802.11bgn Mode:Monitor Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
Просто замечательно, но почему параметр TX-Power (мощность передачи) только 20 dBm? У нас же адаптер на 27 dBm? Попробуем добавить мощности (тут главное не переборщить):
Код:
root@bt:~# iwconfig wlan1 txpower 27
Error for wireless request "Set Tx Power" (8B26) :
SET failed on device wlan1 ; Invalid argument.
И тут нас постигает первое разочарование - установить мощность больше 20 dBm нельзя! Это запрещено законодательством многих стран, но только не Боливии! Казалось бы причем здесь Боливия, но:
Код:
root@bt:~# iw reg set BO
root@bt:~# iwconfig wlan1 txpower 27
… и все проходит гладко, Боливия нам очень помогла, спасибо ей за это.
Что мы имеем на данном этапе? Наш мощный Wi-Fi адаптер настроен на максимальную мощность в режиме monitor mode и ожидает приказаний на интерфейсе mon0. Самое время осмотреться и прослушать эфир. Это очень просто:
Код:
root@bt:~# airodump-ng mon0
Теперь все внимание на экран!
Красным обведена сеть с WEP - большая редкость по нынешним временам
В левом верхнем углу видно как сканируются каналы (если необходимо зафиксировать канал, нужно вызывать airodump-ng с ключом --channel <номера каналов через запятую>), далее идет таблица найденных сетей с указанием (слева направо): BSSID (MAC-адрес сети), уровень приема сигнала в dBm (зависит от чувствительности приемника, на хороших адаптерах -80 dBm это вполне нормальный уровень), количество принятых Beacon frames (это широковещательные пакеты, несущие информацию о сети), число принятых пакетов данных и скорость приема (пакетов в секунду), канал на котором вещает точка доступа, скорость точки доступа в мегабитах, тип аутентификации (OPN - открытая сеть, WEP, WPA, WPA2), тип шифрования, волшебные буковки PSK в случае с WPA/WPA2 (подробности описаны выше в гл.2) и, наконец, название сети, то есть её ESSID.
Чуть ниже основной таблицы приведена таблица текущих ассоциаций клиентов к точкам. Забегая вперед отмечу, что она тоже важна, так как по ней можно определить активность и MAC-адреса клиентов для последующей их деассоциации.
Из картинки выше следует что нам есть чего ловить - есть и точки доступа, и клиенты с хорошим сигналом. Осталось выбрать жертву (чтобы файл сильно не разбухал можно записывать пакеты только от одной точки доступа дав ключ --bssid <MAC-адрес> или ограничив каналы как указано чуть выше) и дать команду записывать пакеты в файл добавив к вызову ключ -w <префикс названия файла>. Важно: если вы загрузились с DVD запись файла с пакетами необходимо вести на внешнюю флешку или жесткий диск, предварительно примонтировав их командой mount:
Код:
root@bt:~# mkdir /mnt
root@bt:~# mount /dev/sda1 /mnt
root@bt:~# cd /mnt
где /dev/sda1 - файл устройства внешней флешки (найти куда подцепилась флешка в вашем случае можно покопавшись в результатах вывода команды dmesg).
Для примера запустим airodump-ng на запись пакетов только одной сети из списка в файл testcap.cap:
Код:
root@bt:~# airodump-ng --bssid a0:21:b7:a0:71:3c -w testcap mon0
Теперь можно налить чашку кофе и пожевать бутерброд ожидая пока очередной клиент не пожелает прицепиться к точке доступа и подарить нам вожделенный хендшейк. Кстати, после получения хендшейка в правом верхнем углу появится предупреждающая надпись: WPA handshake: A0:21:B7:A0:71:3C. Все, дело сделано, и можно переходить к следующей главе.
Когда все бутерброды подъедены, кофе больше не лезет а хендшейка все нет и нет, в голову приходит светлая мысль что неплохо бы поторопить клиента с хендшейком. Для этого в состав пакета aircrack-ng входит специальная утилита, позволяющая отправлять клиентам запросы на деассоциацию (отсоединение) от точки доступа, после чего клиент снова захочет соединиться, а именно этого мы и ждем. Утилита эта называется aireplay-ng и запускать ее нужно в отдельном окне параллельно с запуском airodump-ng чтобы можно было одновременно записать результаты работы. Запускаем деассоциацию:
Код:
root@bt:~# aireplay-ng --deauth 5 -a a0:21:b7:a0:71:3c -c 00:24:2b:6d:3f:d5 wlan1
где очевидно, что мы проводим 5 сеансов деассоциации клиента 00:24:2b:6d:3f:d5 от точки доступа с BSSID a0:21:b7:a0:71:3c (адрес клиента мы взяли из нижней таблицы ассоциаций airodump-ng, его можно вообще не указывать, тогда деассоциация будет проводиться широковещательным запросом что не так эффективно как хотелось бы).
После проведения подобной процедуры (а ничто не мешает нам повторить ее еще разок на всякий случай) вероятность словить хендшейк значительно возрастает.
Теперь самое главное. Все, что было описано выше, было описано только в образовательных целях. А все потому что в комплект aircrack-ng входит такая замечательная утилита как besside-ng, которая в автоматическом режиме делает все вышеуказанные операции, сама взламывает WEP и сохраняет хендшейки WPA в отдельный файлик. Запуск этой утилиты прост до безобразия:
Код:
root@bt:~# besside-ng mon0
И это все! Дав эту волшебную команду теперь можно просто сидеть и наблюдать за результатами её бурной деятельности, радуясь за все прибывающие и прибывающие хендшейки (они сохраняются в текущую папку в файл wpa.cap, а лог записывается в файл besside.log). Пароли от WEP-сетей, взломанные besside-ng, можно найти так же в её логе.
Что же, результате гигантской проделанной работы у нас накопились *.cap-файлы содержащие хендшейки и можно смело переходить к главе четвертой. Но давайте все же посмотрим что мы наловили и оценим качество хендшейков.
Быстро оценить, есть ли в файле хендшейки, можно с помощью самого простого вызова aircrack-ng:
Код:
aircrack-ng <имя файла>
Если хендшейк есть aircrack-ng покажет BSSID, ESSID и количество хендшейков для каждой сети:
aircrack-ng видит хендшейк linksys, бро
Однако выше я упомянул, что с помощью aircrack-ng можно только оценить наличие хендшейка, и это неспроста. Дело в том, что aircrack-ng не отличается хорошим EAPOL-парсером и легко может показать наличие хендшейка там, где его нет (или точнее говоря он есть, но нерабочий). Давайте заберемся поглубже в дебри EAPOL-пакетов с помощью Wireshark (ленивым и не слишком любопытным читателям можно не тратить свое драгоценное время и сразу переходить к главе 4).
Открываем в Wireshark наш *.cap-файл и задаем выражение
Код:
(eapol || wlan.fc.type_subtype == 0x08) && not malformed
в качестве фильтра чтобы увидеть среди груды мусора только интересующие нас пакеты.
Вот они, хендшейки
Итак, что мы видим? Самый певый пакет в списке это Beacon frame, несущий информацию о беспроводной сети. Он есть и указывает на то, что сеть называется ‘dlink’. Бывает что Beacon frame отсутствует в файле, тогда для осуществления атаки мы должны доподлинно знать ESSID сети, причем с учетом того что он регистрозависим (да-да, ‘dlink’, ‘Dlink’ и ‘DLINK’ - это три разных ESSID!) и, например, может содержать пробелы в самых неожиданных местах, например в конце. Задав в таком случае неверный ESSID для атаки мы обречены на провал - пароль не будет найден даже если он есть в словаре! Так что наличие Beacon frame в файле с хендшейком это очевидный плюс.
Далее в файле идут ключевые EAPOL-пакеты, из которых и состоит собственно сам хендшейк. Вообще полноценный EAPOL-хендшейк должен содержать четыре последовательных пакета, от msg (1/4) до msg (4/4), но в данном случае нам не слишком повезло, удалось перехватить только две первых пары, состоящих из msg (1/4) и msg (2/4). Вся прелесть в том, что именно в них передается вся информация о хеше пароля WPA-PSK и именно они нужны для проведения атаки.
Давайте внимательно посмотрим на первую пару msg (1/4) и msg(2/4) (обведена красным прямоугольником). В них точка доступа (Station) 02:22:B0:02:22:B0 передает случайное число ANonce клиенту (Client) 00:18:DE:00:18:DE в первом пакете EAPOL-хендшейка и принимает обратно SNonce и MIC, рассчитанные клиентом на основе полученного ANonce. Но обратите внимание на временной промежуток между msg (1/4) и msg (2/4) - он составляет почти целую секунду. Это очень много, и вполне возможно что пакеты msg (1/4) и msg (2/4) относятся к разным хендшейкам (что однозначно приведет к невозможности подобрать пароль даже имея его в словаре), а не имея в перехвате контрольных пакетов msg (3/4) и msg (4/4) проверить это невозможно. Поэтому первый хендшейк имеет весьма сомнительное качество, хотя и выглядит вполне валидным.
К счастью, в данном случае у нас имеется еще одна пара пакетов msg (1/4) и msg (2/4) с временным промежутком между ними всего лишь 50 миллисекунд. Это с большой долей вероятности указывает на их принадлежность к одному и тому же хендшейку, поэтому именно их мы и выберем для атаки. Пометим Beacon frame и эти пакеты нажав правую кнопку мыши и выбрав Mark packet (toggle) и сохраним их в новый файл, выбрав пункт меню ‘Save As...’ и не забыв поставить галочку на Marked packets:
Сохраним нажитое непосильным трудом!
В заключение главы хочу отметить, что для атаки все же рекомендуется использовать "полноценные” хендшейки, имеющие Beacon frame и всю последовательность EAPOL-пакетов от первого до четвертого. Для этого ваше Wi-Fi-оборудование должно очень хорошо "слышать” и точку доступа, и клиента. К сожалению, в реальной жизни это не всегда возможно, поэтому приходится идти на компромиссы и пытаться "оживлять” полумертвые хендшейки вручную как и было продемонстрировано выше.
спасибо источнику: https://forum.antichat.ru/thread309017.html
|