Невидимый гость: вскрываем беспроводную сеть компании с Kali Linux и Raspberry Pi
Сегодня рассмотрим, как относительно незаметно протестировать безопасность беспроводной сети компании. В качестве основы будет использоваться 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:
Wifi.sh будет переводить беспроводной интерфейс в режим монитора и запускать инструмент airodump-ng с сохранением найденных хендшейков WPA2-Personal в файл для дальнейшего анализа.
В команде запуска airodump-ng необходимо обязательно указать параметры беспроводного интерфейса и файл, в который будут сохраняться полученные рукопожатия (данные, которые передаются во время подключения пользователя к точке доступа), используя ключ -w. Дополнительно рекомендуется указывать BSSID (MAC-адрес точки доступа) с помощью ключа —bssid и канал, на котором она работает, используя -с. Это не обязательно, но если указать, то перехватываться будут только нужные данные.
Второй скрипт будет запускать инструмент eaphammer, предназначенный для перехвата учетных данных при использовании протокола WPA2-Enterprise.
Инструмент работает по принципу «злого двойника», поэтому в параметрах запуска инструмента обязательно указывать:
- -i — название сетевого интерфейса. Если одновременно запускается несколько инструментов, использующих беспроводную сеть, то необходимо добавить дополнительные интерфейсы;
- —essid — имя точки доступа;
- —channel — канал, на котором работает точка доступа;
- —auth — метод аутентификации;
- —creds — сбор учетных записей.
Также для проведения атаки необходимо сгенерировать сертификат, выполнив команду ./eaphammer —cert-wizard. В интерактивном меню можно указать абсолютно любую информацию, это не будет влиять на качество атаки.
Сохраняем настройки, и в дальнейшем скрипты будут запускаться вместе со стартом системы.
Тестирование
Для проведения тестирования необходимо любым удобным способом расположить Raspberry Pi в радиусе действия точки доступа так, чтобы его никто не заметил, пока будут собираться данные. Установке для работы необходимо обеспечить 5V и 2-2.5A питания. Исключив возможность использовать адаптер для подключения к розетке, необходимо подумать об аккумуляторе типа powerbank’а для обеспечения бесперебойной работы на весь срок тестирования.
В завершение остается только забрать установку и проанализировать полученные данные. При использовании eaphammer данные будут в виде хендшейка записываться в папку loot, которая находится там же, где и сам инструмент, но лучше перестраховаться и добавить в скрипте запуска инструмента перенаправление вывода для записи в какой-нибудь файл. Тогда анализ будет заключаться только в поиске учетных данных в выходном файле.
Если удалось перехватить данные для подключения к 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 скорость возрастет до
Исходя из того, что перехвачено всего одно рукопожатие, то целесообразнее будет перебирать пароль с помощью Aircrack-ng. Так как изначально указывался только номер канала, для которого захватывались рукопожатия, то и при чтении дампа будет указан работающий на этом канале список точек доступа, а также информация о том, был ли для какой-то из них получен хендшейк.
Выбираем интересующую сеть «PTT», и начинается процесс перебора. В Интернете есть множество различных ресурсов, где можно подобрать интересующий словарь, например, тут или тут.
Помимо открытых ресурсов, есть и специализированные инструменты для генерации собственных словарей. Одним из таких является Crunch, который в использовании довольно прост:
- 89 — минимальная и максимальная длина паролей в словаре;
- 1234567890 — используемые символы. Допускается использовать как цифры, так и буквы, и специальные символы;
- -o — файл, в который будут записаны все варианты.
В результате пароль оказался «password».
Рекомендации для снижения возможности компрометации беспроводной сети
- при использовании WPA2-Personal рекомендуемая длина пароля должна быть больше, чем минимально требуемые 8 символов, к тому же использование словарных паролей значительно сокращает время их подбора. По данным на 2020 год, одними из самых популярных 8-символьных паролей все еще являются «12345678» и «password»;
- в компаниях с небольшим количеством пользователей можно дополнительно организовать фильтрацию на основе MAC-адреса устройства. Но данный метод может быть лишь одним из дополнительных элементов защиты, поскольку злоумышленник, начав процесс мониторинга беспроводной сети, в любом случае увидит MAC-адреса пользователей, которые подключены к точке доступа. Дальнейшее изменение собственного MAC-адреса при подключении останется лишь делом техники. К тому же, с увеличением количества клиентов «белый список» также будет увеличиваться, что не всегда бывает удобно для администратора;
- разделение сети на гостевую и корпоративную. Гостевая сеть может иметь доступ только в сеть Интернет. Корпоративная может иметь доступ к локальной сети. Используйте сегментирование (VLAN) для разных сетей;
- изолирование пользователей беспроводной сети друг от друга с целью предотвращения злоумышленником взаимодействия с другими клиентами точки доступа;
- если есть возможность использовать WPA2-Enterprise, то рекомендуется использовать его, дополнительно обеспечив подключение с помощью сертификатов безопасности;
- использование средств обнаружения вторжений в беспроводные сети (WIPS). Они предназначены для мониторинга беспроводной активности и определения/предотвращения попыток внутренних и внешних сетевых вторжений. Основывая свой анализ на канальном и физическом уровнях сетевой модели OSI, WIPS позволяет организациям успешно идентифицировать и защищать свои сети от несанкционированных точек доступа, атак на беспроводные сети и атак типа “отказ в обслуживании”.
- использование протоколов IEEE с повышенной безопасностью (например, 802.11w-2009), позволяющих блокировать попытки диссоциации/деаунтефикации и т.д.
Источник
Обзор Wi-Fi менеджеров для Linux
Существует много Wi-Fi менеджеров для Linux
Мы поставили перед собой задачу найти, проверить на практике и оценить программы для Linux, которые помогут нам управлять Wi-Fi соединениями. Мы нашли много различных сетевых утилит. В большинстве из них в основном используется конфигурирование профиля, где хранятся все настройки подключения, такие как ключи шифрования, необходимые для восстановления соединений. В некоторых из них даже поддерживается распределение IP адресов в сети и настройка DNS. Это здорово, например, если вашей домашней сети требуется статический IP, а в вашем домашним маршрутизаторе используется DHCP сервер – информация об IP адресе сохранится в профиле каждой сети. В добавок к простым индикаторам наличия сигнала беспроводной сети, в некоторых утилитах выдаются дополнительные данные, такие как графики уровней сигнала и шума и указываются каналы, используемые беспроводными сетями.
В процессе нашего поиска мы нашли много утилит, поддерживающих сетевые соединения: NetworkManager , Wicd , KWiFiManger , WaveSelect , AP Radar , NetChoose , gWireless . Мы рассмотрим следующие из них: Network Manager, Wicd и KWifiManager.
NetworkManager
Первая сетевая утилита, которую мы рассмотрим, это утилита NetworkManager , устанавливаемая по умолчанию в Ubuntu, которая является интерфейсом как для проводных, так и для беспроводных соединений. Хотя в NetworkManager отсутствует дополнительная функциональность, такая как настройка IP адресов сети и просмотр информации о каналах, в нем есть базовые функции.
Посмотрим на рис.1.
Рис.1
Щелчок мышки по иконке, расположенной в трее, открывает окно, где будут показаны все обнаруженные Wi-Fi сети и будет перечислены операции с сетями. Если Вы щелкните мышкой по какой-нибудь из беспроводных сетей, то в случае, если нужен ключ шифрования, будет выдан запрос на ввод ключей, а затем произойдет соединение. Для сети автоматически будет создан профиль, содержащий ключи шифрования, которые Вы ввели.
Чтобы подключиться к сетям, не использующих широковещательную рассылку пакетов, или к скрытым сетям, Вы можете щелкнуть мышкой по ссылке Connect to Other Wireless Network (Подключиться к другой беспроводной сети), а затем вручную ввести имя сети (SSID) и тип используемой секретности. Если щелкните по ссылке Create New Wireless Network (Создать новую беспроводную сеть), то вдобавок Вы можете создать свою собственную сеть вида ad-hoc (без точки доступа) или прямое соединение компьютер-компьютер.
Посмотрим на рис.2.
Рис.2
Щелчок правой кнопкой мыши по иконке, расположенной в трее, позволит вам отменить /восстановить подключение к проводной или беспроводной сети. Щелчок мышкой по пункту меню Connection Information (Информация о подключении) выдаст вам детальную информацию о текущем подключении, такую как скорость передачи данных, настройку IP и аппаратный адрес (адрес MAC). Для того, чтобы просмотреть или изменить профили, созданные для сетей, к которым Вы подключаетесь, щелкните мышкой по пункту Edit Wireless Networks (Редактировать беспроводные сети). На рис.3 видно, что для каждого профиля можно изменить настройки секретности / шифрования, а для сетей с несколькими точками доступа (точки доступа AP) можно добавить MAC адреса всех точек доступа, имеющих одно и то же имя сети (BSSID).
Рис.3
Мы выяснили, что NetworkManager не требует сложных навыков работы в случае, если работа ведется с простыми сетями. Вам придется воспользоваться чем-нибудь другим в случае, если Вы работаете сразу с несколькими сетями, для каждой из которой нужна дополнительная настройка (такая, как ввод статических IP адресов), либо если вам нужен инструмент, который предоставит детализированную информации о силе сигнала и о каналах.
Утилита Wicd
Wicd – другая утилита, которая поможет вам управлять подключениями к проводным и беспроводным сетям. У нее нет зависимостей от Gnome (хотя она требует GTK) и она должна работать на любых дистибутивах Linux. Ее можно получить с ее вебсайта или взять из репозитория вашего дистрибутива. Инструкции по установке для конкретных дистибутивов можно получить по ссылке скачать Wicd .
После установки щелчком мышкой по иконке Wicd, расположенной в трее, откроем менеджер Wicd, где будем выполнять все необходимые действия. На рис.4 видно, что для каждой проводной сети и каждой сети Wi-Fi создается запись, где указывается сила сигнала (в процентах или dBm), статус шифрования и физический (MAC) адрес.
Рис.4
В каждой записи есть маленький треугольник – если щелкнуть мышкой по нему, то можно открыть детализацию так, как это, например, показано на рис.4 для сети dlink. Для беспроводных сетей вам будет показана дополнительная информация, номер канала и появятся две кнопки: кнопка конфигурирования специальных сетевых скриптов и кнопка установки таких дополнительных настроек, как статический IP адрес, адрес DNS и ключ шифрования. На рис.5 показана такая детализация: менеджер Wicd с детализированными данными о сети, окно настройки скриптов и окно дополнительных настроек. Настройки, которые Вы вводите в этих окнах, сохраняются, так что если Вы выйдите из зоны действия сети, а затем сеть будет снова обнаружена, настройки восстановятся – используется схема профиля, допускающая пропадание сети. Для проводного соединения детализированные данные будут аналогичными, но дополнительно будет присутствовать поле, в котором можно задать / выбрать различные профили для проводных адаптеров и для каждого профиля указать статический IP адрес и адрес DNS.
Рис.5
Теперь – о панели инструментов приложения. В меню Network (Сеть) имеется ссылка на подключение к скрытым беспроводным сетям и ссылка на создание сети вида ad-hoc (без точки доступа). Ясно, что с помощью кнопки Disconnect (Отключение) Вы отключитесь от сети, а с помощью кнопки Refresh (Обновить)Вы заново просканируете окружающее вас пространство и обновите список имеющихся Wi-Fi сигналов. С помощью кнопки Preferences (Настройки) Вы перейдете в режим, где Вы сможете изменить расширенные настройки утилиты. Здесь, вероятно, Вы захотите настроить глобальный DNS и переключится в режим изображения сигнала в dBm, а от остальных настроек будете держаться подальше.
Хотя в утилите Wicd предоставлены расширенные возможности, такие как настройки профиля с указанием IP, силы сигнала и канала, в ней отсутствует окно, отображающее обычные данные о соединении, такие как IP настройки и MAC адреса. Хотя для выяснения этих данных можно воспользоваться другими средствами, например, командой ifconfig -a или iwconfig.
KWiFiManager
Последняя сетевая утилита, которую мы рассмотрим, это — KWiFiManager , предназначенная для управления беспроводными соединениями. Мы выяснили, что хотя в ней отсутствует поддержка проводных сетей, она предоставляет несколько возможностей, которые делают ее достаточно полезной на сцене беспроводных сетей. Давайте продолжим и увидим все сами.
Подобно другим, утилита KWiFiManager помещает свою иконку в системный трей, однако только она показывает численное значение силы сигнала вдобавок к анимированной шкале силы сигнала. Так что Вы всегда с первого взгляда будете иметь точное представление о силе сигнала. И это на иконке. Щелкните мышкой по иконке и перейдите в KWiFiManager.
На рис.6 показано, что с помощью Scan for Networks. (Сканирование сетей…) можно открыть список ближайших к нам Wi-Fi сетей. Зная имя сети, силу сигнала и настройки шифрования, Вы можете выбрать одну из них, а затем щелкнуть мышкой по Switch to Network. (Подключение к сети…). После этого в окошке появится скорость подключения (скорость передачи данных), имя сети или SSID, MAC адрес точки доступа и номер канала. Вдобавок слева Вы увидите анимированную шкалу силы сигнала и его числовое значение.
Рис.6
В меню File (Файл) Вы можете включать / выключать передатчик радиосигнала, а также открыть окно Connection Statistics (Статистика подключений). В этом окне в режиме реального времени изображается график сигнала и уровни шумов, если таковые имеются. В случае, если с подключением возникают проблемы, то это отличная возможность проверить наличие интерференции. Плюс эту возможность можно применить для грубой оценки состояния беспроводной сети.
В меню Settings (Настройки) имеется еще более эксцентричные возможности настроек. Когда включен режим Acoustic Scanning (Акустическое сканирование), программа издает тональные сигналы (более низкий тон при слабых сигналах и более высокий – при более мощных сигналах) с тем, чтобы помочь вам найти наилучшее «пятно» подключения, либо даже саму точку доступа. Кроме того, именно здесь Вы можете указать, что надо изображать иконку в системном трее и указывать на ней числовое значение силы сигнала.
В меню Settings (Настройки) Вы также можете запустить Configuration Editor (Конфигурационный редактор, см. Рис.7), где можно создать профили беспроводных сетей. Хотя в сравнении с другими утилитами интерфейс немного сырой и поддерживается только WEP шифрование, программа дает возможность управления по профилям. Вы можете ввести имя сети (SSID), ключи WEP, настройки адаптера, указывающие желаемую скорость передачи и мощность сигнала, а также указать скрипты, которые запустятся при успешном соединении.
Рис.7
Подытожим
Теперь Вы должны знать, что предлагают три различные сетевые утилиты Linux и как ими пользоваться. В конце нам бы хотелось рекомендовать, что новичкам в Linux и в беспроводных технологиях и тем, кто пользуется Ubuntu, может оказаться достаточно возможностей утилиты NetworkManager. Однако тем, кто пользуется несколькими беспроводными сетями, и тем, кому нужна утилита, дающая немного больше подробностей об Wi-Fi, подойдет утилита Wicd. А тем, кому нужно еще больше возможностей в беспроводных технологиях, гораздо больше подойдет KWiFiManager совместно с другими утилитами, управляющими проводными соединениями.
Источник