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

Сегодня обзор безымянного роутера. По внешнему виду он является клоном 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. Так же через веб-интерфейс доступен просмотр файлов. Обновиться через веб-интерфейс, на альтернативную прошивку, к сожалению, нельзя, нужна правильная цифровая подпись прошивки.

Добавлю тут описание от ded1971, уточняющее:

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



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

Я часа три пытался залить в него 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 🙂

Но это еще не всё, необходимо еще раз залить прошивку openwrt поверх openwrt, т.к. заливали мы её изначально «хакерским» способом, там могут быть мелкие косячки в файловой системе, лучше перепрошить.
Для этого еще раз зальём файл openwrt-ramips-rt305x-nexx-wt1520-squashfs-sysupgrade.bin на роутер через scp/sftp в директорию /tmp/, после этого зайдем по ssh и напишем в терминале:

# cd /tmp/ # sysupgrade -F -n openwrt-ramips-rt305x-nexx-wt1520-squashfs-sysupgrade.bin

Вот и всё, роутер успешно джейлбрейкнут/зарутован, чувство выполненной работы присутствует, можно и на муську черкануть 😉 Благодарю за внимание.

Рекзвизиты на роутер

ip 10.10.10.123
netmask 255.255.255.0


ssh login: root
password: openwrt

wifi name: wt1520
wifi password: openwrtopenwrt

Файлы, необходимые для джейлбрейка:

Плюсы:

+ Дешевый
+ Мелкий
+ Есть usb
+ Есть ethernet
+ Можно перешить в openwrt
+ 32 мегабайта ОЗУ, у оригинала — 16


Минусы:

— Греется
— С штатного веб-интерфейса перешиться в openwrt нельзя Можно!

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

По данной методике успешно удалось перешить роутер в zyxel keenetic 4g
Скрин с hilink-модемом zte mf823

Скрин с обычным модемом, Huawei 171

Кнопка сброса этого роутера в таком случае является кнопкой wps. Lan-порт является 4-м портом, как wan использовать нельзя, увы.(хотя можно попробовать поколдовать с вланами)

Click to rate this post!
[Total: 6 Average: 4.2]

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

Leave a reply:

Your email address will not be published.