- Захват рукопожатий (handshake) в Kali Linux
- Что такое рукопожатие (handshake — хендшейк)
- Все беспроводные точки доступа делают это
- Как захватить хендшейк в Kali Linux
- Захват рукопожатий на 5 ГГц (802.11a/h/j/n/ac)
- Взлом рукопожатий в Pyrit / Захват рукопожатий (handshake) в Kali Linux
- Преимущества использования Pyrit
- Самый быстрый взлом WPA/WPA2 паролей
- Словарь для взлома WPA/WPA2
- Создаём ESSID в базе данных Pyrit
- Импортируем словарь в Pyrit
- Создайте таблицы в Pyrit, используя пакетный (batch) процесс
- Процесс взлома с Pyrit
- Атака на рукопожатие (handshake) со словарём в Pyrit без использования предварительно посчитанных таблиц
- Очищаем Pyrit и базу данных
- Захват рукопожатий (handshake) в Kali Linux
- Что такое рукопожатие (handshake — хендшейк)
- Все беспроводные точки доступа делают это
- Как захватить хендшейк в Kali Linux
- Захват рукопожатий на 5 ГГц (802.11a/h/j/n/ac)
Захват рукопожатий (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» говорит нам о том, что рукопожатие уже захвачено.
Убеждаемся, что это действительно так:
Плюсы использования атаки деаутентификация:
- значительно ускоряется процесс получения рукопожатия
- вы теряете свою невидимость.
Системы обнаружения вторжений и мониторинга в этот момент могут вас засечь. При пассивном ожидании рукопожатия вы остаётесь полностью невидимым для этих систем.
Захват рукопожатий на 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.
Самый быстрый взлом 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 — хендшейк)
С технической точки зрения, рукопожатие в беспроводных сетях — это обмен информацией между точкой доступа и клиентом в момент подключения клиента к ней. Эта информация содержит разнообразные ключи, обмен происходит в несколько стадий. Процесс подключения к беспроводной точке доступа неплохо документирован и вы можете найти по данному вопросу много информации, в том числе и на русском языке.
С практической точки зрения нам достаточно знать всего две очень простые вещи:
- рукопожатие можно захватить во время подключения клиента, который знает валидный пароль, к беспроводной точке доступа
- рукопожатие содержит достаточно информации для расшифровки пароля.
Все беспроводные точки доступа делают это
Расшифровка пароля из рукопожатия делается методом перебора (грубой силой, брутфорсингом). Именно поэтому расшифровка пароля в захваченном рукопожатии имеет вероятностный характер. Т.е. далеко не всегда заканчивается удачно.
Если у вас мощное железо и много времени, то ваши шансы увеличиваются.
Я считаю захват рукопожатий самой перспективной методикой взлома беспроводной точки доступа. Это мнение может показаться странным при том количестве новых техник по взлому 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. Эта и предыдущая команда полностью равнозначны.
Если вам вдруг интересно, то вот номера каналов и соответствующие им частоты:
Источник