Показать сообщение отдельно

  #4737  
Старый 06.11.2020, 19:57
4Fun
Постоянный
Регистрация: 25.07.2018
Сообщений: 498
Провел на форуме:
120581

Репутация: 10
По умолчанию

Сегодня мною был обнаружен глючный тип роутеров Netis. Началось с того, что на одном из таких Pixiewps серьёзно задумалась (почти на 2 минуты), и это при том, что я не запускал её с флагом --force. Вскоре выяснилось, что причина в том, что Pixiewps, найдя seed E-Nonce, не может найти seed E-S1,2. Нашёл seed E-Nonce я вручную с помощью вот такого генератора (взят из исходников демона wsc от Realtek).

После пары часов копания в исходниках и чтения листингов Гидры я заметил, что числа E-Hash1 и E-Hash2, которые я получил в M3, равны.

Давайте порассуждаем. Сразу хочу напомнить, как генерируются E-Hash1,2:

Код:
E-Hash1 = HMAC-SHA-256(authkey) (E-S1 | PSK1 | PKE | PKR)
E-Hash2 = HMAC-SHA-256(authkey) (E-S2 | PSK2 | PKE | PKR)
где PSK1,2 — это

Код:
PSK1 = HMAC-SHA-256(authkey) (первые_4_цифры_пина)
PSK2 = HMAC-SHA-256(authkey) (последние_4_цифры_пина)
Хорошо, если хэши равны, то можно предположить, что E-S1 = E-S2 (допустим, они генерировались в одну и ту же секунду), но тогда и PSK1 должен быть равен PSK2, но при этом я знаю, что первая часть пин-кода не совпадает со второй, как тогда такое может быть?

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

Вывод прост: китайцы допустили баг в генерации хэшей. Обращайте внимание на E-Hash1,2, если они равны, то, может быть, нет смысла мучить железку?

К сведению: Netis WF2419, версия прошивки V2.2.41694.
 
Ответить с цитированием