Kali linux захват рукопожатий

Захват рукопожатий (handshake) в Kali Linux

Что такое рукопожатие (handshake — хендшейк)

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

С практической точки зрения нам достаточно знать всего две очень простые вещи:

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

Все беспроводные точки доступа делают это

Расшифровка пароля из рукопожатия делается методом перебора (грубой силой, брутфорсингом). Именно поэтому расшифровка пароля в захваченном рукопожатии имеет вероятностный характер. Т.е. далеко не всегда заканчивается удачно.

Если у вас мощное железо и много времени, то ваши шансы увеличиваются.

Я считаю захват рукопожатий самой перспективной методикой взлома беспроводной точки доступа. Это мнение может показаться странным при том количестве новых техник по взлому WEP, WPS и при довольном низком проценте успешных взломов рукопожатий.

Дело в том, что количество точек доступа с включёнными WEP, WPS невелико. Благодаря просветительской деятельности (в том числе урокам подобным моим) самые обычные пользователи стали больше задумываться о безопасности, вникать в суть технологий и отключать уязвимые алгоритмы и стандарты.

Ещё одно наблюдение по мере накопления опыта: даже точки с включённым WPS иногда быстрее взломать захватом рукопожатия, чем ждать завершения работы Reaver или Penetrator-WPS. Дело в том, что если пользователь не задумался об отключении WEP, WPS, т. е. проявил безалаберность, то также высока вероятность неряшливости пользователя в выборе пароля — обычно это простые слова или фразы из словаря, которые довольно легко подбираются.

Вообще, можно сказать, что, формально, захватив рукопожатие, можно практически гарантированно взломать Wi-Fi, для этого нужно:

  • мощное железо
  • достаточно много времени
  • не слишком сложный и длинный пароль

Как захватить хендшейк в Kali Linux

Алгоритм достаточно простой:

  • смотрим доступные точки доступа
  • выбираем точку доступа, запоминаем её ВSSID и номер канала
  • переходим в режим ожидания рукопожатия на заданном сигнале
  • (опционально) форсируем процесс путём применения атаки деаутентификация

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

В противном случае, у вас могут быть вопросы по изложенному здесь материалу.

Внимание: название беспроводного интерфейса у вас может быть своё. Соответственно, вам нужно подправить команды, чтобы они работали на вашем компьютере:

Переводим карту в режим монитора

ifconfig wlan0 down && iwconfig wlan0 mode monitor && ifconfig wlan0 up

Смотрим доступные для атаки точки доступа

Я выбрал сеть Mial, её ВSSID 20:25:64:16:58:8C на канале 1. Поэтому я запускаю airodump-ng на первом канале

airodump-ng wlan0 —channel 1 -w cap2

После ключа -w идёт префикс файла cap2 (это имя без расширения). В этот файл будет записано захваченное рукопожатие.

Можно ничего не делать — достаточно просто ждать, когда кто-то подключится или переподключится естественным образом. Если вы торопитесь, то можно форсировать процесс использованием атаки деаутентификация.

Для этого мы открываем новое окно терминала и набираем там команду:

aireplay-ng -0 5 -a 20:25:64:16:58:8C wlan0

Здесь -0 означает деаутентификация, 5 означает количество отправленных пакетов, -a 20:25:64:16:58:8C это ВSSID целевой ТД, а wlan0 — сетевой интерфейс в режиме монитора.

Результат не заставил себя долго ждать:

Надпись «WPA handshake: 20:25:64:16:58:8C» говорит нам о том, что рукопожатие уже захвачено.

Убеждаемся, что это действительно так:

Плюсы использования атаки деаутентификация:

  • значительно ускоряется процесс получения рукопожатия
  • вы теряете свою невидимость.

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

Читайте также:  Compress with zip linux

Захват рукопожатий на 5 ГГц (802.11a/h/j/n/ac)

По умолчанию, airodump-ng скачет по каналам с 1 по 14 — это каналы 2.4 ГГц (т.е. 802.11b/g/n).

Протоколы 802.11a/h/j/n/ac работают на 5 ГГц, сюда входят каналы с 34 по 180.

На самом деле, процесс захвата рукопожатий на 5 ГГц ничем особо не отличается. Просто нужно явно указать каналы.

Но прежде чем пытаться что-то захватить, давайте проверим, какие вообще частоты поддерживает ваша беспроводная карта. Поскольку если ваша карта не поддерживает 5 ГГц, то можно и не пытаться — результата не будет. Проверку можно сделать командой:

iwlist wlan0 frequency

Не забывайте, что вместо wlan0 вам нужно указать имя вашего желаемого беспроводного интерфейса.

wlan0 frequencywlan0 32 channels in total; available frequencies :

Channel 01 : 2.412 GHz

Channel 02 : 2.417 GHz

Channel 03 : 2.422 GHz

Channel 04 : 2.427 GHz

Channel 05 : 2.432 GHz

Channel 06 : 2.437 GHz

Channel 07 : 2.442 GHz

Channel 08 : 2.447 GHz

Channel 09 : 2.452 GHz

Channel 10 : 2.457 GHz

Channel 11 : 2.462 GHz

Channel 12 : 2.467 GHz

Channel 13 : 2.472 GHz

Channel 36 : 5.18 GHz

Channel 40 : 5.2 GHz

Channel 44 : 5.22 GHz

Channel 48 : 5.24 GHz

Channel 52 : 5.26 GHz

Channel 56 : 5.28 GHz

Channel 60 : 5.3 GHz

Channel 64 : 5.32 GHz

Channel 100 : 5.5 GHz

Channel 104 : 5.52 GHz

Channel 108 : 5.54 GHz

Channel 112 : 5.56 GHz

Channel 116 : 5.58 GHz

Channel 120 : 5.6 GHz

Channel 124 : 5.62 GHz

Channel 128 : 5.64 GHz

Channel 132 : 5.66 GHz

Channel 136 : 5.68 GHz

Channel 140 : 5.7 GHz

Т.е. моя беспроводная карта может работать на частоте 5 ГГц с каналами с 36 по 140. А также на частоте 2.4 ГГц с каналами с 1 по 13.

Ещё больше информации вам даст команда

Там очень много самых разнообразных сведений по вашей беспроводной карте.

Если ваша беспроводная карта поддерживает 5 ГГц, то можно продолжать. Чтобы «осмотреться» в радиовещании наберите:

airodump-ng wlan0 —channel 36-165

Думаю, особо здесь объяснять нечего, опцию —channel мы уже использовали ранее. Можно вместо каналов указывать непосредственно частоты или диапазон частот, это делается с помощью ключа -C, например:

airodump-ng wlan0 -C 5170-5825

Ключ и опция -C 5170-5825 указывают частоты в Мегагерцах, которым соответствуют каналы с 36 по 165. Эта и предыдущая команда полностью равнозначны.

Если вам вдруг интересно, то вот номера каналов и соответствующие им частоты:

Источник

Взлом рукопожатий в Pyrit / Захват рукопожатий (handshake) в Kali Linux

Преимущества использования Pyrit

Взлом захваченных рукопожатий — это единственный способ взлома WPA/WPA2 паролей. Производится он методом брутфорса (перебора паролей).

Кстати, если вы ещё не знакомы с техникой захвата рукопожатий, то обратитесь к статье «Захват рукопожатий (handshake) в Kali Linux».

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

  • использование видеокарт для подбора паролей (значительно увеличивает скорость перебора)
  • использование таблиц с предварительно рассчитанными хешами (увеличение скорости + возможность повторного использования для одной и той же точки доступа, возможность перепробовать десятки рукопожатий от одной точки доступа за считанные секунды)
  • использование хороших словарей (повышает шансы на успех)

В Pyrit можно использовать все эти техники — поэтому он является самым быстрым взломщиком WPA/WPA2 паролей, либо входит в двойку сильнейших наравне с oclHashcat.

Другие программы также реализуют эти техники. Например и в oclHashcat и в coWPAtty реализован перебор по словарю. В coWPAtty реализован предварительный расчёт хешей (но отсутствует поддержка использования графических карт). oclHashcat позволяет использовать мощь видеокарт, но не делает предварительный расчёт хешей. Забегаю вперёд, отмечу, что в oclHashcat можно реализовать предварительный расчёт хешей и полученные данные неоднократно использовать для одной точки доступа, для проверки нескольких рукопожатий без увеличения времени на расчёт хешей, как это сделать будет описано позже. Aircrack-ng перебирает по словарю и эффективно использует многоядерные процессоры, но не использует другие «ускорения».

На моей системе oclHashcat делает перебор для взлома WPA/WPA2 паролей со скоростью 31550 H/s, а Pyrit рассчитывает хеши со скоростью 38000-40000 PMKs. Дальнейшая проверка рукопожатий занимает меньше секунды. Из этого видно, что даже при проверке одного хендшейка мы увеличиваем скорость примерно на треть, а если мы хотим проверить несколько рукопожатий для одной ТД, то с oclHashcat всё нужно начинать заново. В Pyrit же каждое новое рукопожатие занимает доли секунды.

Для того, чтобы Pyrit раскрыл всю свою мощь, у вас должны быть установлены проприетарные драйвера для видео карты. Посмотрите на статью «Как установить Pyrit в Kali Linux 2» и на материал, ссылки на который в ней даны — там поэтапно рассказывается об установки драйверов и Pyrit в Kali Linux 2 на компьютере с графической картой от AMD. Нужно проделать все шаги, а не только последнюю инструкцию. У меня нет компьютера с NVidia, поэтому у меня нет актуальных инструкций об установке драйвера и Pyrit для систем под NVidia.

Читайте также:  Ide java для windows

Самый быстрый взлом WPA/WPA2 паролей

Мои исходные данные:

  • атакуемая ТД — DANIELLE2015
  • файл, с предварительно захваченным рукопожатием, называется DANIELLE2015-01.cap

Словарь для взлома WPA/WPA2

Я буду использовать словарь rockyou, который поставляется с Kali Linux. Для обучения этого вполне достаточно, а для практических атак могу порекомендовать сгенерированные словари номеров телефонов, сгенерированные словари для конкретных ТД вида имя_ТД+цифры, которые заполняют парольную фразу до восьми символов.

Давайте скопируем лучший файл словаря в каталог root.

Поскольку, согласно требованиям, минимальный пароль WPA2 может быть в 8 символов, давайте пропарсим файл, чтобы отфильтровать любые пароли, которые менее 8 символов и более 63 (на самом деле, вы можете просто пропустить эту строчку, это полностью на ваше усмотрение). Таким образом, мы сохраним этот файл под именем newrockyou.txt.

Давайте посмотрим, как много паролей содержит этот файл:

В нём целых 9606665 паролей.

Оригинальный файл содержит ещё больше.

Там 14344392 паролей. Итак, мы сделали этот файл короче, что означает, мы можем протестировать ТД в более сжатый срок.

Наконец, давайте переименуем этот файл в wpa.lst.

Создаём ESSID в базе данных Pyrit

Сейчас нам нужно создать ESSID в базе данных Pyrit

ВНИМАНИЕ: Если в названии ТД есть пробел, например, “NetComm Wireless”, тогда ваша команда будет вроде этой:

Шикарно, теперь у нас есть ESSID, добавленный в базу данных Pyrit.

Импортируем словарь в Pyrit

Сейчас, когда ESSID добавлен в базу данных Pyrit, давайте импортируем наш словарь паролей.

Используйте следующую команду для импорта предварительно созданного словаря паролей wpa.lst в базу данных Pyrit.

Создайте таблицы в Pyrit, используя пакетный (batch) процесс

Это просто, просто наберите следующую команду

Так как данная операция выполняется на ноуте, я имею 38000-40000 PMKs. Это далеко не предел — настольные компьютеры с хорошей графической картой помогут вам значительно увеличить скорость этих вычислений.

Вы должны быть осторожны, насколько большой ваш файл словаря и насколько ГОРЯЧИЕ ваш процессор и графическая карта. Используйте дополнительное охлаждение, чтобы избежать повреждения.

Процесс взлома с Pyrit

Мы будем применять атаку на рукопожатие (handshake), используя базу данных предварительно посчитанных хешей. После того, как мы выполнили все необходимые шаги по подготовке, запустить атаку стало совсем легко. Просто используйте следующую команду для начала процесса взлома.

Вот и всё. Весь процесс, включающий предварительный расчёт хешей, занял несколько минут. Чтобы пройти по всей таблице базы данных для получения пароля, если он присутствует в словаре, понадобилось меньше секунды. У меня скорость достигла 6322696 PMKs. Это, безусловно, быстрее всего.

Если пароль подобрать не удалось, то сразу пробуем опцию —all-handshakes. Суть её в том, что проверяется не одно (самое лучшее рукопожатие), а вообще все имеющиеся. Дело в том, что даже самое лучшее рукопожатие может оказаться неверно реконструированным. Это приведёт к тому, что пароль присутствует в словаре, но программа не сможет это выявить. Поэтому для проверки всех доступных рукопожатий делаем так:

Это занимает секунды — поэтому всегда стоит использовать, если пароль не найден.

Атака на рукопожатие (handshake) со словарём в Pyrit без использования предварительно посчитанных таблиц

Если вам не хочется создавать базу данных, а хочется напрямую копошиться в файле словаря (что много медленнее), вы можете сделать следующее

Скорость этого способа? 17807 PMKs в секунду. На мой вкус намного медленнее.

Очищаем Pyrit и базу данных

Наконец, если нужно, вы можете удалить ваш essid и сделать очистку.

Это высвободит довольно много места на диске.

Захват рукопожатий (handshake) в Kali Linux

Что такое рукопожатие (handshake — хендшейк)

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

С практической точки зрения нам достаточно знать всего две очень простые вещи:

  • рукопожатие можно захватить во время подключения клиента, который знает валидный пароль, к беспроводной точке доступа
  • рукопожатие содержит достаточно информации для расшифровки пароля.
Читайте также:  Как установить django windows

Все беспроводные точки доступа делают это

Расшифровка пароля из рукопожатия делается методом перебора (грубой силой, брутфорсингом). Именно поэтому расшифровка пароля в захваченном рукопожатии имеет вероятностный характер. Т.е. далеко не всегда заканчивается удачно.

Если у вас мощное железо и много времени, то ваши шансы увеличиваются.

Я считаю захват рукопожатий самой перспективной методикой взлома беспроводной точки доступа. Это мнение может показаться странным при том количестве новых техник по взлому WEP, WPS и при довольном низком проценте успешных взломов рукопожатий.

Дело в том, что количество точек доступа с включёнными WEP, WPS невелико. Благодаря просветительской деятельности (в том числе урокам подобным моим) самые обычные пользователи стали больше задумываться о безопасности, вникать в суть технологий и отключать уязвимые алгоритмы и стандарты.

Ещё одно наблюдение по мере накопления опыта: даже точки с включённым WPS иногда быстрее взломать захватом рукопожатия, чем ждать завершения работы Reaver или Penetrator-WPS. Дело в том, что если пользователь не задумался об отключении WEP, WPS, т. е. проявил безалаберность, то также высока вероятность неряшливости пользователя в выборе пароля — обычно это простые слова или фразы из словаря, которые довольно легко подбираются.

Вообще, можно сказать, что, формально, захватив рукопожатие, можно практически гарантированно взломать Wi-Fi, для этого нужно:

  • мощное железо
  • достаточно много времени
  • не слишком сложный и длинный пароль

Как захватить хендшейк в Kali Linux

Алгоритм достаточно простой:

  • смотрим доступные точки доступа
  • выбираем точку доступа, запоминаем её ВSSID и номер канала
  • переходим в режим ожидания рукопожатия на заданном сигнале
  • (опционально) форсируем процесс путём применения атаки деаутентификация

В противном случае, у вас могут быть вопросы по изложенному здесь материалу.

Внимание: название беспроводного интерфейса у вас может быть своё. Соответственно, вам нужно подправить команды, чтобы они работали на вашем компьютере:

Переводим карту в режим монитора

Смотрим доступные для атаки точки доступа

Я выбрал сеть Mial, её ВSSID 20:25:64:16:58:8C на канале 1. Поэтому я запускаю airodump-ng на первом канале

После ключа -w идёт префикс файла cap2 (это имя без расширения). В этот файл будет записано захваченное рукопожатие.

Можно ничего не делать — достаточно просто ждать, когда кто-то подключится или переподключится естественным образом. Если вы торопитесь, то можно форсировать процесс использованием атаки деаутентификация.

Для этого мы открываем новое окно терминала и набираем там команду:

Здесь -0 означает деаутентификация, 5 означает количество отправленных пакетов, -a 20:25:64:16:58:8C это ВSSID целевой ТД, а wlan0 — сетевой интерфейс в режиме монитора.

Результат не заставил себя долго ждать:

Надпись «WPA handshake: 20:25:64:16:58:8C» говорит нам о том, что рукопожатие уже захвачено.

Убеждаемся, что это действительно так:

Плюсы использования атаки деаутентификация:

  • значительно ускоряется процесс получения рукопожатия
  • вы теряете свою невидимость.

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

Захват рукопожатий на 5 ГГц (802.11a/h/j/n/ac)

По умолчанию, airodump-ng скачет по каналам с 1 по 14 — это каналы 2.4 ГГц (т.е. 802.11b/g/n).

Протоколы 802.11a/h/j/n/ac работают на 5 ГГц, сюда входят каналы с 34 по 180.

На самом деле, процесс захвата рукопожатий на 5 ГГц ничем особо не отличается. Просто нужно явно указать каналы.

Но прежде чем пытаться что-то захватить, давайте проверим, какие вообще частоты поддерживает ваша беспроводная карта. Поскольку если ваша карта не поддерживает 5 ГГц, то можно и не пытаться — результата не будет. Проверку можно сделать командой:

Не забывайте, что вместо wlan0 вам нужно указать имя вашего желаемого беспроводного интерфейса.

Т.е. моя беспроводная карта может работать на частоте 5 ГГц с каналами с 36 по 140. А также на частоте 2.4 ГГц с каналами с 1 по 13.

Ещё больше информации вам даст команда

Там очень много самых разнообразных сведений по вашей беспроводной карте.

Если ваша беспроводная карта поддерживает 5 ГГц, то можно продолжать. Чтобы «осмотреться» в радиовещании наберите:

Думаю, особо здесь объяснять нечего, опцию —channel мы уже использовали ранее. Можно вместо каналов указывать непосредственно частоты или диапазон частот, это делается с помощью ключа -C, например:

Ключ и опция -C 5170-5825 указывают частоты в Мегагерцах, которым соответствуют каналы с 36 по 165. Эта и предыдущая команда полностью равнозначны.

Если вам вдруг интересно, то вот номера каналов и соответствующие им частоты:

Источник

Оцените статью