LINUX.ORG.RU

Узнать/изменить пароль на GPON-устройстве

 ,


0

2

Приветствую.

Сдуру купил на алишке «роутер с оптическим входом». Не буду долго описывать что в нем не работает, перейду сразу к сути.

SSH'а нет, но доступен телнет. Все известные креды туда не подходят.

Подключился уартом.

Внутрях стоит Linux на дебильной ubi, в которой я ничего не соображаю.

По мере загрузки выплевывает в приглашение ввода логина и пароля.

Путем «нажатия на клавиши» удалось прервать загрузку, выпхнуться в меню u-boot, отредактировать environment так чтоб передать параметры ядру и оно выплюнуло в sh в качестве инита.

Известные на десктопе параметры ядра типа autologin - здесь не работают.

Само собой функционал системы в этот момент куцый.

В fstab пусто, все ФСы монтируются велосипедами в rc-баш-портянках.

Собственно запуская эти портянки одну за одной - удалось запустить функциональную часть системы. Но это не вариант ибо требует вмешательства извне.

В passwd\shadow два юзера, root и admin, причем root странный, хеша пароля нет. Но без пароля все равно не пускает, ни локально ни удаленно по телнету.

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

Вопрос: сидя в консоли Linux, при присуствии лишь busybox-овых утилит, но имея сеть - можно ли перепаковать squashfs?

Можно ли где-то об этом почитать систематизировано, без манов в разных местах?

Амфибиотропная асфиксия мешает просто так выбросить 35 евро, все-таки двухканальная вафля там мощная.

Благодарю.

★★★★★

Последнее исправление: Dimez (всего исправлений: 1)

Вопрос: сидя в консоли Linux, при присуствии лишь busybox-овых утилит, но имея сеть - можно ли перепаковать squashfs?

В busybox есть аналог netcat же. Так что шлёшь образ squashfs по сети на нормальный комп, там всё исправляешь, потом шлёшь назад на устроство. Только я не понял как ты собрался его назад прошить с консоли. Вероятно это делается по-другому как-то.

В passwd\shadow два юзера, root и admin, причем root странный, хеша пароля нет. Но без пароля все равно не пускает, ни локально ни удаленно по телнету.

Вероятно без пароля логиниться нельзя, а поскольку хеша нет то валидного пароля не существует. А вот юзер admin и есть тот кто тебе нужен.

все-таки двухканальная вафля

А вот вафли нам не нужны.

firkax ★★★★★
()

ubi - это слой для NAND, обеспечивающий wear leveling.

Посмотри куда именно монтируется ubifs, может быть она монтируется через оверлей поверх root на squashfs и тебе всё-таки можно переслать только один файлик shadow вместо всего образа.

Xenius ★★★★★
()
Ответ на: комментарий от firkax

В busybox есть аналог netcat же

Если его выбрали при сборке, но обычно его нет.

Если нет netcat, можно использовать wget и веб-интерфейс для передачи данных.

Xenius ★★★★★
()

Ну в крайнем случае можно такой вариант попытаться. Я как-то похожее делал. Грубо говоря на хосте делаешь что надо, потом делаешь его gzip (если сжимается) и base64. И плюёшь его в UART-порт. На стороне роутера принимаешь и либо куда-то временно записываешь, если есть куда писать (проще всего), либо сразу пайплайном распаковываешь и пишешь в готовом месте на диск или куда там. Ну и с роутера на хост можно так данные передавать.

Т.е. например сначала таким макаром передаёшь squashfs с роутера на хост, на хосте уже всё делаешь что хочешь, перепаковываешь и передаёшь с хоста на роутер. На роутере, к примеру, запущена команда вида base64 -d > /dev/mmcblk0p3, читающая stdin и пищущая данные в раздел.

Но если что-то пойдёт не так, то всё окирпичится. Поэтому лучше научиться шить из uboot-а, если там не вырезали это.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)
Ответ на: комментарий от windows10

Пробовал. За сутки не получилось. Скорее всего пароль простой, но не кукурузный, так что не вариант.

Видеокарта есть? Надо просто подобрать подходящее подмножество символов. Например только малые латинские буквы.

Xenius ★★★★★
()
Ответ на: комментарий от windows10

Ну тебе поможет «знакомый, которые чинит сотовые телефоны».

Я раньше так делал - просто ходил по этим местам, где есть ремонт сотовых телефонов, доставал там 2000-5000 тенге одной купюрой, озвучивал, что мне нужно - обычно если народу там не много, то делали.

ну это в два этапа, вперва выпают и считают флешку на твою флешку.

затем ты идешь домой, делаешь нужные вещи и готовишь образ.

возврашаешься и тебе заливают образ и запаювают флешку обратно.

Nurmukh ★★★★
()

Бгг. Опять ни названия роутера, ни маркировки на плате, ни даже модели SoC.

GPON - лютая проприетарщина, каждый вендор пилит свой велосипед, линуксы для логина там вовсе не в /etc/passwd заглядывают, а в какой-нибудь, прости Господи default_rv6688v2.xml в виде

<PARAMETER name="UserName" type="string" value="root" writable="0" />
<PARAMETER name="Password" type="string" value="qwerty" writable="0" />

где кагбэ рутовый пароль лежит открытым текстом в каком-нибудь . Этот пароль, увы не позволяет вмешаться в работу т.н. суперсервера - огромного проприетарного бинаря который и рулит этим всем говном. Заставить этот бинарник делать то, что ты хочешь может быть крайне витиевато, хорошо если нужный вариант конфига возможен в этом самом default.xml.

Та же самая хрень с IP-камерами, кстати.

ЗЫ: Может быть ещё смешнее - на локальном интерфейсе ты в какой-нибудь topaz-linux-qantenna1000 попадаешь, который рулит LAN и WiFi и не умеет ничего кроме как пароль на WiFi менять и DHCP включать, а настоящий роутер бегает на совсем другом SoC и доступен только через WAN/GPON.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)

Скачал и посмотрел внутрь прошивки для Cudy GP1200 https://www.cudy.com/ru-ru/pages/download-center/gp1200-1-0. Наверное твой алишный роутер разлит из той же бочки помоев, называемой вендором чипа словами SDK или BSP. Во всяком случае портянки в наличии, и ещё в каком. В /etc/inittab написано

ttyS0::askfirst:-/bin/sh

т.е. на уарте никакого логина не спрашивает. Есть бинарник /bin/ftp.

iliyap ★★★★★
()