![](https://habrastorage.org/webt/mc/lv/ls/mclvlsxv_ngr8e8mdgrtil494k0.png)
Сегодня рассмотрим, как относительно незаметно протестировать безопасность беспроводной сети компании. В качестве основы будет использоваться Raspberry Pi, который поддерживает установку Kali Linux. Установка дистрибутива довольно проста:
- Загрузить официальный образ с сайта kali.org;
- Записать его на SD-диск с помощью Win32image для Windows и Gparted для Linux;
- Запустить Raspberry Pi с установленной в него SD-картой.
После установки, по желанию, можно обновить пакеты, если они будут доступны. Но для полноценной работы больше не требуется никаких действий. Требуемый размер карты памяти — 8Гб и выше. Чтобы система нормально функционировала, желательно использовать больший объем.
Статья носит информационный характер. Не нарушайте законодательство.
Теперь, когда система готова к работе, осталось только настроить запуск программ при старте системы, т.к. предполагается, что Raspberry Pi будет установлена непосредственно в радиусе действия нужной точки доступа для автономного сбора данных авторизации Wi-Fi. Для работы с WPA2-Personal есть множество инструментов с различной степенью интерактивности, но нестареющей классикой все же является набор aircrack-ng. В его состав входят различные вспомогательные модули, которые позволяют полноценно провести тестирование беспроводных сетей от переключения интерфейса в режим монитора до перебора пароля. В нашем случае необходимо только перехватить хендшейки Wi-Fi и сохранить их для последующего анализа.
Сделать это можно с помощью планировщика заданий crontab. Соответствующие строчки нужно добавить для запуска скриптов wifi.sh и eaphammer.sh:
![](https://habrastorage.org/webt/ca/no/ky/canokyrvobkftzo2cebufu4rtsk.png)
Wifi.sh будет переводить беспроводной интерфейс в режим монитора и запускать инструмент airodump-ng с сохранением найденных хендшейков WPA2-Personal в файл для дальнейшего анализа.
![](https://habrastorage.org/webt/ye/r5/ir/yer5iri-jz3xh61z-9bv_zghsz8.png)
В команде запуска airodump-ng необходимо обязательно указать параметры беспроводного интерфейса и файл, в который будут сохраняться полученные рукопожатия (данные, которые передаются во время подключения пользователя к точке доступа), используя ключ -w. Дополнительно рекомендуется указывать BSSID (MAC-адрес точки доступа) с помощью ключа --bssid и канал, на котором она работает, используя -с. Это не обязательно, но если указать, то перехватываться будут только нужные данные.
Второй скрипт будет запускать инструмент eaphammer, предназначенный для перехвата учетных данных при использовании протокола WPA2-Enterprise.
![](https://habrastorage.org/webt/k_/qk/_e/k_qk_efahe9dmkw1gyhnnbuqpnm.png)
Инструмент работает по принципу «злого двойника», поэтому в параметрах запуска инструмента обязательно указывать:
- -i — название сетевого интерфейса. Если одновременно запускается несколько инструментов, использующих беспроводную сеть, то необходимо добавить дополнительные интерфейсы;
- --essid — имя точки доступа;
- --channel — канал, на котором работает точка доступа;
- --auth — метод аутентификации;
- --creds — сбор учетных записей.
Также для проведения атаки необходимо сгенерировать сертификат, выполнив команду ./eaphammer --cert-wizard. В интерактивном меню можно указать абсолютно любую информацию, это не будет влиять на качество атаки.
![](https://habrastorage.org/webt/8k/mp/ct/8kmpct-b6i0821rpyvufqpvlwmk.png)
Сохраняем настройки, и в дальнейшем скрипты будут запускаться вместе со стартом системы.
Тестирование
Для проведения тестирования необходимо любым удобным способом расположить Raspberry Pi в радиусе действия точки доступа так, чтобы его никто не заметил, пока будут собираться данные. Установке для работы необходимо обеспечить 5V и 2-2.5A питания. Исключив возможность использовать адаптер для подключения к розетке, необходимо подумать об аккумуляторе типа powerbank’а для обеспечения бесперебойной работы на весь срок тестирования.
В завершение остается только забрать установку и проанализировать полученные данные. При использовании eaphammer данные будут в виде хендшейка записываться в папку loot, которая находится там же, где и сам инструмент, но лучше перестраховаться и добавить в скрипте запуска инструмента перенаправление вывода для записи в какой-нибудь файл. Тогда анализ будет заключаться только в поиске учетных данных в выходном файле.
![](https://habrastorage.org/webt/-x/q_/vr/-xq_vrspvpp6pw0nkc_b3fcmdv8.png)
Если удалось перехватить данные для подключения к WPA2-Personal, то останется только попытаться подобрать пароль по словарю. Выполнить перебор можно разными инструментами:
- с помощью Aircrack-ng;
- инструментом Pyrit, который позволяет использовать при переборе мощности видеокарты;
- CowPatty — предоставляет перебор с помощью радужных таблиц.
А также с помощью довольно популярных инструментов для перебора:
- John The Ripper и Hashсat — они также имеют поддержку перебора по радужным таблицам и использование мощностей не только CPU, но и GPU.
Радужные таблицы — это специально рассчитанные хеши, которые используются для очень быстрого восстановления паролей. Они представляют собой базы данных, в которых паролю соответствует заранее вычисленный хеш. Если говорить про Wi-Fi, то вычисление радужных таблиц занимает столько же времени, сколько и обычный перебор пароля, но вот поиск пароля по уже созданной радужной таблице будет составлять считанные секунды. Поэтому, если необходимо проверить только одно рукопожатие для точки доступа, то разницы между перебором паролей и составлением радужных таблиц не будет. Использование радужных таблиц имеет смысл только при проверке двух и более рукопожатий, поскольку проверка нескольких рукопожатий по радужным таблицам занимает по времени столько же, сколько и проверка одного. Также стоит отметить и существенный минус радужных таблиц — они занимают много места, намного больше, чем обычный словарь с паролями.
Если же сравнивать производительность инструментов, позволяющих использовать мощности CPU и GPU при переборе, то разница между, например, Aircrack-ng и Hashсat будет довольно существенна. Даже если сравнивать режимы перебора с использованием мощностей CPU и GPU по отдельности при переборе через Hashсat, то в первом случае, используя, например, CPU Xeon E5450 скорость будет ~3500 PMK/s, а при использовании GPU, например, GTX 1050Ti скорость возрастет до ~130000 PMK/s.
Исходя из того, что перехвачено всего одно рукопожатие, то целесообразнее будет перебирать пароль с помощью Aircrack-ng. Так как изначально указывался только номер канала, для которого захватывались рукопожатия, то и при чтении дампа будет указан работающий на этом канале список точек доступа, а также информация о том, был ли для какой-то из них получен хендшейк.
![](https://habrastorage.org/webt/qi/2h/gi/qi2hgiusrvwkdip3wcxnqik2cwq.png)
Выбираем интересующую сеть «PTT», и начинается процесс перебора. В Интернете есть множество различных ресурсов, где можно подобрать интересующий словарь, например, тут или тут.
Помимо открытых ресурсов, есть и специализированные инструменты для генерации собственных словарей. Одним из таких является Crunch, который в использовании довольно прост:
crunch 8 9 1234567890 -o wordlist.txt
где
- 8 9 — минимальная и максимальная длина паролей в словаре;
- 1234567890 — используемые символы. Допускается использовать как цифры, так и буквы, и специальные символы;
- -o — файл, в который будут записаны все варианты.
В результате пароль оказался «password».
![](https://habrastorage.org/webt/1w/w7/hs/1ww7hsgxm0ghgr_y6-l3dkssh1s.png)
Рекомендации для снижения возможности компрометации беспроводной сети
- при использовании WPA2-Personal рекомендуемая длина пароля должна быть больше, чем минимально требуемые 8 символов, к тому же использование словарных паролей значительно сокращает время их подбора. По данным на 2020 год, одними из самых популярных 8-символьных паролей все еще являются «12345678» и «password»;
- в компаниях с небольшим количеством пользователей можно дополнительно организовать фильтрацию на основе MAC-адреса устройства. Но данный метод может быть лишь одним из дополнительных элементов защиты, поскольку злоумышленник, начав процесс мониторинга беспроводной сети, в любом случае увидит MAC-адреса пользователей, которые подключены к точке доступа. Дальнейшее изменение собственного MAC-адреса при подключении останется лишь делом техники. К тому же, с увеличением количества клиентов «белый список» также будет увеличиваться, что не всегда бывает удобно для администратора;
- разделение сети на гостевую и корпоративную. Гостевая сеть может иметь доступ только в сеть Интернет. Корпоративная может иметь доступ к локальной сети. Используйте сегментирование (VLAN) для разных сетей;
- изолирование пользователей беспроводной сети друг от друга с целью предотвращения злоумышленником взаимодействия с другими клиентами точки доступа;
- если есть возможность использовать WPA2-Enterprise, то рекомендуется использовать его, дополнительно обеспечив подключение с помощью сертификатов безопасности;
- использование средств обнаружения вторжений в беспроводные сети (WIPS). Они предназначены для мониторинга беспроводной активности и определения/предотвращения попыток внутренних и внешних сетевых вторжений. Основывая свой анализ на канальном и физическом уровнях сетевой модели OSI, WIPS позволяет организациям успешно идентифицировать и защищать свои сети от несанкционированных точек доступа, атак на беспроводные сети и атак типа “отказ в обслуживании”.
- использование протоколов IEEE с повышенной безопасностью (например, 802.11w-2009), позволяющих блокировать попытки диссоциации/деаунтефикации и т.д.