DOBERMANN
Гай Ричи
MrLoot
Konstrukt
Frank Vinci
atmservice
probiv
atmservice

Мобильный роутер за 10 баксов

Marlb0r0

...
Проверенный продавец
Legend user

Marlb0r0

...
Проверенный продавец
Legend user
Статус
Offline
Регистрация
6 Янв 2015
Сообщения
1,180
Реакции
457
Депозит
Покупки через Гарант
0
Продажи через Гарант
2
Сегодня обзор безымянного роутера. По внешнему виду он является клоном Hame A15, но по начинке он превосходит оригинал, плюс он дешевле. Плюс… эй, стоп, хватит! И так достаточно причин предпочесть его перед оригиналом
Вот он сам:

Обзор получался совершенно обычным, до того момента когда я вдруг обнаружил маленький глючок в веб-интерфейсе роутера, и уже не смог остановиться в своем исследовании роутера и осуществил полный ДЖЕЙЛБРЕЙК/РУТ устройства, описание многошагового взлома китайской прошивки и всё остальное ждет под катом.

ЭТОТ РОУТЕР ПО МОЕЙ МЕТОДИКЕ УСПЕШНО ПЕРЕШИВАЕТСЯ В ZYXEL KEENETIC 4G!

Изделие приехало в таком пакете с таможенной декларацией «Household articles», т.е. домашние инструменты, ну что ж, можно согласиться с большой натяжкой.

Общий план.


Характеристики роутера от продавца
Description:
Compatible with HSDPA/HSUPA/HSPA+, CDMA EVDO Rev A/B, including more than 400 kinds of popular USB 3G modems all over the world, dial automatically without any manual setting.
Compatible with all the operating system such as Mac, iOS, Windows, Linux, Android.
NEEWER’s patented software, automatically recognize ADSL/DHCP and WAN/LAN without any preset.
Compatible with IEEE.802b/g/n standards and data spread rate up to 150Mbps. Features:Interface:
1*Micro USB for power supply
1*Rj45 for WAN or LAN
1*USB 2.0 for USB dongle
3G: Support HSDPA/HSUPA/HSPA+, CDMA EVDO Rev A/B USB modem
Auto Access Point Name(apn), Dial-up 3G automatically
Automatically recognize ADSL/DHCP and WAN/LAN without any preset profile
Compatible with HSDPA/HSUPA/HSPA+, CDMA EVDO Rev A/B USB dongle
Complies with IEEE802.11b/g/n standards and data rate up to 150Mbps
Encryption: OPEN, SHARED, WEPAUTO, WAP-PSK, WEP2-PSK, WPA, WPA2, WPA-PSK/WPA2-PSK, WPA/WPA2, 802.1x
External Interface
Frequency Band: 2412-2483MHz
Function Button: 1*Reset
Gateway: TCP/IP/UDP/DHCP Server/NAT/MAPT/UPnP/Static Routing/MAC/URL/IP filter/VPN Pass through
Plug and Play, no need install any software
Protocol: IEEE802.11b/g/n up to 150Mbps
User amount: Supports 20 Users at the same Time
Wi-Fi

Итак, что перед нами такое? В общем, роутер. Питание от microusb. Ethernet-порт. Что еще?
Поддерживает 3g-модемы обычные, новомодные модемы(встречаются названия hostless, HiLink), которые прикидываются сетевой картой не поддерживает. Естественно, с вайфаем стандарта n, 150 мегабит, 1 антенна, т.е. по факту 73 мегабита.
Умеет читать флешки, отдает через samba и ftp. Так же через веб-интерфейс доступен просмотр файлов. Обновиться через веб-интерфейс, на альтернативную прошивку, к сожалению, нельзя, нужна правильная цифровая подпись прошивки.

В комплекте идет инструкция, правда, от другого роутера, но веб-интерфейс — тот же.

Я часа три пытался залить в него openwrt, но каждый раз меня поджидала неудача. То одно, то другое. В общем, я психанул, снял с него образ, и залил прошивку от nexx wt1520 через usb-программатор. Моему удивлению не было границ, когда роутер загрузился и как ни в чем не бывало стал делать вид, что он nexx :)
Впрочем, это было ожидаемо — железо на 90% совпадает, различие только в gpio, на которых висят светодиоды и в наличии второго ethernet-порта на nexx. После чего я, довольный, вернул устройство в первоначальное состояние и решил попытать удачу на следующий день.

А на следующий день всё получилось с пол пинка — через консоль загрузчика залил в него прошивку-openwrt которую в прошлый раз готовил для своего роутера из предыдущего обзора.
Распиновка консоли, считать от ethernet-разъема:

GND RX TX 3.3V

Система на чипе:

Модуль памяти

И вот в тот самый момент когда я стал скриншотить штатный интерфейс, мой глаз зацепился за косячки в веб-интерфейсе…

И вот, внимательный взгляд старого(относительно) сисадмина, делая скриншоты зацепился за… постойте-ка, это что еще такое?

Хмм, /var/mnt/sda/. А что если передать javascript-у вместо /var/mnt/sda/ /etc/?!

Ага, не проверяем мы входные данные. Уязвимое место номер раз. Может еще где есть дырка в прошивке? Передадим / вместо /etc/. Ага. Всё верно. А почему файлики отдаются с какого-то левого порта?

Ага!
Уязвимое место номер два. Но загрузить файлики так не получится. Что у нас там есть? Самба-шара! Что там с настройками? Смотрим:

Мммм, /var/mnt/, admin? а что если написать вместо /var/mnt/ / и в поле username указать root?!

Проверим! Жмякаем на add, apply и видим следующую картинку:

Так-так-так, что получилось?

Круто! Корневая директория роутера доступна для записи!
Вспоминаем что на 23-м порту висит телнет-сервер с ограниченными возможностями управления сетевой части роутера.
Код:
BoC Router> BoC Router> help
 
 ?                   ->Display help information.
 help                ->Display help information, same as '?' command.
 clear               ->Clear various talbes, type clear for help.
 ping                ->ping HOST, type ping for help.
 traceroute          ->route trace, type traceroute for help.
 ipmac               ->ip mac bind settings.
 quit                ->Close terminal session.
 show                ->Display various talbes information, type show for help.
 restart_httpd       ->Restart web server.
 restore_defaults    ->Restore the config to the default factory value.
 ated                ->run ated for MP test. BoC Router> show
  ip          < ip informations
  ipmac       < ipmac binding information.
  nat         < nat informations
  dev         < show device statistics
  system      < system basic informations
 
BoC Router> show system
Дааааа, вообще тухляк, ничего не умеет. Но ведь у нас есть доступ на запись в корневую систему роутера! Так можно же переписать telnet-сервер своим! А тут как раз есть у меня такой, от роутера nexx wt1520! Подменяем!
Подключаемся к самба-шаре, находим /bin/busybox, удаляем его, переписываем на его место
свой busybox. Пробуем подключиться через telnet к роутеру!
(пароль я подбирал в прошлый раз, когда взламывал роутер nexx, пароль — y1n2inc.com0755)
Код:
$ telnet 192.168.100.1 Trying 192.168.100.1... Connected to 192.168.100.1. Escape character is '^]'. (none) login: nexxadmin
Password: BusyBox v1.12.1 (2013-10-17 11:35:12 HKT) built-in shell (ash) Enter 'help' for a list of built-in commands. #
АГА! Мы в системе. Осталось залить прошивку openwrt(можно и ddwrt, способ-то универсальный!). А есть ли чем нам совершить запись в флешку?..
Нечем :( Нужный исполняемый файл mtd(или mtd_write) — отсутствует. Не сдаемся, снова вытаскиваем из прошивки nexx файл mtd_write и по самбе закидываем на роутер в /tmp/(на всякий случай) вместе с файлом прошивки openwrt.
Заходим в открытом окне телнет в /tmp/:
Код:
 # cd /tmp/ # ls
mtd_write
openwrt-ramips-rt305x-nexx-wt1520-squashfs-sysupgrade.bin
Есть все нужные файлы. Тогда начинаем самое главное. Сначала убедимся что у нас хватает памяти:
Код:
 # free
              total         used         free       shared      buffers
  Mem:        29204        28192         1012            0            8
Если меньше 1 мегабайта, то попробуем убить лишние запущенные процессы(но скорее всего будет примерно как у меня, ~~ 1012, т.е. хватать):
Код:
killall -9 smbd; killall -9 upgraded; killall -9 udhcpd
Но так как не у всех есть usb-программатор, то снимем-ка резервные копии на флешку.
Код:
# for i in 1 2 3 4 5 6; do cat /dev/mtdblock$i > /var/mnt/sda/mtdblock$i; done # for i in 1 2 3 4 5 6; do cat /dev/mtdblock$i >> /var/mnt/sda/fullflash; done #
Стираем раздел флешки, предназначенный для прошивки:
Код:
 ./mtd_write erase  mtd3
 
getFileSize: No such file or directory
Unlocking mtd3 ...
Erasing mtd3 ...
Erase char is 255
 
 
#
Стёрли. Теперь зальём нашу прошивку! Несмотря на то, что прошивка предназначена для nexx, мне было лень проходить все круги ада, писать патчи для поддержки этой модели и компилировать новую прошивку, но прошивка полностью совместима. Когда захочется перешить на другую прошивку, проблем не возникнет, в openwrt-прошивке есть sysupgrade и mtd write :)
Код:
# ./mtd_write -r write openwrt-ramips-rt305x-nexx-wt1520-squashfs-sysupgrade.bin mtd3
Через 1-2 минуту роутер моргнет своим светодиодом и перезагрузится.
А там нас ждёт уютненькая теплая ламповая морда openwrt :)
 
Сверху