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

Специальный корреспондент
Собака

Собака

Пресс-служба
Команда форума
Private Club
Регистрация
13/10/15
Сообщения
54.789
Репутация
62.390
Реакции
276.954
RUB
0
А вы задумывались когда нибудь, сколько стоит разгадать пароль вашего 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.
В качестве простого и удобного интерфейса я выбрал . Возможно, на более новых Маках, это уже не сработает. Процесс установки простой и описан на ГитХабе.
Запуск тоже происходит совсем не сложно
9fa3fa4ffa5fd6aa3dcf1e502bbb6e14.png

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

Получили рукопожатие.
После получения рукопожатия, в папке будет сохранен файл - 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

0aeb48d05498f52d97d038f9490dd8a9.png

Тест 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
Очень полезная программа, для восстановления паролей.
Немного о синтаксисе. В нашем случае это 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 $​
А насколько дорогой у тебя ВайФай?

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










 
  • Теги
    wi-fi
  • Сверху Снизу