Меню Рубрики

Hostapd установка kali linux

Инструменты Kali Linux

Список инструментов для тестирования на проникновение и их описание

hostapd-wpe

Описание hostapd-wpe

hostapd-wpe — это замена для FreeRADIUS-WPE.

Она реализует IEEE 802.1x атаки выдачи себя за аутентификатора и сервера аутентификации (Authenticator and Authentication Server impersonation attacks) для получения учётных данных клиента, установки связи с клиентом, а также запуск других атак, где они применимы.

hostapd-wpe поддерживает следующие типы EAP для имперсонации (выдачи себя за другого, в данном случае за аутентификатора и серверы аутентификации):

  1. EAP-FAST/MSCHAPv2 (Phase 0)
  2. PEAP/MSCHAPv2
  3. EAP-TTLS/MSCHAPv2
  4. EAP-TTLS/MSCHAP
  5. EAP-TTLS/CHAP
  6. EAP-TTLS/PAP

После того, как имперсонация идёт полным ходом, hostapd-wpe будет возвращать сообщение EAP-Success, что должно убедить клиентов, что они подключились к их легитимному аутентификатору.

Для клиентов 802.11, hostapd-wpe также реализует безвозмездные зондовые ответы в стиле Karma.

hostapd-wpe также реализует атаки CVE-2014-0160 (Heartbleed) в отношении уязвимых клиентов.

hostapd-wpe записывает все данные в стандартный вывод (stdout) и hostapd-wpe.log

Автор: Thomas d’Otreppe

Справка по hostapd-wpe

Руководство по 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.log

Дополнительные WPE опции командной строки:

Запуск

После установки вы можете запустить hostapd. Этот патч создаст новый hostapd-wpe.conf, который вам, вероятно, потребуется изменить, чтобы заставить его работать для вашей атаки. Когда готово, просто запустите

Смотрите в выводе имя-пользователя/вызов/ответ. Они будут там и в файле hostapd-wpe.log в директории, где вы запустили hostapd. Например, здесь учётный данные EAP-FAST Phase 0 из stdout:

и, как всегда, мы скармливаем их asleap для взлома:

В качестве альтернативы, учётные данные MSCHAPv2 выводятся в формате john the rippers NETNTLM.

Решение проблем

Сертификаты не созданы. Следуйте описанной ниже процедуре по их созданию.

Одной из возможных причин является то, что другой процесс использует этот интерфейс. Запуск

исправляет эту ошибку (программа закроет любой сетевой менеджер и сетевые соединения).

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. Это может быть сделано следующим образом:

Затем используйте wpa_supplicant для подключения к hostapd-wpe -c

Примеры запуска hostapd-wpe

Настройте свойства ТД отредактировав /etc/hostapd-wpe/hostapd-wpe.conf

Убейте network-manager используя airmon-ng

Запустите hostapd-wpe. Появиться беспроводная ТД. Пароли подключающихся и аутентифицирующихся на этой сети пользователей будут напечатаны в консоли.

Как только вызов и ответ получены, взломайте их используя asleap вместе с файлом словарём паролей.

Установка hostapd-wpe

Установка в Kali Linux

Установка в BlackArch

Программа предустановлена в BlackArch.

Установка в Debian, Ubuntu, Linux Mint и другие дистрибутивы на основе Debian

Основная часть установки:

Информация об установке в другие операционные системы будет добавлена позже.

Источник

Установка hostapd из исходников

Если вас не устраивают существующие роутеры или точки доступа WiFi, остаётся только один выход — сделать самому. После того как вы собрали роутер с WiFi на базе персонального компьютера и установили систему, настроили сеть, необходимо установить и настроить беспроводную сеть WiFi. Для этого устанавливают пакет hostapd из репозиториев. Но часто бывает так, что находящийся в репозитории пакет не отвечает нашим требования, например, у него не включён режим IEEE 802.11ac или там старая версия hostapd. В этом случаем нам придётся самим установить из исходников hostapd. В нашем примере мы будем устанавливать hostapd на системе Centos 6. Для этого заходим на сайт https://w1.fi/hostapd/ и скачиваем исходники (на момент написания статьи последняя версия была 2.5). В настоящее время уже есть версия 2.7 с поддержкой 802.11ax и wpa3.

#tar -zxvf hostapd-2.5.tar.gz

Входим в папку с исходниками

В исходниках находится пример конфигурационного файла под названием defconfig, копируем его в .config

#cp defconfig .config

Открываем его редактором и настраиваем под наши нужды. В нашем случае нам необходимо включить поддержку IEEE 802.11ac

Приводим файл к следующему виду, сохраняем и выходим

CONFIG_DRIVER_HOSTAP=y
CONFIG_DRIVER_NL80211=y
CONFIG_LIBNL32=y
CONFIG_IAPP=y
CONFIG_RSN_PREAUTH=y
CONFIG_PEERKEY=y
CONFIG_IEEE80211W=y
CONFIG_EAP=y
CONFIG_ERP=y
CONFIG_EAP_MD5=y
CONFIG_EAP_TLS=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_GTC=y
CONFIG_EAP_TTLS=y
CONFIG_PKCS12=y
CONFIG_IPV6=y
CONFIG_IEEE80211N=y
CONFIG_IEEE80211AC=y
CONFIG_ACS=y

#Пример конфигурирования hostapd
#
#Этот файл содержит список параметров конфигурации, которые используются при компиляции Hostapd
#Все строки, начинающиеся с #игнорируются. Строка с параметрами настройки должна быть закомментирована, если функция не должна быть включена, т.е. установка переменной — n не отключает функцию.
#Этот файл включен в Makefile, так как CFLAGS переменные и библиотеки также могут быть изменены здесь. В большинстве должны быть использованы «+=» для того что бы не переопределить предыдущие значения переменных.

#Интерфейс драйвера для управления точкой доступа
CONFIG_DRIVER_HOSTAP=у

#Интерфейс драйвера для проводного аутентификатора
#CONFIG_DRIVER_WIRED=у

#Интерфейс для драйверов, использующих nl80211 интерфейс ядра
CONFIG_DRIVER_NL80211=у

#Driver_nl80211.c требует библиотеку libnl. Если компилируете сами, то Вы можете указать нужной версии libnl для вашего hostapd.
#CFLAGS + = -I $
#LIBS + = -L $

#Использовать libnl v2.0 (или 3.0) библиотеку.
#CONFIG_LIBNL20=у

#Использовать libnl 3,2 библиотеку (если выбран данный параметр, то CONFIG_LIBNL20 игнорируется)
CONFIG_LIBNL32=у

#Интерфейс драйвера для FreeBSD net80211 слоя (например, драйвер Atheros)
#CONFIG_DRIVER_BSD=y
#CFLAGS += -I/usr/local/include
#LIBS += -L/usr/local/lib
#LIBS_p += -L/usr/local/lib
#LIBS_c += -L/usr/local/lib

#Интерфейс не для драйвера (например, только RADIUS-сервер)
#CONFIG_DRIVER_NONE=у

#IEEE 802.11f / IAPP
CONFIG_IAPP=у

#WPA2 / IEEE 802.11i RSN предаутентификация
CONFIG_RSN_PREAUTH=у

#PeerKey связь станция-станция (IEEE 802.11e DLS)
CONFIG_PEERKEY=у

#IEEE 802.11w (управление защитой пакета)
CONFIG_IEEE80211W=у

#Встроенный сервер EAP
CONFIG_EAP=у

#EAP Предаутентификационный протокол (ERP), во встроенном EAP сервере
CONFIG_ERP=у

#EAP-MD5 для интегрированного EAP сервера
CONFIG_EAP_MD5=у

#EAP-TLS для интегрированного EAP сервера
CONFIG_EAP_TLS=у

#EAP-MSCHAPv2 для интегрированного EAP сервера
CONFIG_EAP_MSCHAPV2=у

#EAP-PEAP для интегрированного EAP сервера
CONFIG_EAP_PEAP=у

#EAP-GTC для интегрированного EAP сервера
CONFIG_EAP_GTC=у

#EAP-TTLS для интегрированного EAP сервера
CONFIG_EAP_TTLS=у

#EAP-SIM для интегрированного EAP сервера
#CONFIG_EAP_SIM=у

#EAP-AKA для интегрированного EAP сервера
#CONFIG_EAP_AKA=у

#EAP-AKA для интегрированного EAP сервера. Данный параметр требует включения CONFIG_EAP_AKA.
#CONFIG_EAP_AKA_PRIME=у

#EAP-PAX для интегрированного EAP сервера
#CONFIG_EAP_PAX=у

#EAP-PSK для интегрированного EAP сервера (не требуется для WPA-PSK)
#CONFIG_EAP_PSK=у

#EAP-PWD для интегрированного EAP сервера (аутентификация с безопасным паролем)
#CONFIG_EAP_PWD=у

#EAP-SAKE встроенный сервер EAP
#CONFIG_EAP_SAKE=у

#EAP-GPSK для интегрированного EAP сервера
#CONFIG_EAP_GPSK=у
#Включить поддержку шифрования SHA256 в EAP-GPSK
#CONFIG_EAP_GPSK_SHA256=у

#EAP-FAST для интегрированного EAP сервера
#Примечание: Если OpenSSL используется в виде библиотеки TLS, то для поддержки EAP-FAST требуется OpenSSL 1.0 или более поздней версии . Старые релизы OpenSSL, для добавления необходимых функций необходимо пропатчить, например, с помощью OpenSSL-0.9.8x-TLS-extensions.patch.
#CONFIG_EAP_FAST=у

#Защищённая настройка Wi-Fi (WPS)
#CONFIG_WPS=у
#Включить поддержку UPnP для внешних WPS регистраторов
#CONFIG_WPS_UPNP=у
#Включить поддержку WPS с методом конфигурации NFC
#CONFIG_WPS_NFC=у

#Доверенное сетевое соединение (EAP-ТНК)
#CONFIG_EAP_TNC=у

#EAP-EKE для интегрированного EAP сервера
#CONFIG_EAP_EKE=у

#Поддержка PKCS#12 (PFX) (используется для чтения закрытого ключа и сертификата из файла, который обычно имеет расширение .pfx или .p12)
CONFIG_PKCS12=у

#RADIUS аутентификационный сервер. Данная функция обеспечивает доступ к интегрированному EAP серверу для внешних хостов, используя RADIUS.
#CONFIG_RADIUS_SERVER=у

#Включение поддержки IPv6 для RADIUS сервера
CONFIG_IPV6=у

#IEEE Std 802.11r-2008 (Быстрые BSS переходы)
#CONFIG_IEEE80211R=у

#Используйте IEEE 802.11 аутентификацию hostapd (в ACL), но без способности управления IEEE 802.11 (например, FreeBSD / net80211)
#CONFIG_DRIVER_RADIUS_ACL=у

#Поддержка стандарта IEEE 802.11n (Высокая пропускная способность)
CONFIG_IEEE80211N=у

#Управление беспроводной сетью (IEEE Std 802.11v-2011)
#Примечание: Это экспериментальная и неполноценная реализация.
#CONFIG_WNM=у

#Поддержка стандарта IEEE 802.11ac (Очень высокая пропускная способность)
CONFIG_IEEE80211AC=у

#Отключить отладку кода, чтоб не выводить отладочные сообщения. Благодаря этому можно значительно уменьшить размер hostapd, если конечно отладка кода не требуется.
#CONFIG_NO_STDOUT_DEBUG=у

#Включение записи отладочной информации в файл: -f /tmp/hostapd.log По умолчанию отключена.
#CONFIG_DEBUG_FILE=у

#Включение отправки всех отладочных сообщений (независимо от отладки многословием) для объектов трассировки ядра Linux. Помогает отладить весь стэк и позволяет записывать всё, что происходит с драйвером в файл, например, с использованием трассировки-CMD.
#CONFIG_DEBUG_LINUX_TRACING=у

#Удалить поддержку учетных записей RADIUS
#CONFIG_NO_ACCOUNTING=у

#Удалить поддержку RADIUS
#CONFIG_NO_RADIUS=у

#Удалить поддержку VLAN
#CONFIG_NO_VLAN=у

#Включение полной поддержки динамических VLAN. Это позволит hostapd в автоматически создавать интерфейсы моста и VLAN, если необходимо.
#CONFIG_FULL_DYNAMIC_VLAN=у

#Использовать API ядра NetLink как основу операций для VLAN вместо IOCTL ()
#Примечание: Требуется библиотека версии libnl 3.1 или более поздней.
#CONFIG_VLAN_NETLINK=у

#Удалить поддержку для сброса внутреннего состояния с помощью команд интерфейса управления. Это может быть использовано для уменьшения размера бинарного кода за счет отключение опции отладки.
#CONFIG_NO_DUMP_STATE=у

#Включение отладки кода трассировки
#Отслеживает использование памяти ассигнований и других регистраций и отчетов неправильного использования обратной трассировкой вызова (или распределения).
#CONFIG_WPA_TRACE=у
#Для BSD, закомментируйте эти.
#LIBS + = -lexecinfo
#LIBS_p + = -lexecinfo
#LIBS_c + = -lexecinfo

#Используйте libbfd, для получения более подробной отладочной информации
#Позволяет использовать libbfd, чтобы получить более подробные значения для цепочек вызовов генерированных для CONFIG_WPA_TRACE=у.
#CONFIG_WPA_TRACE_BFD=у
#Для BSD, закомментируйте эти.
#LIBS + = -lbfd -liberty -lz
#LIBS_p + = -lbfd -liberty -lz
#LIBS_c + = -lbfd -liberty -lz

#Hostapd зависит от криптостойкой генерации случайных чисел доступных в операционной системе. При необходимости используется функция os_get_random() для выборки случайных данных, например, при генерации ключа. В системах Linux и BSD работает при чтении /dev/urandom. Следует отметить, что источник энтропии ОС должен быть правильно инициализирован перед запуском hostapd. Это особенно важно на встроенных устройствах, которые не имеют аппаратных генераторов случайных чисел и может по умолчанию начать с минимальной энтропии, доступной для генерации случайных чисел.
#Для подстраховки, hostapd по умолчанию пытается собрать дополнительную энтропию для генерации случайных данных, чтобы смешать их с данными, извлекаемыми из ОС. Само по себе не считается очень надёжным, но это может помочь в тех случаях, когда система пула не инициализируется должным образом. Тем не менее, рекомендуется система инициализации пула с достаточной энтропией, либо с помощью аппаратного генератора случайных чисел или хранение состояния между перезагрузками устройств.

#hostapd может быть настроен, чтобы поддерживать свою собственную базу энтропии поверх перезагрузок для расширения генерации случайных чисел. Это не идеально, но это гораздо более безопасно, чем использование той же последовательности случайных чисел после каждой перезагрузки. Может быть включен -е опцией командной строки. Указанный файл должен быть доступен для чтения и записи программой hostapd.
#Если os_get_random(), как известно, обеспечивает криптостойкие случайные данные (например, в Linux / BSD, доска известных вопросов имеет надежный источник случайных данных из /dev/urandom), внутренний hostapd случайным пул может быть отключён. Это позволит сэкономить бинарные данные и использование центрального процессора. Тем не менее, следует рассматривать только для сборки на устройствах, которые отвечают требованиям, описанным выше.
#CONFIG_NO_RANDOM_POOL=у

#Использовать опрос вместо выбора? Значение по умолчанию — да.
#CONFIG_ELOOP_POLL=у

#Использовать расширенный опрос вместо выбора? Значение по умолчанию — да.
#CONFIG_ELOOP_EPOLL=у

#Выберите вариант TLS
#openssl = OpenSSL (по умолчанию)
#gnutls = GnuTLS
#internal = Internal TLSv1 implementation (experimental)
#none = Empty template
#CONFIG_TLS=openssl

#Методы EAP, основанные на TLS, требуют минимум TLS v1.0. Новые версии TLS (v1.1) могут быть включены, чтобы получить более криптостойкую структуру, при использовании блочных шифров .
#CONFIG_TLSV11=у

#Методы EAP, основанные на TLS, требует минимум TLS v1.0. Новые версии TLS (v1.2) могут быть включены, чтоб разрешить использование более сильных алгоритмов шифрования.
#CONFIG_TLSV12=у

#Если CONFIG_TLS=internal используется, то дополнительная библиотека и включают в части требующие LibTomMath. Но при этом может быть использованы интегрированная, минимальная версия LibTomMath. См libtommath.c подробную информацию о преимуществах и недостатки этого варианта.
#CONFIG_INTERNAL_LIBTOMMATH=y
#ifndef CONFIG_INTERNAL_LIBTOMMATH
#LTM_PATH=/usr/src/libtommath-0.39
#CFLAGS += -I$(LTM_PATH)
#LIBS += -L$(LTM_PATH)
#LIBS_p += -L$(LTM_PATH)
#endif
#При размере дополнительного двоичного кода около 4 кбайт, внутренний LibTomMath может быть выполнен с возможностью включать в себя более быстрые процедуры для exptmod, sqr, и div для ускорения DH и RSA вычислений.
#CONFIG_INTERNAL_LIBTOMMATH_FAST=у

#Включение функциональнала улучшенной организации межсетевого обмена с внешними сетями.
#CONFIG_INTERWORKING=у

# Hotspot 2.0
#CONFIG_HS20=у

# Включить поддержку базы данных SQLite для hlr_auc_gw, EAP-SIM БД, и eap_user_file
#CONFIG_SQLITE=у

# Включить быструю передачу сессий (FST)
#CONFIG_FST=у

# Включить команды консоли для тестирования FST
#CONFIG_FST_TEST=у

#Параметры тестирования могут использоваться для того, чтобы использовать несколько вариантов тестирования (см также пример файл конфигурации), что действительно полезно только для тестирования клиентами, при подключении к этому hostapd. Эти опции позволяют, например, опустить определенный процент запросов зонда или авт/(Re)доц кадров.
#CONFIG_TESTING_OPTIONS=у

#Автоматический выбор канала позволит hostapd автоматически выбрать канал, когда канал установлен д ля «acs_survey» или «0». В конце концов, другие алгоритмы ACS (АВК) могут быть добавлены в подобный способ.
#Автоматический выбор в настоящее время делается только через инициализацию, позже мы надеемся сделать проверку через определённые временные интервалы, чтобы постоянно находить самые свободные каналы и переключаться на них. ACS (АВК) в настоящее время поддерживается только с помощью драйвера nl80211 и ваш драйвер должен иметь возможность анализа дампа, который заполняется драйвером во время сканирования.
#Вы можете настроить алгоритм обследования ACS hostapd.conf с переменной acs_num_scans.
#Поддерживаемые драйверы ACS:
# * ath9k
# * ath5k
# * ath10k
#
#Для получения более подробной информации обратитесь к странице http://wireless.kernel.org/en/users/Documentation/acs
CONFIG_ACS=у

Переходим в режим суперпользователя и устанавливаем необходимые библиотеки, указанные в .config файле

#su
#yum install -y libnl3-devel

Устанавливаем компилятор, если он не установлен

Запускаем процесс компиляции

#make && make install

Если во время компиляции возникают ошибки, значит не хватает каких либо библиотек и значит вам нужно будет посмотреть отладку и установить недостающие библиотеки.
Так как компиляция производится в папку /usr/local/bin, в RedHat системах находятся программы в папке /usr/sbin, нам придётся скопировать туда установленный hostapd

#cp /usr/local/bin/hostapd /usr/sbin/hostapd

После этого запускаем hostapd

#service hostapd start

Проверить состояние службы можно с помощью

#service hostapd status

Если служба не запускается посмотреть отладку можно командой

#hostapd -dd
или
#/usr/local/bin/hostapd -dd

Смотрим в чём ошибка и устраняем

Полноценная работа на моём оборудовании получилась при следующих настройках hostapd.conf:

При некоторых настройках hostapd запускается, но спустя 10 секунд блокируется. При этом блокирование зависит от версии ядра линукса и версии hostapd. Т.е. при одних и тех же настройках на одном ядре работает, на другом нет, с одной версией hostapd работает, с другой нет. Если с одновременно включёнными параметрами ieee80211n=1 и vht_oper_chwidth=1 не работает, то нужно опытным путём подобрать подходящее ядро.

Для упрощения настройки строчек ht_capab= и vht_capab= нужно воспользоваться командой iw list или iw phy phy0 info и перейти в секцию «Band» интересующей нас частоты (2.4 или 5 гГц):

Соответственно символ «/» заменяем на _, пробел на -, а некоторые параметры пишем по-другому, например, SGI это SHORT-GI. Каждый параметр заключаем в квадратные скобки []. До строки VHT Capabilities данные относятся к ht_capab= , после к vht_capab= . В итоге получается:

Посмотреть состояние точки доступа можно командой

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Mac os high sierra поддерживаемые модели
  • Mac os high sierra обои imac
  • Mac os high sierra обзор
  • Mac os high sierra новости
  • Mac os high sierra новая файловая система