Невидимый гость: вскрываем беспроводную сеть компании с Kali Linux и Raspberry Pi
Сегодня рассмотрим, как относительно незаметно протестировать безопасность беспроводной сети компании. В качестве основы будет использоваться Raspberry Pi, который поддерживает установку Kali Linux. Установка дистрибутива довольно проста:
- Загрузить официальный образ с сайта kali.org;
- Записать его на SD-диск с помощью Win32image для Windows и Gparted для Linux;
- Запустить Raspberry Pi с установленной в него SD-картой.
Теперь, когда система готова к работе, осталось только настроить запуск программ при старте системы, т.к. предполагается, что Raspberry Pi будет установлена непосредственно в радиусе действия нужной точки доступа для автономного сбора данных авторизации Wi-Fi. Для работы с WPA2-Personal есть множество инструментов с различной степенью интерактивности, но нестареющей классикой все же является набор aircrack-ng. В его состав входят различные вспомогательные модули, которые позволяют полноценно провести тестирование беспроводных сетей от переключения интерфейса в режим монитора до перебора пароля. В нашем случае необходимо только перехватить хендшейки Wi-Fi и сохранить их для последующего анализа.
Сделать это можно с помощью планировщика заданий crontab. Соответствующие строчки нужно добавить для запуска скриптов wifi.sh и eaphammer.sh:
Wifi.sh будет переводить беспроводной интерфейс в режим монитора и запускать инструмент airodump-ng с сохранением найденных хендшейков WPA2-Personal в файл для дальнейшего анализа.
В команде запуска airodump-ng необходимо обязательно указать параметры беспроводного интерфейса и файл, в который будут сохраняться полученные рукопожатия (данные, которые передаются во время подключения пользователя к точке доступа), используя ключ -w. Дополнительно рекомендуется указывать BSSID (MAC-адрес точки доступа) с помощью ключа —bssid и канал, на котором она работает, используя -с. Это не обязательно, но если указать, то перехватываться будут только нужные данные.
Второй скрипт будет запускать инструмент eaphammer, предназначенный для перехвата учетных данных при использовании протокола WPA2-Enterprise.
Инструмент работает по принципу «злого двойника», поэтому в параметрах запуска инструмента обязательно указывать:
- -i — название сетевого интерфейса. Если одновременно запускается несколько инструментов, использующих беспроводную сеть, то необходимо добавить дополнительные интерфейсы;
- —essid — имя точки доступа;
- —channel — канал, на котором работает точка доступа;
- —auth — метод аутентификации;
- —creds — сбор учетных записей.
Сохраняем настройки, и в дальнейшем скрипты будут запускаться вместе со стартом системы.
Тестирование
Для проведения тестирования необходимо любым удобным способом расположить Raspberry Pi в радиусе действия точки доступа так, чтобы его никто не заметил, пока будут собираться данные. Установке для работы необходимо обеспечить 5V и 2-2.5A питания. Исключив возможность использовать адаптер для подключения к розетке, необходимо подумать об аккумуляторе типа powerbank’а для обеспечения бесперебойной работы на весь срок тестирования.
В завершение остается только забрать установку и проанализировать полученные данные. При использовании eaphammer данные будут в виде хендшейка записываться в папку loot, которая находится там же, где и сам инструмент, но лучше перестраховаться и добавить в скрипте запуска инструмента перенаправление вывода для записи в какой-нибудь файл. Тогда анализ будет заключаться только в поиске учетных данных в выходном файле.
Если удалось перехватить данные для подключения к WPA2-Personal, то останется только попытаться подобрать пароль по словарю. Выполнить перебор можно разными инструментами:
- с помощью Aircrack-ng;
- инструментом Pyrit, который позволяет использовать при переборе мощности видеокарты;
- CowPatty — предоставляет перебор с помощью радужных таблиц.
- John The Ripperи Hashсat — они также имеют поддержку перебора по радужным таблицам и использование мощностей не только CPU, но и GPU.
Если же сравнивать производительность инструментов, позволяющих использовать мощности CPU и GPU при переборе, то разница между, например, Aircrack-ng и Hashсat будет довольно существенна. Даже если сравнивать режимы перебора с использованием мощностей CPU и GPU по отдельности при переборе через Hashсat, то в первом случае, используя, например, CPU Xeon E5450 скорость будет ~3500 PMK/s, а при использовании GPU, например, GTX 1050Ti скорость возрастет до ~130000 PMK/s.
Исходя из того, что перехвачено всего одно рукопожатие, то целесообразнее будет перебирать пароль с помощью Aircrack-ng. Так как изначально указывался только номер канала, для которого захватывались рукопожатия, то и при чтении дампа будет указан работающий на этом канале список точек доступа, а также информация о том, был ли для какой-то из них получен хендшейк.
Выбираем интересующую сеть «PTT», и начинается процесс перебора. В Интернете есть множество различных ресурсов, где можно подобрать интересующий словарь, например, тут или тут.
Помимо открытых ресурсов, есть и специализированные инструменты для генерации собственных словарей. Одним из таких является Crunch, который в использовании довольно прост:
crunch 8 9 1234567890 -o wordlist.txt
- 89 — минимальная и максимальная длина паролей в словаре;
- 1234567890 — используемые символы. Допускается использовать как цифры, так и буквы, и специальные символы;
- -o — файл, в который будут записаны все варианты.
Рекомендации для снижения возможности компрометации беспроводной сети
- при использовании WPA2-Personal рекомендуемая длина пароля должна быть больше, чем минимально требуемые 8 символов, к тому же использование словарных паролей значительно сокращает время их подбора. По данным на 2020 год, одними из самых популярных 8-символьных паролей все еще являются «12345678» и «password»;
- в компаниях с небольшим количеством пользователей можно дополнительно организовать фильтрацию на основе MAC-адреса устройства. Но данный метод может быть лишь одним из дополнительных элементов защиты, поскольку злоумышленник, начав процесс мониторинга беспроводной сети, в любом случае увидит MAC-адреса пользователей, которые подключены к точке доступа. Дальнейшее изменение собственного MAC-адреса при подключении останется лишь делом техники. К тому же, с увеличением количества клиентов «белый список» также будет увеличиваться, что не всегда бывает удобно для администратора;
- разделение сети на гостевую и корпоративную. Гостевая сеть может иметь доступ только в сеть Интернет. Корпоративная может иметь доступ к локальной сети. Используйте сегментирование (VLAN) для разных сетей;
- изолирование пользователей беспроводной сети друг от друга с целью предотвращения злоумышленником взаимодействия с другими клиентами точки доступа;
- если есть возможность использовать WPA2-Enterprise, то рекомендуется использовать его, дополнительно обеспечив подключение с помощью сертификатов безопасности;
- использование средств обнаружения вторжений в беспроводные сети (WIPS). Они предназначены для мониторинга беспроводной активности и определения/предотвращения попыток внутренних и внешних сетевых вторжений. Основывая свой анализ на канальном и физическом уровнях сетевой модели OSI, WIPS позволяет организациям успешно идентифицировать и защищать свои сети от несанкционированных точек доступа, атак на беспроводные сети и атак типа “отказ в обслуживании”.
- использование протоколов IEEE с повышенной безопасностью (например, 802.11w-2009), позволяющих блокировать попытки диссоциации/деаунтефикации и т.д.