Расшифровка WPA2-PSK трафика с использованием wireshark.

В этой статье мы расмотрим расшифровка WPA2-PSK трафика с использованием wireshark. Это будет полезно при изучении различный протоколов шифрования которые используются в беспроводных сетях. Ниже представлена топология иследуемой сети.

WPA2-Decryp-00

До того как мы начнем захват пакетов мы должны знать канал на котором работает наша точка доступа. Так как моя точка доступа WLC 4400, я могу получить эту информацию из панели управления. В противном случае вы можете использовать приложение  InSSIDer и увидеть какой канал использует ваша точка доступа и ее SSID. Я использую 5GHz & поэтому привожу 802.11a итоговую информацию ниже (Если вы хотите аналзировать 2.4GHz, тогда вы должны использовать команды для протокола 802.11b)

(4402-3) >show ap config 802.11a summary
AP Name                SubBand RadioMAC            Status     Channel   PwLvl   SlotId 
--------------------   ------- ------------------  --------   -------   ------  ------ 
LAP1                      -    64:a0:e7:af:47:40   ENABLED    36        1       1

Дальше нам остается просто захватить пакеты в нашей беспроводной сети на канале  CH 36 так как моя точка доступа работает именно на нем. Я использую BackTrack с USB адаптером чтобы произвести зхват пакетов, ниже на видео вы увидите подробности.

Это достаточно просто, Вам всего лишь нужно изменить несколько строчек кода в конфигурации  USB адаптера и включить monitor interface для wireshark.

root@bt:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:21:9b:62:d0:4a  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:21 Memory:fe9e0000-fea00000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:66 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4665 (4.6 KB)  TX bytes:4665 (4.6 KB)

root@bt:~# ifconfig wlan2 up
root@bt:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:21:9b:62:d0:4a  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:21 Memory:fe9e0000-fea00000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:66 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4665 (4.6 KB)  TX bytes:4665 (4.6 KB)

wlan2     Link encap:Ethernet  HWaddr 00:20:a6:ca:6b:b4  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@bt:~# iwconfig wlan2 channel 36
root@bt:~# iwconfig
wlan2     IEEE 802.11abgn  ESSID:off/any  
          Mode:Managed  Frequency:5.18 GHz  Access Point: Not-Associated   
          Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          
lo        no wireless extensions.

eth0      no wireless extensions.

root@bt:~# airmon-ng start wlan2
Found 1 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!

PID    Name
1158    dhclient3
Interface    Chipset        Driver

wlan2        Atheros AR9170    carl9170 - [phy2]
                (monitor mode enabled on mon0)

После того как вы проделали вышеописаные операции вы можете открыть wireshark приложение и выбрать интерфейс “mon0” для захвата пакетов.

[ad name=»Responbl»]

Здесь можете найти архив пакетов которые собрал мой адаптер (WPA2-PSK-Final) Вы можете открыть файл с помощью wireshark и проверить его сами. Если вы проанализируете этот файл вы можете увидеть “4-way handshake (EAPOL-Messages 1 to 4)” сообщения были отправлены после того как Open Authentication фаза была завершена (Auth Request, Auth Response, Association Request, Association Response). После того как 4 way handshake завершена, оба клиент и точка доступа начинают использовать зашифрованую передачу пакетов. С этого момента вся информация которая передается в вашей беспроводной сети зашифрована с использованием алгоритмов CCMP/AES.

WPA2-Decryp-01

Как вы можете видеть на рисунке ниже — все дата-фреймы зашифрованы и вы не можете видеть трафик открытом виде. Я взял для примера фрейм номер 103.

WPA2-Decryp-03

До того как мы перейдем к расшифровке этих фреймов, очень важно понять что вы имеете правильно захваченый  “4-way handshake messages” в вашем снифере который мы будем расшифровывать используя wireshark. Если вы не смогли захватить  M1-M4 сообщение успешно, wireshark не сможет получить все ключи для расшифровки наших данных. Ниже я привожу пример где фреймы не были захвачены корректно в процессе  «4-way handshake»  (Это произошло когда я использовал тот же  USB adapter с  Fluke WiFi Analyzer)

WPA2-Decryp-02

Далее идем в  “Edit -> Preferences -> Protocol -> IEEE 802.11” сдесь необходимо выбрать “Enable Decryption”. Затем нажимаем на “Decryption Keys” раздел и добавляем ваш  PSK кликом на  “New“.  Вы должны выбрать тип ключа  “wpa-pwd” после чего добавляем ваш  PSK в виде текста.

Если вы ввели 256bit encrypted key тогда вы должны выбрать Key-type “wpa-psk“. Если вы хотите получить  256bit key (PSK) с вашей passphrase, вы можете использовать эту страницу. Сдесь используется следующая формула для выполнения преобразования:

PSK=PBKDF2(PassPhrase, SSID,SSIDLength,4096,256)

Это 256bit PSK который был введен выше:

WPA2-Decryp-08

Я использовал простой текстовый пароль который вы видите ниже. Вы можете также использовать простой пароль (без имени вашей SSID). В случае с  wireshark всегда пытается использовать последний SSID, это всегда хорошая практика — использовать <password:SSID>.

В моей конфигурации я использовал PSK “Cisco123Cisco123” в моей спецификации SSID как “TEST1“. В этом документе   вы найдете больше деталей относительно этих установок.

WPA2-Decryp-04

После этого нажимаем “Apply”

WPA2-Decryp-05

Как вы видите внизу, сейчас вы можете видеть трафик внутри дата-фреймов. Здесь изображен тот же фрейм (103) который вы видели раньше в зашифрованом формате, но сейчас wireshark способен его расшифровать.

WPA2-Decryp-06

Сейчас если мы посмотрим дальше мы можем видеть клиент который получает IP адерс по DHCP (DORA–Discover, Offer, Request, ACK) затем регистрируем CME (SKINNYprotocol) затем устанавливает голосовой вызов (RTP). Сейчас мы можем проанализировать эти пакеты детально

WPA2-Decryp-07

Этот трюк может быть полезным для вас, когда вы анализируете безопасность ваших PSK сетей.

[ad name=»Responbl»]

Click to rate this post!
[Total: 18 Average: 3.1]

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

4 comments On Расшифровка WPA2-PSK трафика с использованием wireshark.

Leave a reply:

Your email address will not be published.