ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

02.11.2020, 01:30
|
|
Познавший АНТИЧАТ
Регистрация: 24.03.2012
Сообщений: 1,121
Провел на форуме: 418750
Репутация:
24
|
|
В копилку уязвимого добавляется netis WF2409E_RU с прошивкой 3.6.40537. Баг стабилен, точки сдаются все. Старые нетисы, которые с EV-2009-02-06 не сдаются, но ЕМНИП у них WPS сломан полностью.
Попробовал какую-то двухдиапазонную тенду бахнуть, pixiewps сразу завершился, рапортуя что pin not found. Хотя она то же EV-2010-09-20, как и дырявые нетисы. Не все так однозначно, получается.
|
|
|

02.11.2020, 01:53
|
|
Постоянный
Регистрация: 30.08.2011
Сообщений: 358
Провел на форуме: 66828
Репутация:
11
|
|
Сообщение от Monohrom
Осталось только понять почему девайсы через n попыток перестают вычислять значения и в итоге мы берём точку с помощью pixiewps
Есть пример (pixiewps с аргументами), когда уязвимая точка не ломалась?
|
|
|

02.11.2020, 02:09
|
|
Active Member
Регистрация: 26.01.2020
Сообщений: 83
Провел на форуме: 29878
Репутация:
2
|
|
Сообщение от VasiliyP
Есть пример (pixiewps с аргументами), когда уязвимая точка не ломалась?
Есть. В основном устройства на которых работает такая фича это Тенды на базе eCos. И это очень забавно с учётом того что китайцы знают про атаку pixie dust.
https://github.com/drygdryg/Tenda-AC/blob/master/rtk_trunk/ecos-work/AP/wsc/src/wsc.h#L1920
|
|
|

02.11.2020, 19:48
|
|
Active Member
Регистрация: 26.01.2020
Сообщений: 83
Провел на форуме: 29878
Репутация:
2
|
|
Сообщение от TOX1C
Не все так однозначно, получается.
Да, нужно бездумно тыкать, увы. Роутер может послать 9 раз, а на 10 разу сдаться, а может и после 20 раза послать так и не открывшись. Рандом. Если уж совсем роутер не жалко то можно и потыкать
|
|
|

06.11.2020, 03:00
|
|
Постоянный
Регистрация: 25.07.2018
Сообщений: 498
Провел на форуме: 120581
Репутация:
10
|
|
Попытался понять, как генерируются E-Nonce, E-S1 и E-S2 в роутерах Tenda с прошивками на базе eCos. Видно, что для генерации используется функция generate_random:
https://github.com/drygdryg/Tenda-AC/blob/master/rtk_trunk/ecos-work/AP/wsc/src/txpkt.c#L2793
https://github.com/drygdryg/Tenda-AC/blob/master/rtk_trunk/ecos-work/AP/wsc/src/txpkt.c#L2618
https://github.com/drygdryg/Tenda-AC/blob/master/rtk_trunk/ecos-work/AP/wsc/src/txpkt.c#L2650
Она реализована здесь:
https://github.com/drygdryg/Tenda-AC/blob/master/rtk_trunk/ecos-work/AP/wsc/src/utils.c#L3605
Видно, что в случае, если код собирается для eCos, сначала в буфер data записываются псевдослучайные байты, полученные генератором из стандартной библиотеки (generate_random2), но затем к ним подмешивается энтропия из какого-то встроенного пула (https://github.com/drygdryg/Tenda-AC/blob/master/rtk_trunk/ecos-work/AP/wsc/src/utils.c#L3631) и из генератора OpenSSL (https://github.com/drygdryg/Tenda-AC/blob/master/rtk_trunk/ecos-work/AP/wsc/src/utils.c#L3655).
Я попытался собрать этот генератор, но пока что ничего не выходит: не могу слинковать с OpenSSL. @VasiliyP, посмотрите по свободе, пожалуйста.
|
|
|

06.11.2020, 11:46
|
|
Постоянный
Регистрация: 30.08.2011
Сообщений: 358
Провел на форуме: 66828
Репутация:
11
|
|
Сообщение от 4Fun
@VasiliyP, посмотрите по свободе, пожалуйста.
Мне Monohrom показывал логи от такой тенды. E-Nonce - это то, что на выходе генератора псевдослучайных чисел. Поскольку E-Nonce не содержат никаких приватных данных, я их опубликую здесь.
Код:
[P] E-Nonce: 284891A9294E1F230680AA030EB6D58A 0x284891A9 0x294E1F23 0x0680AA03 0x0EB6D58A
[P] E-Nonce: 02F582ED1BA7EDD81EA66A7B11412AE7 0x02F582ED 0x1BA7EDD8 0x1EA66A7B 0x11412AE7
[P] E-Nonce: 4F7FD0AE1DD61ABD5D3C4C321B10A7A4 0x4F7FD0AE 0x1DD61ABD 0x5D3C4C32 0x1B10A7A4
[P] E-Nonce: 2D9D6A736C4AD1C62BB603BA7BF1B2CA 0x2D9D6A73 0x6C4AD1C6 0x2BB603BA 0x7BF1B2CA
[P] E-Nonce: 0BBB03B73ABF884F7A2FBB425CD2BDEF 0x0BBB03B7 0x3ABF884F 0x7A2FBB42 0x5CD2BDEF
[P] E-Nonce: 140FF4243D6879DC23D6A60828478046 0x140FF424 0x3D6879DC 0x23D6A608 0x28478046
[P] E-Nonce: 5CE999E5639BBEED2BD890B053E0473A 0x5CE999E5 0x639BBEED 0x2BD890B0 0x53E0473A
[P] E-Nonce: 25C33F2709AF03FF33DA7B587F790E2F 0x25C33F27 0x09AF03FF 0x33DA7B58 0x7F790E2F
[P] E-Nonce: 6B0C3C6753A7603D05686EF04CDB1F5B 0x6B0C3C67 0x53A7603D 0x05686EF0 0x4CDB1F5B
[P] E-Nonce: 33E5E1A979DAA4CF0D8A59187853E650 0x33E5E1A9 0x79DAA4CF 0x0D8A5918 0x7853E650
Я эти числа разбил на слова по 4 байта. Посмотрите, старший бит каждого слова всегда == 0. Генератор в ваших исходниках таким свойством не обладает. Стало быть, это не он.
к ним подмешивается энтропия из какого-то встроенного пула
Это копия генератора из ядра linux(/dev/urandom), он там меняется от версии к версии, но примерно вот этот:
https://elixir.bootlin.com/linux/v2.6.39.4/source/drivers/char/random.c#L467
|
|
|

06.11.2020, 19:57
|
|
Постоянный
Регистрация: 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.
|
|
|

06.11.2020, 20:18
|
|
Active Member
Регистрация: 26.01.2020
Сообщений: 83
Провел на форуме: 29878
Репутация:
2
|
|
Теперь ясно как именно сломан wps на Нетисе. Увы.
|
|
|

06.11.2020, 21:06
|
|
Познавший АНТИЧАТ
Регистрация: 24.03.2012
Сообщений: 1,121
Провел на форуме: 418750
Репутация:
24
|
|
Сообщение от Monohrom
В основном устройства на которых работает такая фича это Тенды на базе eCos.
А какие конкретно модели на это поддаются? Пробовал на нескольких двухдиапазонных тендах, многократно уводя их в блокировку - результат нулевой. Иногда pixiewps завершался не сразу же, а пытался что-то подбирать, но тоже безрезультатно.
Сообщение от Monohrom
Да, нужно бездумно тыкать, увы.
От времени между попытками что-то зависит? Или нужно обязательно точку долбить как можно быстрее, или вообще с 10 окон терминала, запущенных в одну секунду?
|
|
|

06.11.2020, 21:18
|
|
Active Member
Регистрация: 26.01.2020
Сообщений: 83
Провел на форуме: 29878
Репутация:
2
|
|
Сообщение от TOX1C
От времени между попытками что-то зависит? Или нужно обязательно точку долбить как можно быстрее, или вообще с 10 окон терминала, запущенных в одну секунду?
Есть теория что это зависит от загруженности роутера. если он не загружен то происходит то что написал Василий: "если realtek генерирует эти три числа в течение одной секунды то они оказываются... равны.".
Если же роутер загружен то облом. Можно попробовать перезагрузить роутер и попробовать подключиться с pixiewps по идее должны быть прочерки но пока что но пока что это не проверял.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|