185489

🕵 Как взломать Wi-Fi с помощью Kali Linux 2020.4 и Ubuntu 20.04

В пошаговом руководстве рассказываем о мониторинге точек доступа Wi-Fi, перехвате рукопожатий, расшифровке хешей паролей перебором по словарю и брутфорсом с помощью ЦП и видеокарты.

Текст статьи не является руководством к действию и публикуется для ознакомления с методами взлома и построения грамотной защиты. Напоминаем, что за преступления в сфере компьютерной информации предусмотрена ответственность по статье 274 УК РФ.

***

Разработчики Kali предупреждают, что в виртуальной машине не получится установить драйвера для Nvidia и соответственно мы не сможем проводить расчеты на ГП. Подтверждаю, у меня драйвера не установились. В таком случае лучше ставить Kali как вторую ОС. Расчет на ЦП в виртуальной машине работает нормально.

В статье представлены рецепты для Kali Linux 20.04 и Ubuntu 20.04. Если Kali не устраивает, у нее есть аналог – Parrot OS.

1. Установка Kali в VirtualBox

Устанавливаем последнюю версию VirtualBox и скачиваем Kali Linux VirtualBox 64-Bit (OVA) или 32-Bit. Запускаем VirtualBox и нажимаем на кнопку Импортировать.

Рис. 1. Установка Kali Linux в VirtualBox

Выбираем образ Kali Linux, назначаем количество ядер и ОЗУ для виртуальной машины и нажимаем на кнопку Импорт.

Рис. 2. Установка Kali Linux в VirtualBox

Запускаем Kali Linux и вводим логин kali и пароль kali.

Рис. 3. Ввод логина и пароля в Kali Linux

2. Установка aircrack-ng

Aircrack-ng – набор инструментов для мониторинга, пентестинга Wi-Fi сетей и взлома WEP, WPA 1 и 2. В Kali утилита aircrack-ng предустановлена. В Ubuntu выполним следующую команду:

sudo apt install aircrack-ng

3. Установка bettercap

Bettercap – программа для мониторинга и спуфинга. Установим bettercap из исходников. Введем в терминале следующие команды:

sudo apt update
sudo apt install golang git build-essential libpcap-dev libusb-1.0-0-dev libnetfilter-queue-dev

#эта команда выполняется долго
go get github.com/bettercap/bettercap

Перейдем в каталог с bettercap:

#в Kali:
cd /home/kali/go/src/github.com/bettercap/bettercap/

#в Ubuntu:
cd /home/USERNAME/go/src/github.com/bettercap/bettercap/

#Затем введем:
make build
sudo make install

4. Мониторинг сети

Если к компьютеру подключен USB Wi-Fi адаптер, включим его следующим образом: УстройстваUSBMediaTek 802.11 n WLAN. Название Wi-Fi адаптера может отличаться.

Рис. 4. Включение беспроводного USB Wi-Fi адаптера в Kali Linux в VirtualBox
Рис. 5. Wi-Fi адаптер из AliExpress за 150 руб., который использовался для мониторинга Wi-Fi

Узнаем имя Wi-Fi адаптера с помощью команды ifconfig или ip a.

Рис. 6. Узнаем имя адаптера командой ifconfig

В нашем случае адаптер называется wlan0.

Сначала отключим ненужные процессы:

sudo airmon-ng check kill

Затем переключим адаптер в режим мониторинга:

sudo airmon-ng start wlan0

Запустим bettercap следующей командой:

sudo bettercap --iface wlan0
Рис. 7. Запуск bettercap в Kali Linux

Начнем «слушать» Wi-Fi, введя в терминал wifi.recon on.

Рис. 8. Мониторинг Wi-Fi сетей с помощью bettercap в Kali Linux

Для просмотра списка обнаруженных сетей введем wifi.show.

Рис. 9. Просмотр обнаруженных W-Fi сетей с помощью bettercap в Kali Linux

5. Получение рукопожатий

Выберем цель – точка доступа NX531J. Попробуем получить рукопожатия (англ. handshake) между точкой доступа NX531J и подключенным к ней устройством. Ждем, когда клиент отключится и подключится снова, либо принудительно отключим его командой деаутентификации: wifi.deauth MAC-адрес точки доступа

MAC-адрес – уникальный идентификатор сетевого устройства. Его значение берем из столбца BSSID. В нашем случае: wifi.deauth 90:c7:aa:bb:cc:dd.

Повторяем эту команду, пока не перехватим рукопожатия.

wifi.deauth * и wifi.deauth all отключают все устройства на всех точках доступа.

Рис. 10. Перехват рукопожатий с помощью bettercap в Kali Linux

Четырехстороннее рукопожатие

Четырехстороннее рукопожатие (англ. four-way handshake) – механизм создания парного переходного ключа PTK для защиты трафика.

PTK содержит:

  • временный ключ TK;
  • ключ подтверждения ключа EAPOL;
  • ключ шифрования EAPOL-key.
Первое рукопожатие
Точка доступа отправляет клиенту случайное 32-байтное число ANonce.
Второе рукопожатие
Клиент в ответ генерирует свое случайное 32-байтное число SNonce. ANonce, SNonce и общий PMK (парный мастер-ключ) образуют PTK (парный переходной ключ). Во втором сообщении клиент отправляет SNonce и MIC (код целостности сообщения) точке доступа.
Третье рукопожатие
Точка доступа генерирует свой PTK для проверки значений MIC из второго сообщения. Если все верно, точка доступа отправляет клиенту сообщение о применении PTK.
Четвертое рукопожатие
Клиент подтверждает использование ключа PTK. [1]

Самое важное рукопожатие – второе. В дополнение к нему необходимо первое и/или третье рукопожатие. Лучший минимальный вариант – второе и третье рукопожатия.

Рис. 11. Схема четырехстороннего рукопожатия точки доступа (AP) и клиента (STA)

Файл с рукопожатиями сохраняется в /root/bettercap-wifi-handshakes.pcap. Скопируем его в домашнюю директорию:

#в Kali:
sudo cp /root/bettercap-wifi-handshakes.pcap /home/kali/

#в Ubuntu:
sudo cp /root/bettercap-wifi-handshakes.pcap /home/USERNAME/

6. Выбор нужных рукопожатий

Чтобы выбрать интересующие нас рукопожатия и экспортировать их в отдельный файл, нам понадобится программа для анализа сетевых протоколов WireShark.

В Ubuntu установим WireShark:

sudo apt install wireshark

Введем в терминале команду wireshark. Откроется программа с графическим интерфейсом. Нажмем Сtrl+O и откроем файл с рукопожатиями bettercap-wifi-handshakes.pcap

Отфильтруем данные по мак-адресу wlan.addr==90:c7:aa:bb:cc:dd и отсортируем по времени, кликнув по столбцу Time. Также можно отсортировать по номеру No.. Значения ANonce и SNonce меняются каждую сессию, поэтому выбираем рукопожатия, разделенные небольшим временным промежутком (десятки миллисекунд). Рукопожатия из разных сессий для взлома непригодны.

Рис. 12. Просмотр рукопожатий в программе WireShark

Как видно, мы получили первое, второе и третье рукопожатия. Выделим все рукопожатия EAPOL, файл с именем сети SSID (в нашем случае это Association Request) и нажмем FileExport Specified Packets.

Рис. 13. Экспорт рукопожатий в программе WireShark

Откроется диалоговое окно, в котором выберем Selected packets only и сохраним файл под названием hs.pcap.

Рис. 14. Сохранение рукопожатий в программе WireShark

7. Получаем пароль

Для начала, конвертируем файл hs.pcap в файл hs.hccapx (в команде новый файл пишется без расширения, только название):

#в Kali:
sudo aircrack-ng -j /home/kali/hs /home/kali/hs.pcap

#в Ubuntu:
sudo aircrack-ng -j /home/USERNAME/hs /home/USERNAME/hs.pcap

Это нужно, чтобы программа по расшифровке хеша hashcat смогла прочесть файл. Она подбирает пароли с помощью ЦП и/или ГП.

Рис. 15. Конвертация из .pcap в .hccapx утилитой hashcat

8. Подбор по словарю

В Ubuntu установим hashcat командой:

sudo apt install hashcat

Словарь – txt-файл с одним словом в каждой строке (рис. 16) Создадим или скачаем словарь (см. доп. материалы) и поместим его в /home/kali, либо /home/USERNAME для Ubuntu.

Рис. 16. Пример словаря для атаки по словарю

Пароль от моей точки доступа: qwerty12. Он присутствует в словаре для подбора пароля.

Чтобы начать перебор по словарю введем команду:

#в Kali:
hashcat --force -m2500 -a0 /home/kali/hs.hccapx /home/kali/dic.txt

#в Ubuntu:
hashcat --force -m2500 -a0 /home/USERNAME/hs.hccapx /home/USERNAME/dic.txt

Расшифруем значения опций:

--force – скрыть ошибки.

-m2500 – тип взламываемого хеша WPA-EAPOL-PBKDF2.

-a0 – атака по словарю. Можно без этого флага, так как он работает по умолчанию.

/home/kali/hs.hccapx – файл хеша.

/home/kali/dic.txt – словарь.

В случае успеха статус взлома примет значение Cracked и мы получим пароль (рис. 17).

Рис. 17. Успешный взлом пароля атакой по словарю утилитой hashcat
Тип атаки Пример команды
Словарь hashcat -a0 -m2500 example.hash example.dict
Словарь + Правила hashcat -a0 -m2500 example0.hash example.dict -r rules/best64.rule
Брутфорс hashcat -a3 -m2500 example.hash ?a?a?a?a?a?a
Комбинаторная атака hashcat -a1 -m2500 example.hash example1.dict example2.dict

9. Брутфорс и атака по маске

При брутфорсе (англ. brute force) перебираются все возможные символы. Используя маски, мы сужаем диапазон подбираемых символов, например, только числа или только числа и строчные символы. Таким образом на перебор требуется меньше времени. Этот подход удобен, если мы примерно знаем, как человек придумывает пароли. Из атаки по маске можно сделать брутфорс, включив в перебор все символы.

Для атаки по маске введем следующую команду:

#в Kali:
hashcat -m2500 -a3 -1?l -2?d /home/kali/hs.hccapx ?1werty?2?2

#в Ubuntu:
hashcat -m2500 -a3 -1?l -2?d /home/USERNAME/hs.hccapx ?1werty?2?2

Значения опций:

-m2500 – тип взламываемого хеша, WPA-EAPOL-PBKDF2.

-a3 – атака по маске.

-1?l – маска по прописным латинскими буквам (прописная буква L).

-2?d – маска по цифрам.

hs.hccapx – файл хеша.

?1werty?2?2 – предполагаемый пароль с неизвестными символами. В данном случае задача упрощена для экономии времени.

Рис. 18. Успешный взлом пароля атакой по маске утилитой hashcat
? Символы
l (прописная буква L) abcdefghijklmnopqrstuvwxyz
u ABCDEFGHIJKLMNOPQRSTUVWXYZ
d 0123456789
h 0123456789abcdef
H 0123456789ABCDEF
s !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
a ?l?u?d?s
b 0x00 – 0xff

Команда для расчета через видеокарту:

hashcat -D2 -m2500 -a3 -1?l -2?d hs.hccapx ?1werty?2?2

Здесь -D2 – устройство для расчета, ГП.

Номер Устройство
1 ЦП
2 ГП
3 FPGA, DSP, Co-Processor

10. Комбинаторная атака

В комбинаторной атаке используются два словаря. Слова из двух словарей конкатенируются. Если словари содержат следующие слова:

Hello
World
5588
!

то после их соединения получим такой словарь:

HelloHello
HelloWorld
Hello5588
Hello!
WorldHello
WorldWorld
World5588
World!
5588Hello
5588World
55885588
5588!
!Hello
!World
!5588
!!

Запустим комбинаторную атаку:

#в Kali:
hashcat -m2500 -a1 /home/kali/hs.hccapx /home/kali/dic1.txt /home/kali/dic2.txt

#в Ubuntu:
hashcat -m2500 -a1 /home/USERNAME/hs.hccapx /home/USERNAME/dic1.txt /home/USERNAME/dic2.txt

Здесь:

/home/kali/dic1.txt – первый словарь.

/home/kali/dic2.txt – второй словарь.

Рис. 19. Успешный взлом пароля комбинаторной атакой утилитой hashcat

11. Куда сохраняется пароль

После удачной расшифровки пароль выводится на экран и записывается в файл ~/.hashcat/hashcat.potfile.

Откроем его в текстовом редакторе, чтобы посмотреть результат:

sudo nano ~/.hashcat/hashcat.potfile

12. Онлайн-сервисы по расшифровке хеша

Также хеш был отправлен в бесплатный онлайн-сервис по расшифровке хеша onlinehashcrack.com и через 12 часов 6 минут пришло письмо, что пароль получен (рис. 20).

Рис. 20. Результаты взлома пароля с помощью сервиса onlinehashcrack.com

Платформа passcrack.online получила пароль за 5 минут (рис. 21). С отправки в онлайн-сервисы лучше начинать расшифровку, так как вычислительных ресурсов у них больше, чем у домашнего компьютера.

Рис. 21. Результаты взлома пароля с помощью сервиса passcrack.online

13. Разница между WPA2 и WPA3

В июле 2018 года Wi-Fi Alliance выпустил протокол беспроводной безопасности WPA3. Посмотрим, чем он отличается от своего предшественника.

Недостатки WPA2:

  • уязвим к взлому через WPS;
  • возможен перехват рукопожатий и получение пароля с помощью брутфорса;

Преимущества WPA3 в сравнении с WPA2:

  • устранена уязвимость четырехстороннего рукопожатия за счет применения технологии SAE (Simultaneous Authentication of Equals), которая защищает от офлайн атак по словарю.
  • поддержка PMF (Protected Management Frames) для контроля целостности трафика;
  • шифрование 192 бит в режиме WPA3-Enterprise и 128 бит в WPA3-Personal;
  • упрощенная настройка IoT-устройств.

Недостатки WPA3:

  • уязвим к взлому через WPS. [2]

Общее уязвимое место у WPA 2 и 3 – WPS (Wi-Fi Protected Setup).

14. Дополнительные материалы

Файл .hccapx для практики

На сайте hashecat доступен для скачивания файл .hccapx, на котором можно попрактиковаться в расшифровке. Зашифрованный пароль: hashcat!.

Онлайн-конвертер .pcap в .hccapx

Словари

Онлайн-платформы для расшифровки хеша

Бесплатные

  • crypt-fud.ru – принимает файлы .cap и .hccapx;
  • passcrack.online – принимает только файлы .hccapx размером не более 5Кб. Ссылка на страницу загрузки файла для расшифровки придет в письме после регистрации;
  • onlinehashcrack.com – бесплатно, если пароль простой «12345678» или он есть в словаре из 20 млн слов. В ином случае используется брутфорс на ГП 9$/час.
  • wpa-sec.stanev.org – распределенная система;
  • kraken-client – распределенная система;

Платные

  • gpuhash.me – в случае успеха нужно заплатить 0.001BTC;
  • xsrc.ru – 100 руб. за пароль.

Чем открыть большой текстовой файл

Бесплатные программы для чтения и редактирования больших txt-файлов.

Чтение

Редактирование

Полезные ссылки

Законодательство

  • Статья 274 УК РФ о преступлениях в сфере компьютерной информации.

Саундтреки из сериала «Мистер Робот»

***

Мы научились мониторить Wi-Fi сети, проводить деаутентификацию подключенных к точке доступа устройств, перехватывать рукопожатия, получать пароли методом подбора по словарю и брутфорсом. Также узнали разницу между WPA2 и WPA3, и определили их общее уязвимое место.

Несколько рекомендаций, повышающих информационную безопасность:

  • использовать сложный пароль и периодически менять его;
  • отключить функцию WPS в роутере;
  • регулярно обновлять прошивку роутера;
  • использовать VPN (виртуальная частная сеть): OpenVPN, WireGuard и прочие.

Источники

[1] Самль, С. Д., Роуминг в защищенных беспроводных сетях с использованием IEEE 802.11i. «Научно-практический электронный журнал Аллея Науки» №6(22) 2018.

[2] Кухта А. И., Анализ методов защиты беспроводной сети Wi-Fi. «Молодой исследователь Дона» №2(23) 2020.

Больше полезной информации вы можете получить на нашем телеграм-канале «Библиотека хакера».

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

admin
04 августа 2017

Пошаговое руководство по взлому страницы ВКонтакте

В статье приводится несколько возможных способов взлома ВКонтакте, ориентир...
admin
11 февраля 2017

5 способов взлома страницы ВКонтакте

В наше время можно потерять доступ к личным данным, если не придерживаться ...