Москва
+7-929-527-81-33
Вологда
+7-921-234-45-78
Вопрос юристу онлайн Юридическая компания ЛЕГАС Вконтакте

Проводим пентест Wi-Fi.

Обновлено 23.12.2025 05:04

 

Проводим пентест Wi-Fi.

 

Теперь попробуем на практике применить приведенные выше сведения о безопас ности беспроводных сетей Wi-Fi. Мы проведем практический аудит безопасности беспроводной сети. Для этого нам потребуется ноутбук с установленной и загруженной ОС Kali Linux и включенным беспроводным адаптером.

Прежде всего нам нужно просканировать эфир на наличие Wi-Fi сетей. Сделать это можно с помощью следующей команды:

airmon-ng

На экран будет выведен список имеющихся Wi-Fi интерфейсов. Необходимо выбрать беспроводную сетевую карту и запустить ее.

airmon-ng start wlan1

Далее нужно перевести ее в режим мониторинга с помощью следующих команд:

ifconfig wlan1mon down

iwconfig wlan1mon mode monitor

ifconfig wlan1mon up

airodump-ng wlan1mon

В результате карта перешла в режим мониторинга, и теперь мы можем просмотреть доступные беспроводные сети.

Из приведенного вывода команды нам наиболее интересно содержимое полей BSSID, ESSID и CH (номер канала). Также в поле ENC (шифрование) указан алгоритм, который используется для шифрования. Далее необходимо нажать Ctrl+C для остановки работы утилиты.

В случае если сеть открытая (OPN), к ней можно пробовать подключиться сразу. Если же используется шифрование WEP, WPA или WPA2, то придется воспользоваться дополнительными утилитами для взлома ключа.

Взлом WPA.

Сначала рассмотрим ситуацию, когда используется шифрование WPA/WPA2, так как на сегодняшний день это наиболее распространенная защита Wi-Fi.

Для осуществления атаки нам необходимо скопировать нужные BSSID и выполнить следующую команду:

airodump-ng -c [номер_канала] -bssid [bssid] -w /root/Desktop/ wlan1mon

Например, airodump-ng -c 11 --bssid 01:01:01:01:01:01 -w /root/Desktop/ wlan-1mon.

Теперь утилита airodump начала мониторинг выбранного канала. Нам необходимо собрать информацию об установке соединения. Для этого можно, конечно, дождаться, что к сети подключится другой пользователь, а можно просто сбросить сессию уже подключившегося пользователя (deauth), для того чтобы он вынужден был подключиться заново и в результате нам удалось бы собрать необходимую информацию. Для этого необходимо открыть еще один терминал и выполнить следующую команду.

aireplay-ng -0 2 -a [router bssid] -c [client bssid] wlan1mon

Здесь параметр -0 означает переход в режим deauth и 2 - это число передаваемых для «деаутентификации» пакетов. Параметр -a указывает BSSID, а -c - это MAC-адрес клиента.

Например:

aireplay-ng -0 2 -a 01:01:01:01:01:01 -c 02:02:02:02:02:02 wlan1mon

Если все было выполнено корректно, то в результате выполнения команды мы должны получить примерно следующее:

aireplay-ng -0 2 -a 01:01:01:01:01:01 -c 02:02:02:02:02:02 wlan1mon

Sending 64 directed Deauth. STMAC [02:02:02:02:02:02] [1|2 ACKs]

Sending 64 directed Deauth. STMAC [02:02:02:02:02:02] [3|5 ACKs]

Теперь окно второго терминала можно закрыть. В результате наших манипуляций с пользовательскими сессиями был перехвачен некоторый трафик, который сохранили в /root/Desktop/*.cap-файлах.

Необходимо снова открыть окно терминала и выполнить следующую команду.

aircrack-ng -a2 -b [router bssid] -w [path to wordlist] /root/Desktop/*.cap

Здесь a2 – это взламываемый алгоритм шифрования (WPA), -b - DSSID, -w - это словарь. На просторах интернета имеется множество готовых словарей, кроме того, генератор словарей при необходимости можно написать самостоятельно.

Итак, если в результате выполнения данной атаки вам удалось узнать пароль от беспроводной сети, есть повод серьезно задуматься о степени ее защищенности. Однако даже если вы используете шифрование WPA с достаточно сложным и длинным ключом, расслабляться все равно рано, так как существуют другие атаки. Вот пример одной из них.

Черный ход WPS.

Вернемся к выводу команды airodump-ng wlan1mon. На рисунке можно увидеть, что на некоторых точках доступа включен режим WPS. В случае правильного введения пина точка доступа сама предоставит нам необходимые данные для аутентификации (в т. ч. WPA PSK). Для подбора PIN в состав Kali Linux входит утилита Reaver. Собственно, PIN - это восьмизначное число, которое можно вводить в любое время - каких-либо действий на стороне точки доступа не требуется. Для восьмизначных чисел возможно 10^8 (100 000 000) вариантов. Но последняя цифра не является случайной, она рассчитывается по алгоритму, т. е., говоря простым языком, последнюю цифру мы всегда знаем, и количество возможных вариантов сокращается до 10^7 (10 000 000). При этом искомый PIN делится на две половины, и каждая из этих половин проверяется индивидуально. Это означает, что для первой половины 10^4 (10 000) возможных вариантов, а для второй - всего 10^3 (1000), т. к. последняя цифра не является случайной. Как видно, здесь, в отличие от подбора ключа шифрования по словарю, шансов на успех гораздо больше.

Утилита Reaver работает следующим образом: сначала подбирается первая половина кода PIN, а затем вторая. Скорость, с которой Reaver тестирует номера пинов, полностью зависит от скорости, с которой ТД может обрабатывать запросы. Некоторые достаточно быстрые - можно тестировать по одному пину в секунду, другие медленнее, они позволяют вводить только один пин в 10 секунд. Но по собственному опыту могу сказать, что некоторые модели точек доступа, используемые провайдерами для доступа в интернет по GPON, при переборе PIN начинают мигать красным сигналом, который при обычной работе не горит. Это может стать дополнительным сигналом о подозрительной активности в сети.

Для того чтобы начать перебор, необходимо в новом окне терминала выполнить следующую команду:

reaver -i wlan1mon -b [BSSID]

По умолчанию Reaver имеет задержку в 1 секунду между попытками ввода пина. Для отключения этой задержки необходимо добавить «-d 0» к командной строке, но некоторые ТД не любят этого:

reaver -i wlan1mon -b [BSSID] –d 0

Другая опция, которая может ускорить атаку, - это -dh-small. С помощью этой опции Reaver может несколько ускорить перебор с использованием групп Диффи–Хелманна:

reaver -i wlan1mon -b 01:01:01:01:01:01 --dh-small

В среднем перебор может занять до трех часов, так что за ночь осуществить такую атаку вполне реально.

Когда WPS нет.

Что делать в случае, если используется WPA, но пароль не из словаря и WPS не включен? То есть мы собрали пакеты с помощью airodump и у нас имеется cap-файл.

Здесь нам поможет входящая в состав Kali утилита Hashcat[3], которая позволяет существенно ускорить процесс восстановления паролей с помощью графического процессора. Программа бесплатна, хотя она содержит проприетарную кодовую базу. Доступны версии для Linux, OSX и Windows, есть варианты для использования центрального вычислительного процессора и графического процессора. Hashcat в настоящее время поддерживает огромное количество

алгоритмов хеширования, включая Microsoft LM Hashes, MD4, MD5, семейство SHA, форматы Unix Crypt, MySQL, Cisco PIX и многие другие (их там сотни). Полагаю, что в последующих главах я еще буду к ней возвращаться при проведении аудита пользовательских паролей.

Но вернемся к WPA. Hashcat имеет несколько режимов атак:

атака брут-форсом (перебором);

комбинаторная атака;

атака по словарю;

атака по отпечаткам;

гибридная атака;

атака по маске;

перестановочная атака;

атака, основанная на правиле;

табличная атака;

атака с переключением раскладки.

В рамках решения задачи взлома WPA/WPA2 нам, вероятнее всего, потребуется атака по словарю. Конечно, если что-то известно от том, из чего состоит пароль, можно использовать другие способы, однако в случае полной неизвестности нужен полный перебор.

У нас имеется cap-файл, однако Hashcat имеет собственный формат для расшифровки, поэтому прежде всего нам необходимо выполнить следующую команду для предварительной очистки cap-файлов:

wpaclean <out.cap> <in.cap>

Обратите внимание, что сначала идет выходной файл, а потом входной <out. cap> <in.cap>.

Например:

wpaclean /root/Desktop/ wlan1mon_out.cap /root/Desktop/ wlan1mon.cap

Теперь необходимо непосредственно конвертировать в формат .hccap с помощью «aircrack-ng». Для этого нам нужно использовать опцию -J.

aircrack-ng <out.cap> -J <out.hccap>

Пример:

aircrack-ng /root/Desktop/ wlan1mon_out.cap -J /root/Desktop/ wlan1mon_out.hccap

Когда исходные файлы подготовлены, можно приступать непосредственно ко взлому. Для взлома файла рукопожатия WPA/WPA2 с Hashcat необходимо использовать следующую команду:

hashcat -m 2500 -a 3 файл.hccap

где -m = 2500 означает атаку на файл рукопожатия WPA2 WPA; -a = 3 означает использование брутфорса (она также совместима с атакой по маске); файл.hccap = наш конвертированный файл .cap после обработки программами wpaclean и aircrack-ng.

Для нашего примера эта команда будет иметь следующий вид:

hashcat -m 2500 -a 3 /root/Desktop/ wlan1mon_out.hccap

Как я уже упоминал чуть выше, у hashcat имеются редакции для работы с графическими ускорителями cudaHashcat или oclHashcat. При использовании данных утилит синтаксис команд будет несколько отличаться от приведенного в примерах, поэтому перед их использованием необходимо внимательно ознакомиться с документацией. Также не стоит забывать, что предварительно должен быть корректно установлен драйвер видеокарты.

По собственному опыту могу сказать, что использование графического ускорителя позволило увеличить скорость расшифровки в 7–8 раз по сравнению с использованием центрального процессора.

В отсутствие графического ускорителя еще одним средством взлома WPA является использование утилит Pyrit и Cowpatty. В рамках этого поста я не буду рассматривать работу с данными утилитами. Подробное описание работы с ними приводится в другом посте.

Развитие облачных технологий не обошло стороной и информационную безопасность. В частности, в интернете появился сервис, позволяющий взламывать различные зашифрованные данные. В том числе с его помощью можно попробовать вскрыть WPA/WPA2 cap-файл. Стоимость данной услуги составляет $17. Я не использовал данный сервис, поэтому ничего о его эффективности сказать не могу.

На этом, я думаю, с аудитом WPA можно закончить. Если даже непрерывная работа машины с графическим ускорителем в течение нескольких недель не привела к положительным результатам, то можно сделать вывод о надежности вашей беспроводной сети.

Взлом WEP.

Теперь рассмотрим случай, когда используется алгоритм WEP. Данный алгоритм шифрования появился гораздо раньше, чем WPA, и в настоящее время является небезопасным. Сам факт использования данного алгоритма является серьезной уязвимостью в корпоративной беспроводной сети, поэтому, в случае если в вашей сети он используется, настоятельно рекомендуется заменить на WPA2.

Но вернемся к практическим вопросам взлома WEP. Нам необходимо открыть новое окно терминала, в котором запустить выполнение следующей команды:

airodump-ng -c (channel) -w (file name) --bssid (bssid) (interface)

Здесь channel - это канал из столбца CH, file name - имя файла, в который все будет записываться, ну а bssid - это идентификатор сети.

Тогда нам необходимо использовать следующую команду:

airodump-ng –w wep –c [номер канала] –bssid [BSSID] wlan1mon

Здесь синтаксис аналогичен уже описанному ранее, поэтому я не буду рассматривать его подробно. Пример использования данной команды: airodumpng

-w wep -c 1 -- bssid 00:17:3F:76:36:6E wlan0.

Затем откройте новое окно терминала и введите

aireplay-ng -1 0 -a (bssid) -h 00:11:22:33:44:55 -e (essid) (interface)

После этого нам необходимо дождаться появления сообщения «Association successful».

Так как взлом шифрования WEP основан на получении статистики от большого числа пакетов, нам необходимо собрать необходимое для взлома количество пакетов. Для этого вводим команду

aireplay-ng -3 -b (bssid) -h 00:11:22:33:44:55 (interface)

Этот процесс может занять продолжительное время, все зависит от интенсивности работы беспроводной сети. Нам нужно дождаться, пока число в столбце #Data не перейдет отметку в 10 000.

При достижении требуемого количества собранных данных необходимо открыть еще одно окно терминала и ввести

aircrack-ng -b (bssid) (file name-01.cap)

В качестве имени вводится выбранное вами ранее имя для файла.

aircrack-ng -b (bssid) (wlan0mon.cap)

В случае успеха вы увидите строку «KEY FOUND», в которой и содержится ключ к сети.

Здесь, пожалуй, наиболее сложным моментом является необходимость ожидать, когда удастся собрать нужное число пакетов. Кроме того, сетей WEP становится все меньше, поэтому лучше перейти на более защищенные WPA/WAP2.

Петухов Олег, юрист в области международного права и защиты персональных данных, специалист в области информационной безопасности, защиты информации и персональных данных.

Телеграм-канал: https://t.me/zashchitainformacii

Группа в Телеграм: https://t.me/zashchitainformacii1

Сайт: https://legascom.ru

Электронная почта: online@legascom.ru

#защитаинформации #информационнаябезопасность

 

We are conducting a Wi-Fi pentest.

 

Now let's try to put into practice the above information about the safety of wireless Wi-Fi networks. We will conduct a practical audit of the wireless network security. To do this, we will need a laptop with Kali Linux OS installed and loaded and a wireless adapter enabled.

First of all, we need to scan the airwaves for Wi-Fi networks. You can do this using the following command:

airmon-ng

A list of available Wi-Fi interfaces will be displayed. You need to select a wireless network card and launch it.

airmon-ng start wlan1

Next, you need to switch it to monitoring mode using the following commands:

ifconfig wlan1mon down

iwconfig wlan1mon mode monitor

ifconfig wlan1mon up

airodump-ng wlan1mon

As a result, the card has switched to monitoring mode, and now we can view the available wireless networks.

From the above command output, we are most interested in the contents of the BSSID, ESSID and CH fields (channel number). The ENC (encryption) field also specifies the algorithm that is used for encryption. Next, you need to press Ctrl+C to stop the utility.

If the network is open (OPN), you can try to connect to it immediately. If you use WEP, WPA, or WPA2 encryption, you will need to use additional utilities to crack the key.

Hacking the WPA.

First, let's look at a situation where WPA/WPA2 encryption is used, as it is by far the most common Wi-Fi protection.

To carry out the attack, we need to copy the required BSSID and execute the following command:

airodump-ng -c [channel number] -bssid [bssid] -w /root/Desktop/ wlan1mon

For example, airodump-ng -c 11 --bssid 01:01:01:01:01:01 - w/root/Desktop/wlan-1mon.

Now the airodump utility has started monitoring the selected channel. We need to collect information about the connection setup. To do this, you can, of course, wait for another user to connect to the network, or you can simply reset the session of an already connected user (deauth) so that he has to reconnect and as a result we would be able to collect the necessary information. To do this, open another terminal and run the following command.

aireplay-ng -0 2 -a [router bssid] -c [client bssid] wlan1mon

Here, the parameter -0 means switching to deauth mode and 2 is the number of packets transmitted for "deauthentication". The -a parameter specifies the BSSID, and -c is the client's MAC address.

For example:

aireplay-ng -0 2 -a 01:01:01:01:01:01 - c 02:02:02:02:02:02 wlan1mon

If everything was executed correctly, then as a result of executing the command, we should get something like the following:

aireplay-ng -0 2 -a 01:01:01:01:01:01 - c 02:02:02:02:02:02 wlan1mon

Sending 64 directed Deauth. STMAC [02:02:02:02:02:02] [1|2 ACKs]

Sending 64 directed Deauth. STMAC [02:02:02:02:02:02] [3|5 ACKs]

Now the window of the second terminal can be closed. As a result of our manipulations with user sessions, some traffic was intercepted, which was stored in /root/Desktop/*.cap files.

You need to open the terminal window again and run the following command.

aircrack-ng -a2 -b [router bssid] -w [path to wordlist] /root/Desktop/*.cap

Here a2 is a crackable encryption algorithm (WPA), -b is DSSID, -w is a dictionary. There are many ready-made dictionaries on the Internet, in addition, if necessary, you can write a dictionary generator yourself.

So, if you managed to find out the password from the wireless network as a result of this attack, there is a reason to seriously think about the degree of its security. However, even if you use WPA encryption with a fairly complex and long key, it's still too early to relax, as there are other attacks. Here is an example of one of them.

The back door of the WPS.

Let's return to the output of the airodump-ng wlan1mon command. You can see in the picture that WPS mode is enabled on some access points. If the pin is entered correctly, the access point itself will provide us with the necessary authentication data (including WPA PSK). The Reaver utility is included in Kali Linux for PIN selection. Actually, a PIN is an eight-digit number that can be entered at any time - no action is required on the access point side. For eight-digit numbers, there are 10^8 (100,000,000) possible variants. But the last digit is not random, it is calculated using an algorithm, i.e. that is, in simple terms, we always know the last digit, and the number of possible options is reduced to 10^7 (10 000 000). In this case, the PIN you are looking for is divided into two halves, and each of these halves is checked individually. This means that there are 10^4 (10,000) possible options for the first half, and only 10^3 (1,000) for the second half, since the last digit is not random. As you can see, here, unlike selecting an encryption key from a dictionary, the chances of success are much higher.

The Reaver utility works as follows: first, the first half of the PIN code is selected, and then the second. The speed at which Reaver tests pin numbers depends entirely on the speed at which the TD can process requests. Some are fast enough - you can test one pin per second, others are slower, they allow you to enter only one pin per 10 seconds. But from my own experience, I can say that some access point models used by providers to access the Internet via GPON, when going through the PIN, start flashing a red signal that does not light up during normal operation. This may be an additional signal of suspicious activity on the network.

To start the search, run the following command in a new terminal window:

reaver -i wlan1mon -b [BSSID]

By default, Reaver has a delay of 1 second between attempts to enter a pin. To disable this delay, you need to add "-d 0" to the command line, but some TDS do not like this:

reaver -i wlan1mon -b [BSSID] –d 0

Another option that can speed up the attack is -dh-small. Using this option, Reaver can somewhat speed up iteration using Diffie–Hellmann groups.:

reaver -i wlan1mon -b 01:01:01:01:01:01 --dh-small

On average, a search can take up to three hours, so it is quite possible to carry out such an attack overnight.

When there is no WPS.

What should I do if WPA is used, but the password is not from the dictionary and WPS is not enabled? That is, we have compiled the packages using airodump and we have a cap file.

The Hashcat utility included in Kali[3] will help us here, which allows us to significantly speed up the password recovery process using a GPU. The program is free, although it contains a proprietary code base. Versions for Linux, OSX, and Windows are available, and there are options for using a central processing unit and GPU. Hashcat currently supports a huge number of

hashing algorithms, including Microsoft LM Hashes, MD4, MD5, the SHA family, Unix Crypt, MySQL, Cisco PIX, and many others (there are hundreds of them). I believe that in the following chapters I will return to it when auditing user passwords.

But back to WPA. Hashcat has several attack modes:

brute force (brute force) attack;

combinatorial attack;

dictionary attack;

fingerprint attack;

hybrid attack;

attack by mask;

permutation attack;

rule-based attack;

the tabular attack;

a layout-switching attack.

As part of solving the WPA/WPA2 hacking problem, we will most likely need a dictionary attack. Of course, if something is known about what the password consists of, you can use other methods, but in case of complete uncertainty, a complete search is needed.

We have a cap file, but Hashcat has its own decryption format, so first of all we need to run the following command to pre-clean the cap files:

wpaclean <out.cap> <in.cap>

Note that the output file comes first, and then the input <out. cap> <in.cap>.

For example:

wpaclean /root/Desktop/ wlan1mon_out.cap /root/Desktop/ wlan1mon.cap

Now you need to convert directly to the format.hccap using "aircrack-ng". To do this, we need to use the -J option.

aircrack-ng <out.cap> -J <out.hccap>

Example:

aircrack-ng /root/Desktop/ wlan1mon_out.cap -J /root/Desktop/ wlan1mon_out.hccap

When the source files are prepared, you can proceed directly to hacking. To crack the WPA/WPA2 handshake file with Hashcat, use the following command:

hashcat -m 2500 -a 3 file.hccap

where -m = 2500 means an attack on the WPA2 WPA handshake file; -a = 3 means the use of brute force (it is also compatible with a mask attack); file.hccap = our converted file .cap after processing by wpaclean and aircrack-ng programs.

For our example, this command will look like this:

hashcat -m 2500 -a 3 /root/Desktop/ wlan1mon_out.hccap

As I mentioned above, hashcat has editions for working with graphics accelerators cudaHashcat or oclHashcat. When using these utilities, the syntax of the commands will differ slightly from the ones shown in the examples, so you should carefully read the documentation before using them. Also, do not forget that the graphics card driver must be installed correctly beforehand.

From my own experience, I can say that using a graphics accelerator has increased the decryption speed by 7-8 times compared to using a central processor.

In the absence of a graphics accelerator, another way to crack WPA is to use the Pyrit and Cowpatty utilities. In this post, I will not consider working with these utilities. A detailed description of working with them is given in another post.

The development of cloud technologies has not spared information security either. In particular, a service has appeared on the Internet that allows you to crack various encrypted data. You can also use it to open the WPA/WPA2 cap file. The cost of this service is $17. I haven't used this service, so I can't say anything about its effectiveness.

That, I think, is the end of the WPA audit. Even if continuous operation of the graphics accelerator machine for several weeks has not led to positive results, then we can conclude that your wireless network is reliable.

Hacking of WEP.

Now consider the case where the WEP algorithm is used. This encryption algorithm appeared much earlier than WPA, and is currently insecure. The very fact of using this algorithm is a serious vulnerability in a corporate wireless network, therefore, if it is used on your network, it is strongly recommended to replace it with WPA2.

But back to the practical issues of hacking WEP. We need to open a new terminal window in which to run the following command:

airodump-ng -c (channel) -w (file name) --bssid (bssid) (interface)

Here, channel is the channel from the CH column, file name is the name of the file to which everything will be written, and bssid is the network identifier.

Then we need to use the following command:

airodump-ng –w wep –c [channel number] –bssid [BSSID] wlan1mon

The syntax here is similar to the one described earlier, so I will not consider it in detail. Example of using this command: airodumpng

-w wep -c 1 -- bssid 00:17:3F:76:36:6E wlan0.

Then open a new terminal window and enter

aireplay-ng -1 0 -a (bssid) -h 00:11:22:33:44:55 - e (essid) (interface)

After that, we need to wait for the "Association successful" message to appear.

Since breaking WEP encryption is based on obtaining statistics from a large number of packets, we need to collect the necessary number of packets for hacking. To do this, enter

the aireplay-ng - 3 -b (bssid) -h command. 00:11:22:33:44:55 ( interface)

This process can take a long time, it all depends on the intensity of the wireless network. We need to wait until the number in the #Data column exceeds the 10,000 mark.

When the required amount of collected data is reached, open another terminal window and enter

aircrack-ng -b (bssid) (file name-01.cap)

The file name you selected earlier is entered as the name.

aircrack-ng -b (bssid) (wlan0mon.cap)

If successful, you will see the string "KEY FOUND", which contains the key to the network.

Perhaps the most difficult point here is the need to wait for the right number of packages to be collected. In addition, there are fewer and fewer WEP networks, so it's better to switch to more secure WPA/WAP2.

Oleg Petukhov, lawyer in the field of international law and personal data protection, information security specialist security, protection of information and personal data.

Telegram channel: https://t.me/protectioninformation

Telegram Group: https://t.me/informationprotection1

Website: https://legascom.ru

Email: online@legascom.ru

#informationprotection #informationsecurity