Привет! Сегодня мы посмотрим, как достаточно гибко получить учетные данные для авторизации на RADIUS сервере.
Постараюсь быть краток и оставлю изучение теории по ключевым пунктам на ваше усмотрение. Применение данного руководства подразумевает у вас наличие начальных знаний о тестировании на проникновение wi-fi сетей.
Так-же напомню, что вся ответственность за реализацию действий, описанных в статье, лежит на вас и за неправомерные действия предусмотрена уголовная/административная ответственность.
Наконец-то мы начинаем.
Для успешного тестирования беспроводной сети вам понадобится:
0.0). Машина с установленным *nix дистрибутивом (в моем случае использовался Kali Linux 2.0).
0.1). Набор утилит для тестирования на проникновение (часть из них изначально установлена в Kali): Программный пакет aircrack-ng (из него нам понадобится aireplay-ng, airmon-ng и airodump-ng), hostapd-wpe, asleap/HashCat.
0.2). Два совместимых USB Wi-Fi адаптера с возможностью переводить их в режим наблюдения (я использовал TP-LINK TL-WN722N 2.4 GHz - дешево и сердито).
0.3). Атакуемый роутер с используемым протоколом WPA/WPA2-Enterprise и настроенным RADIUS сервером.
0.4). Атакуемое устройство (клиент), которое уже подключено к WiFi сети или собирается подключиться.
Подготовка:
1.0). Запускаем ОС с которой будет проводиться атака и устанавливаем все необходимые утилиты (из пункта 0.1).
1.1). Подключаем USB WiFi адаптеры (в дальнейшем они будут именоваться не иначе как "свистки" )
1.2) Вводим команду airmon-ng и проверяем наличие двух свистков. Для перестраховки пишем airmon-ng check kill.
После этого переводим один из них в режим мониторинга командой:
airmon-ng start wlan1
1.3) Открываем файл конфигурации hostapd-wpe (в моем случае команда nano /etc/hostapd-wpe/hostapd-wpe.conf) и производим минимальную настройку. В нашем случае понадобится указать только имя используемого интерфейса (wlan0, так-как wlan1 у нас уже в режиме монитора и будет занят немного другим делом) и название атакуемой точки доступа, то есть SSID (о более гибкой настройке файла конфигурации и подделке сертификатов рассказано не будет т.к. это выходит за рамки данной статьи). После внесения изменений сохраняем конфиг.
1.4) Запускаем нашу Rogue AP с мнимым Radius командой:
hostapd-wpe /etc/hostapd-wpe/hostapd-wpe.conf
На этом этапе всю подготовку можно считать завершенной, дальше потребуется собрать необходимую информацию в "полевых" условиях - то есть в непосредственной близости к тестируемой точке доступа.
Действие:
Так как суть получения учетных данных будет заключаться в создании ложной точки доступа (атака Evil Twin), то нам потребуется узнать MAC-адрес атакуемой точки доступа и MAC-адрес клиента (логин и пароль которого мы хотим получить). Нам это нужно для того, чтобы деаутентифицировать(грубо говоря "отключить") пользователя от атакуемой WiFi точки и заставить его авторизоваться на нашем "злом" RADIUS.
2.0) Для получения MAC-адреса атакуемой точки доступа вводим команду airodump-ng wlan1mon (вот и пригодился второй свисток)
2.1) Теперь, когда у нас есть MAC-адрес точки доступа, нам не составит труда узнать MAC-адреса всех устройств, что подключены к данной WiFi сети, для этого вводим команду:
airodump-ng -c <CH> --bssid 13:37:6C:7E:80:80 wlan1mon
где:
-с канал, смотрим в столбце CH
--bssid MAC-адресс атакуемой точки
wlan1mon - ваш интерфейс мониторинга
В результате мы получаем список MAC-адресов всех клиентов, которые подключены к данной ТД. Дело осталось за малым.
3.1) Теперь обладая всей нужной информацией мы "отключаем" выбранного нами клиента от wi-fi точки, отправляя ему DeAuth пакеты. В этом нам поможет команда:
aireplay-ng -0 0 -a 14:8A:A8:2B:28:A0 -c 14F:BF:13:KE:37 wlan1mon
где:
-0 ключ означающий деаутентификацию, a число после ключа - колличество DeAuth пакетов, которое будет отправлено. Если поставить 0(как в примере), то будет посылаться неограниченное кол-во пакетов(рекомендуемый метод).
-a MAC-адрес атакуемой точки доступа
-с МАС-адрес клиента
wlan1mon - интерфейс с которого будут отсылаться пакеты
3.2) После этого у клиента пропадает соединение с WiFi точкой, он заходит в настройки подключения и видит точку со знакомым ему SSID, пытается подключиться к ней, но встречает окно авторизации, по опыту могу сказать, что учетные данные вводятся в восьми случаях из десяти.
3.3) Так как пользователь не сможет подключиться к WiFi, важно прекратить атаку сразу после того, как будут получены учетные данные. А они упадут нам в лог сразу после попытке авторизации.
3.4) Теперь нам остается только перебрать хеш для получения полных учетных данных. Сделать это можно множеством способов, к примеру воспользуемся утилитой asleap:
asleap -C 6a:e8:7f:83:3f:19:39:8b -R 8c:a6:5d:ef:27:36:86:11:6f:07:19:4a:ab:ae:37:8f:2d:a4:b0:f9:b4:6b:e9:cd -W rockyou.txt
где:
-С Значение вызова, в разделённых двоеточиями байтах (грубо говоря, значение по ключу challenge)
-R Значение jndtnf, в разделённых двоеточиями байтах (значение по ключу response)
-W Словарь, по которому будет производиться подбор пароля
Рано или поздно вы будете счастливы (если вы грамотно выбрали словарь).
На этом всё! Рекомендую глубже разобраться со всеми использованными в статье утилитами и использовать полученную информацию только в благих целях.
Постараюсь быть краток и оставлю изучение теории по ключевым пунктам на ваше усмотрение. Применение данного руководства подразумевает у вас наличие начальных знаний о тестировании на проникновение wi-fi сетей.
Так-же напомню, что вся ответственность за реализацию действий, описанных в статье, лежит на вас и за неправомерные действия предусмотрена уголовная/административная ответственность.
Наконец-то мы начинаем.
Для успешного тестирования беспроводной сети вам понадобится:
0.0). Машина с установленным *nix дистрибутивом (в моем случае использовался Kali Linux 2.0).
0.1). Набор утилит для тестирования на проникновение (часть из них изначально установлена в Kali): Программный пакет aircrack-ng (из него нам понадобится aireplay-ng, airmon-ng и airodump-ng), hostapd-wpe, asleap/HashCat.
0.2). Два совместимых USB Wi-Fi адаптера с возможностью переводить их в режим наблюдения (я использовал TP-LINK TL-WN722N 2.4 GHz - дешево и сердито).
0.3). Атакуемый роутер с используемым протоколом WPA/WPA2-Enterprise и настроенным RADIUS сервером.
0.4). Атакуемое устройство (клиент), которое уже подключено к WiFi сети или собирается подключиться.
Подготовка:
1.0). Запускаем ОС с которой будет проводиться атака и устанавливаем все необходимые утилиты (из пункта 0.1).
1.1). Подключаем USB WiFi адаптеры (в дальнейшем они будут именоваться не иначе как "свистки" )
1.2) Вводим команду airmon-ng и проверяем наличие двух свистков. Для перестраховки пишем airmon-ng check kill.
После этого переводим один из них в режим мониторинга командой:
airmon-ng start wlan1
1.3) Открываем файл конфигурации hostapd-wpe (в моем случае команда nano /etc/hostapd-wpe/hostapd-wpe.conf) и производим минимальную настройку. В нашем случае понадобится указать только имя используемого интерфейса (wlan0, так-как wlan1 у нас уже в режиме монитора и будет занят немного другим делом) и название атакуемой точки доступа, то есть SSID (о более гибкой настройке файла конфигурации и подделке сертификатов рассказано не будет т.к. это выходит за рамки данной статьи). После внесения изменений сохраняем конфиг.
1.4) Запускаем нашу Rogue AP с мнимым Radius командой:
hostapd-wpe /etc/hostapd-wpe/hostapd-wpe.conf
На этом этапе всю подготовку можно считать завершенной, дальше потребуется собрать необходимую информацию в "полевых" условиях - то есть в непосредственной близости к тестируемой точке доступа.
Действие:
Так как суть получения учетных данных будет заключаться в создании ложной точки доступа (атака Evil Twin), то нам потребуется узнать MAC-адрес атакуемой точки доступа и MAC-адрес клиента (логин и пароль которого мы хотим получить). Нам это нужно для того, чтобы деаутентифицировать(грубо говоря "отключить") пользователя от атакуемой WiFi точки и заставить его авторизоваться на нашем "злом" RADIUS.
2.0) Для получения MAC-адреса атакуемой точки доступа вводим команду airodump-ng wlan1mon (вот и пригодился второй свисток)
2.1) Теперь, когда у нас есть MAC-адрес точки доступа, нам не составит труда узнать MAC-адреса всех устройств, что подключены к данной WiFi сети, для этого вводим команду:
airodump-ng -c <CH> --bssid 13:37:6C:7E:80:80 wlan1mon
где:
-с канал, смотрим в столбце CH
--bssid MAC-адресс атакуемой точки
wlan1mon - ваш интерфейс мониторинга
В результате мы получаем список MAC-адресов всех клиентов, которые подключены к данной ТД. Дело осталось за малым.
3.1) Теперь обладая всей нужной информацией мы "отключаем" выбранного нами клиента от wi-fi точки, отправляя ему DeAuth пакеты. В этом нам поможет команда:
aireplay-ng -0 0 -a 14:8A:A8:2B:28:A0 -c 14F:BF:13:KE:37 wlan1mon
где:
-0 ключ означающий деаутентификацию, a число после ключа - колличество DeAuth пакетов, которое будет отправлено. Если поставить 0(как в примере), то будет посылаться неограниченное кол-во пакетов(рекомендуемый метод).
-a MAC-адрес атакуемой точки доступа
-с МАС-адрес клиента
wlan1mon - интерфейс с которого будут отсылаться пакеты
3.2) После этого у клиента пропадает соединение с WiFi точкой, он заходит в настройки подключения и видит точку со знакомым ему SSID, пытается подключиться к ней, но встречает окно авторизации, по опыту могу сказать, что учетные данные вводятся в восьми случаях из десяти.
3.3) Так как пользователь не сможет подключиться к WiFi, важно прекратить атаку сразу после того, как будут получены учетные данные. А они упадут нам в лог сразу после попытке авторизации.
3.4) Теперь нам остается только перебрать хеш для получения полных учетных данных. Сделать это можно множеством способов, к примеру воспользуемся утилитой asleap:
asleap -C 6a:e8:7f:83:3f:19:39:8b -R 8c:a6:5d:ef:27:36:86:11:6f:07:19:4a:ab:ae:37:8f:2d:a4:b0:f9:b4:6b:e9:cd -W rockyou.txt
где:
-С Значение вызова, в разделённых двоеточиями байтах (грубо говоря, значение по ключу challenge)
-R Значение jndtnf, в разделённых двоеточиями байтах (значение по ключу response)
-W Словарь, по которому будет производиться подбор пароля
Рано или поздно вы будете счастливы (если вы грамотно выбрали словарь).
На этом всё! Рекомендую глубже разобраться со всеми использованными в статье утилитами и использовать полученную информацию только в благих целях.