Categories: Telecommunications

3G WIFI роутеры глазами хакера.

Хочу сегодня вернуться к теме дешевых китайских роутеров. Затрагивать темы скорости передачи, дальности и пробивание стен я не буду, а снова затрону тему перепрошивки. В этот раз, более подробно, и, надеюсь, значительно проще. А именно хочу поделиться способом перешивания безымянных китайских роутеров в openwrt, zyxel, d-link, hame. В этот раз способ будет более универсальным — мы будем прошивать роутеры через родной веб-интерфейс, обходя встроенную защиту и прозводителя нашего роутера, и производитей прошивок хороших. Естественно, всё это делать мы будем в образовательных целях и после «обучения» обязуемся вернуться на родную прошивку и удалить прошивку другого производителя со своего компьютера 😉

В обзоре принимают участие 4 роутера(плюс 1 вне программы) из моей коллекции.
Тут я сделаю небольшое отступление, так как я еще не делал обзор на роутер с павербанком, так что сейчас самое время.
Микрообзор минироутера с нано-павербанком
Роутер продавец упаковал неплохо, коробка не помялась. Внутри посылка была замотана в мягкий материал:

Сама коробка, красивая, можно брать на подарки.

На задней стороне коробки описание основных функций.

Содержимое коробки.

Роутер отдельно.

Начинаем разбирать. Литиевый аккумулятор. Производителем заявлено 1800 махов, проверить возможности нет, но сомнения определенные есть, думаю, можно делить на 2 или даже на 3 смело.

Продолжаем разбирать.

Печатная плата роутера.

В общем, тот же роутер, как из моего последнего обзора, но только с аккумулятором. Веб-интерфейс тот же, возможности те же. Сбоку на корпусе есть трехпозиционный переключатель и дополнительная кнопка «T». Первое положение перекючателя: выкл. Второе положение переключателя — павербанк. Третье положение переключателя — роутер. Кнопка «Т» используется для проверки уровня заряда в выключенном состоянии. Касательно объема батареи, сказать ничего не могу, но по ощущениям его хватает часа на 3-4 раздачи 3g.
Важная вещь — у этого роутера напрочь отсутствует возможность подключения консоли (usb-uart), так что в случае проблем пригодится программатор.
Зачем нужны такие роутеры
На всякий случай, еще раз процитирую очень хороший комментарий от ded1971

Общепотребительские свойства — универсальный компактный 3G-WiFi-роутер. Удобно брать в поездки, подключать 3G/4G- модем, организовывать свою WiFi-сеть, либо использовать в качестве репитера для усиления WiFi, подключать интернет в смарт-телевизоре, если нет встроенного WiFi. Вообщем, куча полезных функций за смешные деньги

А теперь, собственно сами участники:


1) NEXX WT1520(2 ethernet-порта/4мб флеш-память/32мб оперативной памяти/1 шт usb) ali$15.29

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


2) Безымянный роутер, клон Hame-A15(1/4/32/usb) ali $9.30/ebay AU $9.81

Этот роутер я тоже обозревал. Самый распространенный вариант роутера на rt5350, иногда встречается в варианте с 16мб, предположительно, в новых партиях везде 32. Этот и следующий клоны очень хорошо подходят для встраивания куда-либо за счет удачной формы платы.


3) Еще один безымянный, клон клона(1/4/32/usb) ali $9.62/ebay $9.18

Отличается строением корпуса(сплошной корпус и крышка на винте) и расцветкой.


4) Безымянный роутер, с батарейкой, клон Hame-A1(1/4/32/usb) ali(ищем сами)$11.71/ebay C $14.07

Отличается от предыдущих двух роутеров наличием встроенного павербанка небольшего объема, дающего, по моим ощущениям, часа 3-4 работы c 3g-модемом. Так же конкретно в моем экземпляре не оказалось контактных площадок для подключения консоли, так что, в случае неудачи, понадобится программатор. Обозревался: раз, два(не смейтесь), три, четыре(возможно, но без скриншотов интерфейса не понятно). Не надо путать с Hame A1, хоть и очень похоже, но в Hame «зажали» оперативы, которой всего 16мб.


5)LB-Link BL01/02 (1/4/16/usb нет)ali $13.99/ebay C$13.05

Внешне выглядит прикольно, интересный веб-интерфейс, но, к сожалению, 16мб памяти и без usb-порта. Проходит вне конкурса за счет объема памяти и другого способа прошивки. Изначально им заниматься не хотел, но в комментариях к первому обзору, спрашивали меня, так что пришлось разобраться. На муське ранее обозревался. Существует мнение что данные роутеры отличаются друг от друга, документальных подтверждений нет, так что будем считать их одинаковыми, но в разных корпусах.


Внимательный читатель заметит что аппаратная база у роутеров очень похожа — все роутеры построены на платформе Ralink 5350 с их же SDK. Не удивлюсь, что в hame(и его клонах) используется референсный дизайн от Ralink. Ну это нас расстраивать не должно, а наоборот, должно радовать — задача получения хорошего роутера за сущие копейки существенно упрощается. Хитрые производители для защиты своих роутеров используют шифрование файла-образа прошивки. Не вдаваясь в подробности, защита состоит в следующем: Производитель выбирает свою последовательность байт в качестве ключа, объемом в 15 байт. После этого происходит шифрование прошивки этим ключем алгоритмом XOR. После этого добавляется 4 байта(идентификатор прошивки/производителя) в начало полученного файла. Таким образом, при попытке залить прошивку, роутер сначала проверяет эти 4 байта, и, если они верные, пытается раскодировать прошивку встроенным ключем. В случае успеха, роутер обновляется расшифрованной прошивкой. Обратите внимание, в этом обзоре речь идет о так называемых «150мбит» роутерах. Новые ралинки, имеющие поддержку скорости «300мбит» в данном обзоре не участвуют, но до них тоже когда-нибудь доберутся руки, хороших устройств на этом чипсете очень много.

Итак, что мы будем делать, спросите вы? Мы сначала расшифруем прошивку от чужого роутера, а потом зашифруем под наш роутер. Напоминаю, естественно, всё что мы делаем, мы делаемисключительно в образовательных целях.

Инструменты. Для пользователей windows я сделал готовые скомпилированные exe, для маководов и линуксоидов(должны уметь собирать сами) есть исходные тексты:
packer.exe исходный текст
unpacker.exe исходный текст
Прошивка openwrt barrier breaker для nexx 1520, но подходит и для клонов. Для тех, кто хочет прошить свои устройства на openwrt. 

Подробности про openwrt
Сетевые настройки роутера:
ip 10.10.10.123
netmask 255.255.255.0

ssh login: root
password: openwrt

wifi name: wt1520
wifi password: openwrtopenwrt

Другой вариант, который я предлагаю — прошивка от роутеров фирмы zyxel(коим вообще должно быть стыдно делать свои роутеры продающиеся за бешенные деньги на том же железе, что и китайский ноунейм).

Готовы? Поехали!


Прошиваем NEXX

Заготовим с помощью вышеупомянутых утилит прошивку. Прошивка называется KEENETIC_4G_II-V2.03[AAKW.0]C4, скачать её нужно самостоятельно с сайта производителя. Гуглится элементарно. Не выкладываю, потому что копирайт 🙂 Не забудьте распаковать zip.

Дальше кидаем прошивку в папку с packer и кодируем её:
zyxel:

openwrt:

Далее заходим в веб-интерфейс, выбираем System Tools, Upgrade Firmware и загружаем наш файл. Жмем на upgrade.

После этого появится такой экран:

И после окончания появится следующий экран, свидетельствующий о том, что прошивка завершена.

Ну и результат после перезагрузки:

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


Прошиваем китайские роутеры(3 шт)

Так как у них у всех одинаковый веб-интерфейс, значит и шить будем одним способом.
Собираем нужную прошивку(по аналогии с инструкцией для NEXX, только выбираем CLONE), где брать прошивку смотрите в разделе про nexx.
Выбираем zyxel

Или openwrt:

Заходим в веб-интерфейс роутера, выбираем наш файл прошивки, нажимаем upgrade и прошиваемся.

Результат:

Ничего сложного!


Прошиваем клоны с другим веб-интерфейсом

Первый вариант:

Роутеры с таким интерфейсом прошиваются абсолютно так же, как было описано чуть выше, только вместо CLONE нужно вводить MPR.
Все остальные действия — те же.

Второй вариант:

или

Такие роутеры шьются в два этапа — сначала перешиваются в hame. Потом прошиваются из хаме в openwrt или кинетик. Зато не надо возиться с packer.exe 🙂

Прошивка в hame.

Приступим. Заходим в веб-интерфейс, выбираем обновление прошивки, указываем hame_a1.bin. Жмём apply.

Страничка во время обновления будет выглядеть примерно так:

Мой роутер при этом моргал лампочкой. По завершению прошивки будет такая страничка. 

Далее роутер перезагрузится и встретит такой страничкой:

Всё, у вас теперь «Hame», можно приступать к следующему пункту. Обратите внимание, что езернет порт сейчас не работает. Починим последующей прошивкой.

Третий вариант:
Hame! Выглядит примерно так.

У Hame и клонов больше всего 16 мегабайтных моделей, будьте осторожны.
К сожалению, из веб-интерфейса hame прошиться нельзя, но можно вломиться через telnet. Для этого нужно на компьютере, с которого осуществляется прошивка запустить веб-сервер. У меня был запущен на порту 8000.

Приступим.
Для клона из предыдущего пункта логин admin, для изначального hame логин — hame
(192.168.169.1 это айпи роутера)


telnet 192.168.169.1
Trying 192.168.169.1...
Connected to 192.168.169.1.
Escape character is '^]'.

(none) login: admin
Password:

BusyBox v1.12.1 (2011-10-22 23:04:50 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

#

Так, мы в консоли, перейдем в директорию, доступную на запись и скачаем прошивку.
В данном примере мой компьютер имеет адрес 192.168.169.100 и веб-сервер запущен на порту 8000.


# cd /tmp

# wget http://192.168.169.100:8000/KEENETIC_4G_II-V2.03[AAKW.0]C4.bin
Connecting to 192.168.169.100:8000 (192.168.169.100:8000)
KEENETIC_4G_II-V2.03 100% |***********************************************************************************|  3520k 00:00:00 ETA
#

Скачали!

Теперь остался последний шаг — собственно прошиться:
Сначала сотрем флешку, потом зальём прошивку.


# mtd_write unlock mtd6

# mtd_write write -r KEENETIC_4G_II-V2.03[AAKW.0]C4.bin mtd6
Unlocking mtd6 ...
Writing from KEENETIC_4G_II-V2.03[AAKW.0]C4.bin to mtd6 ...  [w]

Роутер должен сам перезагрузиться и появиться вайфай-сеть от zyxel. У меня мак отчаянно отказывался подключаться к этой сети, но смартфон вполне себе подключился. После смены в настройках имени точки и установки пароля мак стал уверенно подключаться.
Обратите внимание, что езернет порт теперь всегда будет WAN.
Для прошивки в openwrt шаги те же, только заменить имя файла.


Прошиваем LB-Link

Что касается роутеров LB-Link, их, к сожалению, через веб-интерфейс не прошить. Однако, раз меня просили помочь, то я не сдамся и буду искать сложные пути, нельзя же бросать людей с глючным устройством! Прошиваться будем в прошивку от keenetic lite 2012-го года. Не свежая прошивка, да, но это единственное что у меня нормально заработало на 16 мегабайтах памяти.

Из инструментов понадобятся:

  • telnet-клиент для windows. руководство.
  • tftp-сервер для windows, руководство 1, руководство 2
  • Кастомная прошивка. Называется KEENETIC_LITE-V1.00AABL.1.3D0_fixed_for_4MB_flash-wget-for_DIR300NRUB5.bin, очень легко находится в гугле(не даю прямых ссылок на неё, потому как могут вопросы возникнуть у правообладателей)
  • Новый загрузчик(опционально)

Собственно, инструкция:
1) Переключить роутер переключателем на боку в режим RT. Подключиться обязательно сетевым шнурком, на вайфае не хватит памяти при перепрошивке, поэтому только шнурком!

2) Перешить загрузчик в меню обновления прошивки. Это необязательно, но в случае каких-нибудь проблем позволит сменить прошивку через загрузчик, штатный — сломан.
Перешивается в этом разделе: Update Bootloader.

3) Дождаться перезагрузки.

4) Зайти с помощью telnet на роутер. В моем случае логин/пароль были admin/admin соответственно. Айпи был 192.168.16.254.

Trying 192.168.16.254...
Connected to 192.168.16.254.
Escape character is '^]'.

(none) login: admin
Password:


BusyBox v1.12.1 (2013-03-06 16:24:42 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

#

Отлично, мы попали в консоль роутера.

5) Теперь необходимо расчистить память, чтобы записать новую прошивку.

# killall -9 upnpd
# killall -9 syslogd
# killall -9 upnpd tddnsproxy
# killall -9 lld2d klogd
# killall -9 nvram_daemon
# killall -9 goahead

6) Проверим свободную память. Желательно получить около 3мб свободных.

# free
              total         used         free       shared      buffers
  Mem:        13768        10828         2940            0          544
 Swap:            0            0            0
Total:        13768        10828         2940

7) Перейдем в директорию с доступом на запись.

# cd /tmp/

8) На этом этапе необходимо проверить что у вас на комьютере запущен tftp-сервер.

9) следующую строчку я подбирал около 15 минут, просто тупо подбором перебирая все возможные аргументы к команде, готов уже был сдаться, как вдруг пришел к успеху. Скачиваем прошивку в роутер.

# tftp -g -l KEENETIC_LITE-V1.00AABL.1.3D0_fixed_for_4MB_flash-wget-for_DIR300NRUB5.bin 192.168.16.100

192.168.16.100 — это айпи-адрес моего компьютера, у вас может оказаться другим.

10) Убедившись что никаких ошибок на экране не возникло, стираем раздел с прошивкой с роутера(это точка невозврата, дальше будьте предельно внимательны)

# mtd_write unlock mtd6

11) Записываем новую прошивку.


# mtd_write -r write KEENETIC_LITE-V1.00AABL.1.3D0_fixed_for_4MB_flash-wget-for_DIR300NRUB5.bin mtd6

Это займет от 30-40 секунд до минуты-двух. Роутер должен перезагрузиться.

12) У вас прошивка от zyxel 🙂

После перезагрузки появится новая вайфай-сеть ZYXEL_KEENETIC_LITE_XXXXXX
Адрес веб-сервера 192.168.1.1, пароль admin/1234. К ней и нужно подключаться.
Упомяну назначение верхней кнопки. Кнопка сверху — нажать 1 секунду — перезагрузка, 3 секунды — сброс настроек и перезагрузка.

Скриншот прошивки от фирмы Zyxel


Эту часть можно пропустить
Самые внимательные читатели, навреное, заметили, что unpacker.exe мы не использовали. Так и есть, это для самых любознательных, если вы хотите залить прошивку от Nexx(вдруг) в клон, или, наоборот, прошивку из клона в Nexx, то вам как раз пригодится этот файл. Так же я проводил эксперименты с расшифровкой прошивок от Hame и установкой на клон/nexx, но мне это не понравилось и не работал ethernet-порт, если у кого есть желание могут попробовать разобраться с ними. Еще есть прошивка от dir 320nru, но она старая и умеет меньше чем zyxel/openwrt.
Предупреждение
Ребяты, убедитесь только что ваш клон обладает 32 мб памяти, иначе ни openwrt, ни keenetic на ваших роутерах не взлетят и вы получите кирпич, который можно будет восстановить только с консоли. Это касается клонов, с нексом всё в порядке.
Как определить объем памяти у роутера
Самый надежный способ — посмотреть маркировку микросхемы на плате и вбить её в гугл. в 99 случаев из 100, первая ссылка будет на даташит(pdf с характеристиками памяти).
Например, маркировка em63a165ts-6g. Вводим в гугл, получаем pdf, смотрим:

16M * 16
считаем: 16мегабит умножаем на 16бит и делим на 8(в одном байте 8 бит), получаем 32мегабайта.

Маркировка EM639165TS-6G.
Вводим в гугл, получаем pdf, смотрим:

8M * 16
считаем: 8мегабит умножаем на 16бит и делим на 8(в одном байте 8 бит), получаем 16мегабайт.

Как перенастроить ван в лан и наоборот

Галкой «использовать разъем» выставляется wan-порт. Соответственно, если с него снять галку и снять галку «использовать для выхода в интернет», то езернет окажется в lan. Ну и наоборот.
Как вернуться с прошивки keenetic на openwrt?
Закачать через веб-интерфейс прошивки keenetic вместо firmware данную прошивку(Спасибо S-trace с 4пда за прошивку.).После перезагрузки появится открытая сеть OpenWRT. Кстати, у моего роутера погас светодиод, не пугайтесь, если что. Дальше с неё можно шиться методом mtd на другие прошивки. Или методом sysupgrade на любую другую прошивку openwrt.
Внимание, эта прошивка предназначена только для «сползания» с zyxel, эта прошивка не сохраняет настройки. Если она вам понравилась, нужно поставить нормальную прошивку с sysupgrade в конце.
Как вернуться с прошивки openwrt на keenetic(или на другую)
Поднять у себя веб-сервер(у меня он находится на 8000-м порту, мой айпи-адрес 192.168.1.110)
# wget http://192.168.1.110:8000/KEENETIC_4G_II-V2.03[AAKW.0]C4.bin
# mtd write -r KEENETIC_4G_II-V2.03[AAKW.0]C4.bin firmware

После прошивки роутер перезагрузится в keenetic.
Для перешивки в другую прошивку заменить файл прошивки кинетика на желаемую.

Как прошиться на последнюю-распоследнюю версию кинетика
Ну это совсем в самых образовательных целях. Заниматься этим стоит только если у вас не работает ваш новомодный модем. Новая прошивка обновляет загрузчик, так что можете получить кирпич. Правда, на моих тестовых роутерах я кирпич не получил, но будьте осторожны.
Внимание, проверено ТОЛЬКО на прошивке 2.04.0.C.1-0 с прошивки 2.03.0.C4. На других не проверялось, так что будьте внимательны. Я серьезно.

Для этого у вас должен быть настоящий keenetic 4g II. Ну или не у вас, у соседа, в магазине или еще где-нибудь 😉 И вы обязуетесь удалить прошивку после теста. Мы же только в образовательных целях этим занимаемся. Ребята из zyxel(а точнее их аутсорсеры ndm-systems) делают действительно очень качественные прошивки, советую купить родной кинетик, если вам понравилась прошивка.
В общем, нужно нажать на firmware и выбрать сохранить. А потом на роутере-доноре выбрать заменить. Очень просто 🙂

Некрологи
Тут грустные рассказы про окирпичившиеся роутеры.
1) Роутер муськовчанина ns6k
С таким интерфейсом:

Ветка комментариев.
Умер в процессе перешивки в кинетик, предположительно из-за того что не обновили загрузчик на uboot256.bin, а старый рапортовал keenetic-у что у него всего 16 мегабайт памяти.

 

Click to rate this post!
[Total: 4 Average: 5]
cryptoworld

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

Share
Published by
cryptoworld

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

5 месяцев ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

5 месяцев ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

5 месяцев ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

5 месяцев ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

5 месяцев ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

6 месяцев ago