Пентестинг WPA / WPA2 с шифрованием WLAN
WPA / WPA2 - это следующая эволюция безопасной беспроводной сети, появившаяся после того, как WEP оказался небезопасным. Алгоритмы, используемые этими протоколами, намного более безопасны (WPA: TKIP и WPA2: CCMP / AES), что делает невозможным взлом сети, используя тот же подход, который мы использовали с WEP.
Взлом WPA / WPA2 основан на той же идее - обнюхивание начального 4-стороннего рукопожатия и применение грубой силы для взлома зашифрованного пароля.
Чтобы проиллюстрировать этот пример, я еще раз воспользуюсь WLAN "LAB-test", на этот раз защищенной WPA2 с помощью следующего ключа - "F8BE4A2C". Как вы помните из предыдущих глав, успех и время, необходимое для подбора пароля, зависят от сложности пароля. Пароль, который я здесь использовал, потенциально достаточно слабый, чтобы его можно было взломать в относительно разумное время. В реальных условиях вы должны видеть только тот пароль, который состоит из 10+ символов и включает в себя все типы буквенно-цифровых знаков - таким образом, на его перебор потребуются годы.
Как и в предыдущем примере, мы начнем с airodump-ng, чтобы пассивно собрать некоторую информацию о WLAN.
Как вы можете заметить, у него действительно есть SSID «LAB-test», защищенный WPA2 с шифрованием CCMP. В настоящее время клиентом, подключенным к LAB-test, является другой мой компьютер с MAC-адресом 84: A6: C8: 9B: 84:76.
Первый шаг - включить сниффинг трафика (на этот раз нас не волнуют пакеты данных) LAB-test - это порядок сбора начального 4-стороннего рукопожатия между AP и беспроводным клиентом (мой ПК).
Как вы можете видеть ниже, каждый раз, когда новый пользователь присоединяется к сети, airodump перехватывает 4-стороннее рукопожатие.
Поскольку у нас есть эти рукопожатия, собранные в файле, мы готовы взломать пароль. Единственный отсутствующий элемент - это файл словаря с возможными паролями. Существует множество инструментов, которые вы можете использовать, например, john, crunch или даже можете загрузить файл словаря из Интернета. В этом примере я покажу кранч, но не стесняйтесь экспериментировать со всеми решениями, которые вы можете найти. Помните, небо - это предел.
Как вы видете, crunchможет создать для вас словарь. Предположим, мы хотим, чтобы все пароли состояли из цифр и букв длиной до 8 символов. И предположим, что число может быть от 0 до 9 и буквы от A до F. Почему мы делаем эти ограничения (предположение о пароле)? - это потому, что если вы хотите иметь файл со всеми комбинациями паролей, состоящими из цифр 0-9, букв az и AZ, вам понадобится место в 18566719 ГБ (!!!).
Итак, сначала мы создаем все комбинации и помещаем их в файл словаря.
Затем мы ссылаемся на этот файл словаря, используя aircrack утилита, чтобы попытаться получить правильный ключ, а именно:
Aircrack-ng обнаружил 8 BSSID в файле, поэтому он спрашивает вас - какую WLAN вы хотите взломать - я сослался на номер 2 - сеть "LAB-test".
Проверка каждого из паролей по очереди - очень долгий процесс. Время нахождения правильного пароля зависит от того, как далеко в файле словаря находится пароль (если вам повезет, вы можете найти пароль при первом предположении, если пароль помещен в 1-ю строку файла словаря). В этом примере, как видите, я нашел пароль, но это заняло 8 часов 47 минут (!!!). Использование пароля из 10 символов вместо 8 увеличит время, вероятно, до дней или, возможно, до недели.
Помните, что чем длиннее словарь, тем больше времени потребуется для взлома пароля. И, как я подчеркивал несколько раз ранее, если пароль довольно сложный и длинный, выполнить взлом с вычислительной точки зрения вообще невозможно (за ограниченное время, скажем, менее 10 лет).