Сколько стоит ваш Wi-Fi?

в 6:29, , рубрики: bruteforce, wi-fi, WPA, wpa2, взлом, сравнение, цена

А вы задумывались когда нибудь, сколько стоит разгадать пароль вашего Wi-Fi? Понятно, что все прекрасно помнят, что с увеличением длины парольной фразы - увеличивается сложность и при достаточной длине, перебор занимает ХХХХ - лет.

Давайте вместе разберемся - сколько это стоит в $$$ деньгах

План


Итак, как все мы прекрасно знаем, что самое уязвимое место двери - это замок, а самое не защищенное место в нашей беспродной сети (после физического доступа к роутеру) - это момент установления соединения.

Немного про установление соединение

Процесс установления защищенного соединения в сети Wi-Fi с использованием протокола WPA2 (Wi-Fi Protected Access 2) включает в себя несколько этапов:

  1. Поиск сети: Когда устройство пытается подключиться к беспроводной сети, оно сначала сканирует доступные сети и идентифицирует их по именам (SSID).

  2. Аутентификация: Клиент (подключающееся устройство) отправляет запрос на аутентификацию к точке доступа (AP) или маршрутизатору. Точка доступа может быть настроена на использование предварительно установленного пароля (PSK - Pre-Shared Key) или может быть настроена на работу с сервером аутентификации (обычно RADIUS-сервером).

  3. Обмен ключами 4-Way Handshake: После успешной аутентификации клиент и точка доступа начинают обмениваться ключами, используемыми для защиты передачи данных. Этот обмен называется "4-Way Handshake". Он включает в себя генерацию общего ключа (Pairwise Transient Key, PTK), который используется для шифрования данных.

  4. Установление защищенного канала: После завершения 4-Way Handshake клиент и точка доступа могут начать использовать общий ключ (PTK) для защиты данных, передаваемых по беспроводной сети. Вся передача данных между ними теперь зашифрована и аутентифицирована.

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

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

Вот примерный механизм получения дампа

Перехват рукопожатия в беспроводной сети WPA2 происходит на этапе обмена ключами 4-Way Handshake. Вот как это происходит:

Если атакующий слушает эфир, то может произвести Перехват рукопожатия. Те перехватить этот обмен сообщениями (M1, M2, M3, M4) между клиентом и точкой доступа. Если получить полный 4-Way Handshake, он сможет использовать этот дамп рукопожатие для дальнейшей атаки, такой как атака перебором пароля с использованием словаря (dictionary attack) или атака методом перебора (brute-force).

Тестовый стенд

В качестве тестового оборудования будет использоваться ноутбук - macbook pro 2017 (а1708).

Как на практике поймать рукопожатие.

В сети огромное количество описаний с использованием Kali Linux, внешних чувствительных сетевых карт. В данном случае - это было не важно, и нужно было просто получить само рукопожатие. Поэтому будем использовать встроенную карточку и MacOS.

В качестве простого и удобного интерфейса я выбрал WiFiCrackPy . Возможно, на более новых Маках, это уже не сработает. Процесс установки простой и описан на ГитХабе.

Запуск тоже происходит совсем не сложно

Сколько стоит ваш Wi-Fi? - 1

Выбираем нашу сеть и просто ждем.

Получили рукопожатие.

Получили рукопожатие.

После получения рукопожатия, в папке будет сохранен файл - capture.hc22000 , который уже готов к брутфорсу.

Давайте проверим, сколько выдаст "попугаев" хешей в секунду, наш мобильный CPU - i5-7360U.

Всего 2415 H/s

Всего 2415 H/s

Далее попробуем перебор на облачном сервере.

Возьмём самую жирную комплектацию, а именно - 96 ядер IceLake - цена 1,27$/h (127,95 ₽ в час)

Уже гораздо лучше, 240 кH/s

Уже гораздо лучше, 240 кH/s

Теперь попробуем разные GPU, для проверки скорости, возьмем не очень известного, но очень лояльного клауд провайдера.

Тест 2080TI - цена 0,2843$/h (28,43 ₽ в час)

Начали бодро с 859 kH/s

Начали бодро с 859 kH/s

Начали бодро с 859 kH/s и по мере прогрева карты снизились до 841

Сколько стоит ваш Wi-Fi? - 6

Тест RTX 3090 - цена 0,6456$/h (64,56 ₽ в час)

1074 kH/s на старте

1074 kH/s на старте
1068.6 kH/s - в конце

1068.6 kH/s - в конце

Начали с 1074 kH/s и после прогрева 1068.6 kH/s к окончанию.

Тест RTX 4090 - цена 0,7915$/h (79,15 ₽ в час)

Начали с 2522 kH/s

Начали с 2522 kH/s
После прогрева скорость - 2477.5 kH/s

После прогрева скорость - 2477.5 kH/s

Начали с 2522 kH/s и после прогрева 2477.5 kH/s

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

А что у нас со скоростью на профессиональных картах?

Тест Tesla A2 - цена 0,2328$/h (23,28 ₽ в час)

130.7 kH/s

130.7 kH/s

Никак не уменьшает хеш при прогреве

Тест Tesla A10 - цена 0,3271$/h (32,71 ₽ в час)

762,8 kH/s

762,8 kH/s

Тест Tesla A100 - цена 1,7824$/h (178,24 ₽ в час)

1115,4 kH/s

1115,4 kH/s

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

Тест Tesla V100 - цена 0,9424$/h (94,24 ₽ в час)

802,9 kH/s

802,9 kH/s

Так же, очень холодная карта, но и показывает всего. 802,9 kH/s

Все тесты проводились на последней версии hashcat, на системе ubuntu 20.04, используя последнею версию hashcap и последнею версию драйвера.

Немного про hashcat

Очень полезная программа, для восстановления паролей. https://github.com/hashcat/hashcat

Немного о синтаксисе. В нашем случае это hashcat [ тип ключа ] [тип работы - в нашем случае брутфорс] файл с хешами и маска перебора.

hashcat -m 22000 -a 3 capture.hc22000 ?d?d?d?d?d?d?d?d

Однако сам hashcat в не умеет рекурсивную комбинацию масок, поэтому накидал скрипт на Python 3. Для создания списка всех масок, которые нужно перебрать.

# Комбинатор варинтов для hashcat
# ?l - представляет собой одну букву нижнего регистра (a-z).
# ?u - представляет собой одну букву верхнего регистра (A-Z).
# ?d - представляет собой одну цифру (0-9).



import itertools

# Элементы перебора
mask_elements = ['?l', '?u', '?d']

# Длина пароля
position_count = 8

# Создаем файл my.hcmask для записи
with open('my.hcmask', 'w') as file:
    # Генерируем комбинации для всех возможных комбинаций элементов включая все позиции
    combinations = itertools.product(mask_elements, repeat=position_count)
    
    # Записываем комбинации в файл
    for combo in combinations:
        mask = ''.join(combo) + 'n'
        file.write(mask)

В процессе поиска дешевого облачного вычисления, нашел несколько совсем чумовых предложений. Например, RTX 4090 - за 0.35$ в час. Но там рынок, поэтому в расчетах взят среднее значение в 0.4$ в час.

Для сравнения сведём все данные в таблицу по цене хеша, условно примем, что дополнительных затрат на масштабирование у нас нет, а оценку сложности будем брать максимальной.

Таблица цен - в стоимости 1 Гига хеш.

Формула расчета

Расчет идет по формуле (Цена за 1 час) / (Производительность * 3600) и для лучшего представления переводим в Гига Хеши (GH) из kH

Оборудование

Производительность kH/s

Цена $/h

Цена за $ / GH

i5-7360U

2 .415

1

113,3786848

96 ядер IceLake

240

1,27

2,777777778

2080TI

841

0,2843

0,09390276126

3090

1068,5

0,6456

0,167836531

4090

2477,5

0,4

0,04484807714

Tesla A2

130,7

0,2328

0,4947717419

Tesla A10

762,8

0,3271

0,1191152479

Tesla A100

1115,4

1,7824

0,4438865977

Tesla V10

802,9

0,9424

0,326040326

Теперь давайте вспомним, сколько комбинаций в пароле в зависимости от использовании разных символов.

Формула расчета

У нас в таблице сверху есть цена в Гига Хешах, в долларах.
Значит нам нужно сложность в цифрах разделить на 10^9 и умножить минимальную цену в GH

Тип

Сложность в цифрах и Gh

Цена перебора

8 символов, только цифры

100,000,000 комбинаций
0,1 GH

≈ 0,01 $

8 символов, только маленькие буквы латинского алфавита

208,827,064,576 комбинаций
≈ 209 GH

≈ 9,373 $

8 символов, из маленьких букв латинского алфавита, больших букв латинского алфавита и цифр

218,340,105,584,896 комбинаций

≈ 218340 GH

≈ 9.792 $

8 символов, из маленьких букв латинского алфавита, больших букв латинского алфавита, цифр и спец символов

6,095,689,385,410,816 комбинаций

≈ 6095689 GH

≈ 273.380 $

А насколько дорогой у тебя ВайФай?

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

Не согласны с методикой оценки? Давайте обсудим в комментариях.

Автор:
GoDevSeoTaxi

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js