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

YM0ne

Начинающий
Регистрация
Сообщения
8
Реакции
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.
В качестве простого и удобного интерфейса я выбрал WiFiCrackPy . Возможно, на более новых Маках, это уже не сработает. Процесс установки простой и описан на ГитХабе.
Запуск тоже происходит совсем не сложно
9fa3fa4ffa5fd6aa3dcf1e502bbb6e14.png

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

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

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


13ed510e9db9fe1758eaec64f086e274.png

Всего 2415 H/s
Далее попробуем перебор на облачном сервере.

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

Уже гораздо лучше, 240 кH/s
Теперь попробуем разные GPU, для проверки скорости, возьмем не очень известного, но очень лояльного клауд провайдера.

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

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

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

1074 kH/s на старте
fd42bd44ba1b05e73736d9981252fd30.png

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

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

Начали с 2522 kH/s
5f8188aa895a168a269a39916fd481fd.png
 

YM0ne

Начинающий
Регистрация
Сообщения
8
Реакции
0
После прогрева скорость - 2477.5 kH/s
Начали с 2522 kH/s и после прогрева 2477.5 kH/s

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

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

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

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

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

762,8 kH/s
Тест Tesla A100 - цена 1,7824$/h (178,24 ₽ в час)
f94fca8bc76d25b83c833870b05829b8.png

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

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

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-7360U2 .4151113,3786848
96 ядер IceLake2401,272,777777778
2080TI8410,28430,09390276126
30901068,50,64560,167836531
40902477,50,40,04484807714
Tesla A2130,70,23280,4947717419
Tesla A10762,80,32710,1191152479
Tesla A1001115,41,78240,4438865977
Tesla V10802,90,94240,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 $
А насколько дорогой у тебя ВайФай?

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

frizard

Начинающий
Регистрация
Сообщения
8
Реакции
0
Мне почему-то казалось, что цена такая сложится, если только правильный пароль окажется последним при переборе. А если он подберется при "половине" работы, то и цена снизится вдвое. Т.е. эти цифры как бы максимальная цена.
 

Karambol

Начинающий
Регистрация
Сообщения
11
Реакции
0
Это если взлом поставить на поток и обеспечить постоянный приток клиентов. А если нет, то и ориентироваться надо на минимальную сумму оплаты услуг.



Мне почему-то казалось, что цена такая сложится, если только правильный пароль окажется последним при переборе. А если он подберется при "половине" работы, то и цена снизится вдвое. Т.е. эти цифры как бы максимальная цена.
 

rikkzxc

Начинающий
Регистрация
Сообщения
5
Реакции
0
аверное стоит рассчитывать не на худший сценарий и не на удачу в переборе, а брать среднее, ну типа как период полураспада.
 

gufirufi

Начинающий
Регистрация
Сообщения
9
Реакции
0
Мне кажется у большинства людей пароль вайфая написан на наклейке на роутере и рандомно сгенерирован провайдером.
 

legafiher

Начинающий
Регистрация
Сообщения
12
Реакции
0
ну это смотря какие люди.... есть люди, которые прекрасно помнят 3-5-10 12-16 символьных комбинаций, есть люди которые понмят комбинации и по 64 символа - именно комбинации, а не "осмысленные" сочетания.

Иногда эти комбинации могут быть визуальными - например "ход конём" по клавиатуре делать с определёнными правилами направления или еще что.... но часть из таких комбинаций вполне подходит под "пароль из списка".... в общем всё достаточно сложно

даже если вспоминать произведения Лукьяненко - там например не использование пробелов было, вместо строчных прописные и наоборот вроде (сейчас уже не помню точно, давно читал), а уж если добавить ошибки в слова - например вместо каждой 2й "А" ставить латинскую, вместо каждой 3й "О" ставить "0" и тд и тп

тут сильно зависит от того, как сильно пароль должен быть "в оперативном доступе", какой длинны, какое время на его воспроизведение готов потратить пользователь, сколько усилий для запоминания и какие риски при утере (если нет копии)

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

например набираем на клавиатуре слово, но на 1 букву выше чем буквы слова, а если там символов нет, то на 2 ниже... - такое подобрать "по словарю" уже крайне сложно будет...



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

А еще бесят сервисы типа почты.... сложный пароль они позволяют аннулировать указав кличку собаки, девичью фамилию или подобные вещи... которые очень просто найти/узнать или подобрать....
 

Cerelen

Начинающий
Регистрация
Сообщения
5
Реакции
0
то-то я не понимаю табличку.

Третья и четвертая строка в поле "Тип" мне видятся идентичными - при разной сложности и стоимости.
 
Сверху