Jump to content

Question

Posted

Всем привет!

Подскажите плз. возможно ли на Keenetic Air (KN-1611) получить полный доступ. Через telnet\ssh у меня получилось  попасть только в интерфейс CLI пользователем admin.

Recommended Posts

  • 0
Posted (edited)
5 минут назад, typedef сказал:

Всем привет!

Подскажите плз. возможно ли на Keenetic Air (KN-1611) получить полный доступ. Через telnet\ssh у меня получилось  попасть только в интерфейс CLI пользователем admin.

К сожалению штатными методами это все. Может только через entware что то можно сделать.

Edited by Илья Картавенко
  • 0
Posted
Just now, Илья Картавенко said:

Ксожалению штатными методами это все. Может только через entware что то можно сделать.

да я уж про штатные средства и не говорю.
Уже попробовал Keenetic-SDK, собрал свой firmware. Но вот как его оттестить нормально не имея полного доступа к системе...

  • 0
Posted

провозился сегодня целый день с Keenetic SDK
Так и не нашел каким образом они формируют /etc/passwd. В образ попадает этот файл из штатного места
   \build_dir\target-mipsel-linux-musl_musl\base-files\ipkg-KN-1611\base-files\etc

там все требуемые файлы для \etc
Но passwd (и еще несколько) это символические ссылка на /tmp/passwd, которого нет. Видимо во время билда он создается и потом удаляется. Я так и не смог найти где и как именно :(

Я так понимаю, там я смогу включить root'а

Ткните плз. в доки, где этот процесс описан.

  • 0
Posted
1 час назад, typedef сказал:

Ткните плз. в доки, где этот процесс описан.

Такого описания нет.
Вам нужно включить следующие компоненты в "make menuconfig"

  • "NDM ---> Debug ---> ndm-mod-shell" и
  • "NDM ---> Opkg ---> ndm-mod-opkg".

Тогда у вас появится возможность запускать интерпретатор ash из CLI ndm командой

(config)> exec ash

BusyBox v1.24.2 () built-in shell (ash)

~ # 
~ # ls
bin    dev    etc    flash  lib    opt    proc   root   sbin   sys    tmp    usr    var

Правда для установки этих двух компонентов вам возможно придётся отключить часть уже установленных, так как у KN-1610 доступно всего ~7.5 MB для rootfs.

  • Thanks 1
  • 0
Posted
19 hours ago, sergeyk said:

Такого описания нет.
Вам нужно включить следующие компоненты в "make menuconfig"

  • "NDM ---> Debug ---> ndm-mod-shell" и
  • "NDM ---> Opkg ---> ndm-mod-opkg".

Тогда у вас появится возможность запускать интерпретатор ash из CLI ndm командой

(config)> exec ash

BusyBox v1.24.2 () built-in shell (ash)

~ # 
~ # ls
bin    dev    etc    flash  lib    opt    proc   root   sbin   sys    tmp    usr    var

Правда для установки этих двух компонентов вам возможно придётся отключить часть уже установленных, так как у KN-1610 доступно всего ~7.5 MB для rootfs.

огромное спасибо за новое знание! :)
Странно, что за целый день поисков по различным источникам я нигде не встретил ничего подобного.

Добавил оба компонента, собрал имидж, залил в роутер. Ошибок не было, все запустилось, но команды exec не появилось...
 

(config)> exec
Command::Base error[7405600]: no such command: exec.

может еще чего надо включить?

  • 0
Posted
39 minutes ago, typedef said:
(config)> exec
Command::Base error[7405600]: no such command: exec.

может еще чего надо включить?

поставил уже из веб интерфейса роутера поддержку OPKG, появилась команда exec (правда сам веб интерфейс раскорячился, видимо памяти мало)
но не может найти ash

(config)> exec ash
Process error[268241546]: system failed [0xcffd0a8a], "ash" executable not found.

 

  • 0
Posted
57 минут назад, typedef сказал:

Добавил оба компонента, собрал имидж, залил в роутер. Ошибок не было, все запустилось, но команды exec не появилось...

Если не появилось, значит что-то не так делали.

  • 0
Posted
2 hours ago, sergeyk said:

Если не появилось, значит что-то не так делали.

я на самом деле делаю такое впервые, поэтому вполне возможно.
Делал так:
  1. сгружаю с роутера актуальную версию KN-1611_stable_3.07.C.2.0-1_firmware.bin
  2. загружаю ее параметры в конфиг ./unpack.sh ../KN-1611_stable_3.07.C.2.0-1_firmware.bin
  3. захожу в make menuconfig и добавляю два компонента, которые Вы писали выше
  4. собираю имидж - make -j5
  5. заливаю прошивку в роутер

Вот на последнем пункте я не уверен, что все делаю правильно
  - скачал Keenetic Recovery
  - распаковал архив и в директорий \fw положил свой собранный имидж. 
  - переименовал его в KN-1611_recovery.bin
  - и дальше согласно инструкции:
       запустил саму утилиту krutil_ru.exe
       перезапустил роутер с зажатым ресетом
       дождался прошивки

вроде все.
Что не так не знаю...

  • 0
Posted

меня смущает что после всех манипуляций выше, при коннекте через telnet пишется
KeeneticOS version 3.07.C.2.0-1, copyright (c) 2010-2022 Keenetic Ltd.
хотя версия имиджа, что я собрал - 3.07.C.1.0-4

  • 0
Posted
55 минут назад, typedef сказал:

5. заливаю прошивку в роутер

Откуда вы её берете? Если что, новый образ лежит в подкаталогах bin/mt7628/.

  • 0
Posted
3 hours ago, sergeyk said:

Откуда вы её берете? Если что, новый образ лежит в подкаталогах bin/mt7628/.

да, оттуда и беру

  • 0
Posted

сегодня попробовал распаковать образ, который я собрал в SDK
запускаю ./unpack.sh KN-1611-3.07.C.1.0-4.bin
в ответ

"Unable to find TLV table offset."

Не знаю может так и должно быть, а может в этом и дело, что я не вижу на роутере изменений от новой прошивки

  • 0
Posted
On 2/1/2022 at 7:13 PM, sergeyk said:

Если не появилось, значит что-то не так делали.

Подскажите пожалуйста, а как проверить что определенный компонент загружен на роутер?
Меня естественно интересуют те два, что Вы мне сказали

"NDM ---> Debug ---> ndm-mod-shell" и
"NDM ---> Opkg ---> ndm-mod-opkg"
 

На мой вопрос через форму обратной связи посоветовали посмотреть файл self-test, в нем поле <name>Component lister</name>

В нем должен быть shell
У меня таких два фрагмента, оба одинаковые:
 

        <thread>
            <name>Component lister</name>
            <tid>0</tid>
            <lock_list_complete>yes</lock_list_complete>
            <locks/>
            <statistics>
                <interval>0</interval>
                <cpu>
                    <now>0.000000</now>
                    <min>0</min>
                    <max>0</max>
                    <avg>0</avg>
                    <cur>0</cur>
                </cpu>
            </statistics>
        </thread>

Искал по всему файлу поиском по имени "shell" и "opkg" - ничего нет

внизу информация о релизе:
 

    <!-- show upnp redirect -->
    <!-- show version -->
    <release>3.07.C.2.0-1</release>
    <sandbox>stable</sandbox>
    <title>3.7.2</title>
    <arch>mips</arch>
    <ndm>
        <exact>0-49ce9d9</exact>
        <cdate>14 Jan 2022</cdate>
    </ndm>
    <bsp>
        <exact>0-7f0f81fa9</exact>
        <cdate>19 Jan 2022</cdate>
    </bsp>
    <ndw>
        <version>3.7.67</version>
        <features>wifi5ghz,mimo5ghz,atf5ghz,wifi_button,led_control,dual_image,wifi_ft,wpa3</features>
        <components>adguard-dns,base,cloudcontrol,corewireless,dhcpd,dot1x,easyconfig,igmp,l2tp,lang-en,miniupnpd,mws,nathelper-ftp,nathelper-pptp,nathelper-sip,ndns,pingcheck,ppe,pppoe,pptp,skydns,trafficcontrol,ydns</components>
    </ndw>
    <ndw3>
        <version>1.30</version>
    </ndw3>
    <manufacturer>Keenetic Ltd.</manufacturer>
    <vendor>Keenetic</vendor>
    <series>KN</series>
    <model>Air (KN-1611)</model>
    <hw_version>11168000</hw_version>
    <hw_type>router</hw_type>
    <hw_id>KN-1611</hw_id>
    <device>Air</device>
    <region>RU</region>
    <description>Keenetic Air (KN-1611)</description>

ничего не понимаю, как будто я и не собирал свой имидж...

  • 0
Posted
30 минут назад, typedef сказал:

ничего не понимаю, как будто я и не собирал свой имидж...

Похоже, что так.
Какие файлы у вас в bin/mt7628/ с расширением .bin и какие у них размеры?

  • 0
Posted
3 minutes ago, sergeyk said:

Похоже, что так.
Какие файлы у вас в bin/mt7628/ с расширением .bin и какие у них размеры?

пошел по порядку с самого начала
1.  очистил все
    make dirclean
2. распаковал последнюю оригинальную прошивку  
   ./unpack.sh ../KN-1611_stable_3.07.C.2.0-1_firmware.bin
3. собрал ее без изменений
   make -j5
4. добавил компоненты: "ndm-mod-shell" и "ndm-mod-opkg"
    make menuconfig
5. собрал с изменениями
   make -j5
 

alvas@Alvas-PC:~/keenetic/keenetic-sdk/bin/mt7628$ ls -l
total 19696
-rw-r--r-- 1 alvas alvas  9568316 Feb  2 21:30 20220202_2130_Firmware-KN-1611-3.07.C.1.0-4.bin
-rw-r--r-- 1 alvas alvas 10551356 Feb  2 21:33 20220202_2133_Firmware-KN-1611-3.07.C.1.0-4.bin
-rw-r--r-- 1 alvas alvas      164 Feb  2 21:33 md5sums
drwxr-xr-x 2 alvas alvas    32768 Feb  2 21:33 packages
alvas@Alvas-PC:~/keenetic/keenetic-sdk/bin/mt7628$


 

  • 0
Posted

@typedef смотрите содержимое каталога build_dir/target-mipsel-linux-musl_musl/root-mt7628/, это образ rootfs, который был запакован в последний сгенерированный файл. В этом rootfs должны быть bin/busybox и lib/libndmOpkg.so.

  • 0
Posted
2 минуты назад, sergeyk сказал:

добавить пакет Opkg в оригинальную прошивку изначально на устройстве

А для роутеров без USB доступен компонент "Поддержка открытых пакетов" ? Или я не так понял?

  • 0
Posted
3 minutes ago, sergeyk said:

Эти файлы не годятся, слишком большие. У вас сборка завершается ошибкой, которую вы игнорируете.
Максимально допустимый размер файла есть в конфигурации, и для KN-1610 он равен

~/keenetic-sdk (main)$ cat .config | grep CONFIG_TARGET_FIRMWARE_SIZE
CONFIG_TARGET_FIRMWARE_SIZE="0x790000"
~/keenetic-sdk (main)$ printf %d 0x790000
7929856

 

хм... странно
вроде нет никаких ошибок при сборке нет
да и цифры у меня другие
 

alvas@Alvas-PC:~/keenetic/keenetic-sdk$ cat .config | grep CONFIG_TARGET_FIRMWARE_SIZE
CONFIG_TARGET_FIRMWARE_SIZE="0xf60000"
alvas@Alvas-PC:~/keenetic/keenetic-sdk$ printf %d 0xf60000
16121856


сейчас еще глянул официальный файл из Recovery для 1611 - KN-1611_recovery.bin
Он размером 8257596

Да и роутер никаких ошибок прошивки тоже не выдает, по крайней мере я их не вижу.
 

7 minutes ago, sergeyk said:

@typedef смотрите содержимое каталога build_dir/target-mipsel-linux-musl_musl/root-mt7628/, это образ rootfs, который был запакован в последний сгенерированный файл. В этом rootfs должны быть bin/busybox и lib/libndmOpkg.so.

bin/busybox есть, а вот ib/libndmOpkg.so нет

Т.е. мне нужно восстановить оригинальную прошивку, добавить пакет Opkg, выгрузить новый файл прошивки и повторить все мои действия?

  • 0
Posted
1 минуту назад, typedef сказал:

Т.е. мне нужно восстановить оригинальную прошивку, добавить пакет Opkg, выгрузить новый файл прошивки и повторить все мои действия?

Можно только "./unpack ..." и "make ...", чистить ничего не нужно.

  • 0
Posted
Just now, sergeyk said:

Можно только "./unpack ..." и "make ...", чистить ничего не нужно.

ну да.
Спасибо, я попробую!

И еще вопрос до кучи )

в /build_dir/target-mipsel-linux-musl_musl/root-mt7628/etc лежат файлы конфигов
некоторые живые, а некоторые символические ссылки на /tmp
например:
lrwxrwxrwx 1 alvas alvas    11 Feb  2 21:15 passwd -> /tmp/passwd
lrwxrwxrwx 1 alvas alvas     8 Feb  2 21:15 ppp -> /var/ppp
lrwxrwxrwx 1 alvas alvas    16 Feb  2 21:15 resolv.conf -> /var/resolv.conf

они как то генерятся на лету или их можно при сборке где-то поправить?

  • 0
Posted
1 минуту назад, typedef сказал:

они как то генерятся на лету или их можно при сборке где-то поправить?

Их создает bin/ndm при старте.

  • 0
Posted
55 minutes ago, sergeyk said:

Их создает bin/ndm при старте.

YESSSSSSS !!!
Спасибо Вам большое!

image.thumb.png.f272c95d3bfc8716b5f981800699fe2e.png

  • 0
Posted
Just now, sergeyk said:

И что вы теперь намерены с этим делать?

моя цель была запустить анонсированный в версии 3.7.1 сервис mdns (который на самом деле для 1611 недоступен)
Из-за этого весь сыр-бор, а потом уже стало интересно )
Сейчас я добавил модуль ndm-mdns, он за собой поставил демона avahi. Но вот как это все запускается я пока не понял
service avahi-deamon start 
не работает, так как sevice не поддеживается...

  • 0
Posted
27 minutes ago, typedef said:

моя цель была запустить анонсированный в версии 3.7.1 сервис mdns (который на самом деле для 1611 недоступен)
Из-за этого весь сыр-бор, а потом уже стало интересно )
Сейчас я добавил модуль ndm-mdns, он за собой поставил демона avahi. Но вот как это все запускается я пока не понял
service avahi-deamon start 
не работает, так как sevice не поддеживается...

ну вроде все теперь работает как надо, AirPlay и прочие радости из ZeroConfig работают между двумя подсетями (проводными и wi-fi)
Теперь остался последний шаг, как правильно добавить файл конфига и запустить при старте avahi-daemon

С первым вроде понятно, надо добавить конфиг в 
\package\base-files\files\etc
а как правильно прописать автозапуск демона?

  • 0
Posted
8 часов назад, MercuryV сказал:

А для роутеров без USB доступен компонент "Поддержка открытых пакетов" ? Или я не так понял?

Да, сейчас opkg включен для всех моделей.

  • Upvote 1
  • 0
Posted
4 hours ago, sergeyk said:

Запускайте по событию или через скрипт opkg initrc (/opt/etc/initrc по умолчанию):

https://github.com/ndmsystems/packages/wiki/Opkg-Component#hook-scripts

ага, спасибо!
Вечером попробую.
Я правильно понимаю, что я должен написать скрипт /opt/etc/initrc и положить его в \package\base-files\files\
Ну или лучше написать отдельный скрипт 
avahi, положить его в \package\base-files\files\opt\etc\init.d
В SDK я что то не нашел подобных скриптов, в том числе /opt/etc/ndm/*

  • 0
Posted
17 hours ago, sergeyk said:

Запускайте по событию или через скрипт opkg initrc (/opt/etc/initrc по умолчанию):

https://github.com/ndmsystems/packages/wiki/Opkg-Component#hook-scripts

Что то не получилось у меня с наскока сделать автоматический запуск демона :(
Файлы в \package\base-files\files\opt\etc положил (и initrc и директорий init.d со скриптом внутри добавил). Они не запускаются потому что без флага на запуск. Видимо где то в makefile надо делать chmod +x

Может где то есть примерчик, чтобы по аналогии сделать?
Ну или, если я Вас еще не задолбал, поясните по подробнее как добавить скрипт start\stop какого-нить сервиса

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...