Сегодня обзор безымянного роутера. По внешнему виду он является клоном Hame A15, но по начинке он превосходит оригинал, плюс он дешевле. Плюс… эй, стоп, хватит! И так достаточно причин предпочесть его перед оригиналом 😉
Вот он сам:
Купить сей девайс вы можете по ссылке
Обзор получался совершенно обычным, до того момента когда я вдруг обнаружил маленький глючок в веб-интерфейсе роутера, и уже не смог остановиться в своем исследовании роутера и осуществил полный ДЖЕЙЛБРЕЙК/РУТ устройства, описание многошагового взлома китайской прошивки и всё остальное ждет под катом.
ЭТОТ РОУТЕР ПО МОЕЙ МЕТОДИКЕ УСПЕШНО ПЕРЕШИВАЕТСЯ В ZYXEL KEENETIC 4G!
Изделие приехало в таком пакете с таможенной декларацией «Household articles», т.е. домашние инструменты, ну что ж, можно согласиться с большой натяжкой.
Общий план.
Итак, что перед нами такое? В общем, роутер. Питание от 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 использовать нельзя, увы.(хотя можно попробовать поколдовать с вланами)
Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…
Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…
Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…
С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…
Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…
Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…