1

Тема: Полный root доступ из коробки через telnet

Дня 3 назад стал счастливым обладателем Keenetic GIGA и погрузился в изучение вашего форума, спасибо всем участникам за проделанную работу, особая благодарность Zyxmon.

Я не хакер, немного программист и немного линуксоид, но нашел небольшую дырочку.
Возможно будет полезно тем у кого нет USB и внешних дисков, то есть для младших моделей.

И так всё просто, подключаемся к нашему Keenetic, через telnet на 23 порт, вводим свои логин и пароль.
Далее в консоли набираем команду

flash check DEBUG || sh

вот лог  smile

Password :
KEENETIC GIGA> flash check DEBUG || sh


BusyBox v1.8.2 (2012-05-20 00:25:17 MSK) built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ #

2

Re: Полный root доступ из коробки через telnet

Очень странно! В прошивках когда-то действительно была такая возможность, но она отключена во всех прошивках, сколько их помню(Гиговские, правда, не смотрел - все другие - смотрел). У вас какая версия прошивки?
Вот фрагмент файла services.sh (из любой прошивки):

# Start debug telnet server
#eval `flash DEBUG`
#if [ $DEBUG = 1 ]; then
#    telnetd -p 1023
#fi 

здесь запуск telnetd на 1023 порту просто закомментирован.
А проверил сейчас - и правда, работает!!! Респект вам!!! Оказывается, можно рут поиметь и на родной прошивке в Лайтах, 4ж. (А мы не знали, и прошивки курочали)

UPD

Дальнейшее исследование показало, что это, по сути, обычный "трюк". Переменная DEBUG здесь абсолютно ни при чем, с таким же успехом можно взять любую булевскую, имеющую значение "Disabled", например так:

KEENETIC LITE> flash check WLAN_MACCLONE_ENABLED || sh


BusyBox v1.8.2 (2012-05-02 18:26:16 MSK) built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # 

И даже так:

KEENETIC LITE> flash check || sh
flash 2.0  Copyright (c) 2011 NDM Systems, Holix
Usage: flash <cmd> ...
cmd:
  default                  -- reset all settings to default values;
  compress                 -- save mib to flash in version independent format;
  autofix                  -- check or repair(reset to defaults) mib database;
  store <filename>         -- store mib to the file in version independent format;
  restore <filename>       -- restore mib from the file;
  upgrade <filename>       -- update firmware from file and reboot system;
  all [<sample>]           -- dump several or all mib parameters;
  cat [@][:][%|^]<mib-name> [[@][:][%|^]<mib-name1> [...]]
                           -- cat a specific mib value;
  check <mib-name>         -- return exit code 1 if mib value is zero;
  [get ][<name>=][@][:][%|^]<mib-name> [[<name1>=][@][:][%|^]<mib-name1> [...]]
                           -- get a specific mib(s) from flash memory;
  set <mib-name>           -- get info about mib-item;
  set <mib-table-name>     -- get mib-table operations help;
  set <mib-name> <value> [<mib1-name> <value> [...]]
                           -- set a specific mib(s) into flash memory.
[@][:][%|^]<mib-name>:
  @   -- add backslash symbols before '"', '`' and '\';
  :   -- add backslash symbols before ':';
  ^   -- add backslash symbols before '^';
  %   -- get numeric value of enum or set type of mib item;
  ^   -- get hexadecimal value of enum or set type of mib item.


BusyBox v1.8.2 (2012-05-02 18:26:16 MSK) built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ #

В общем, все говорим surefire спасибо!  cool

Отредактировано Dr.Acid (2012-06-24 10:58:00)

3

Re: Полный root доступ из коробки через telnet

Dr.Acid :

Дальнейшее исследование показало, что это, по сути, обычный "трюк". Переменная DEBUG здесь абсолютно ни при чем, с таким же успехом можно взять любую булевскую, имеющую значение "Disabled", например так:

да, совершенно верно DEBUG совсем не причем, просто так красиво выглядит, решил так оформить  smile

4

Re: Полный root доступ из коробки через telnet

Если разработчики посчитают необходимым, то заткнут этот способ.
PS В самой первой прошивке кинетика была скрытая страница (уже не помню, вроде называлась "system/command.asp") через которую можно было получить рутовый доступ. Потом ее убрали.

5

Re: Полный root доступ из коробки через telnet

Zyxmon :

Если разработчики посчитают необходимым, то заткнут этот способ.
PS В самой первой прошивке кинетика была скрытая страница (уже не помню, вроде называлась "system/command.asp") через которую можно было получить рутовый доступ. Потом ее убрали.


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

6

Re: Полный root доступ из коробки через telnet

Zyxmon :

Если разработчики посчитают необходимым, то заткнут этот способ.

Да уж, такая вероятность есть. Но вопрос здесь двоякий. Дело в том, что, когда я сделал рут в своей прошивке (сразу, при входе по телнету) было много притензий: мол, а как же пароль, безопасность? С этой точки, у cli всё нормально - пароль ведь запрашивается, значит дырой в безопасности это считать как бы уже, не совсем можно  wink  С другой стороны, зная пароль, злоумышленник может в 2 команды "окирпичить" роутер!

Кстати, надо полагать, в V2 это уже не прокатит (нет sh), или уже теперь работает?

Есть предложение сговориться и не писать об этом на хоботе!

Отредактировано Dr.Acid (2012-06-24 12:25:06)

7

Re: Полный root доступ из коробки через telnet

как отключить вебморду полностью?

8

Re: Полный root доступ из коробки через telnet

suninthebox :

как отключить вебморду полностью?

Опции такой в настройках нет. Либо править прошивку, либо при запуске в скрипте прибивать процесс httpd (просто через килл наверное не получится, там надо подругому)

9

Re: Полный root доступ из коробки через telnet

Dr.Acid :
suninthebox :

как отключить вебморду полностью?

Опции такой в настройках нет. Либо править прошивку, либо при запуске в скрипте прибивать процесс httpd (просто через килл наверное не получится, там надо подругому)

Как по другому? через telnet есть команда KEENETIC> service webface stop например, значит можно залезть через SH как написанно выше, и где то найти этот конфиг и там как то отключить? Правильно ?

10

Re: Полный root доступ из коробки через telnet

suninthebox :

Как по другому? через telnet есть команда KEENETIC> service webface stop например, значит можно залезть через SH как написанно выше, и где то найти этот конфиг и там как то отключить? Правильно ?

Ну вот, сами же и написали ответ smile  Эту команду надо засунуть в скрипт, обозвать его ext_init.sh и на флешку (ну, всё как с установкой расширенной системы). Ну или (если хочется, чтоб работало без флешки) засунуть его в /storage (см. соответствующую тему) А просто поправить конфиг(файл /bin/services.sh строка super watch httpd httpd -p $WEB_ACCESS_PORT) не получится - система readonly т.е. для этого придётся пересобирать прошивку.

Вообще, в этой теме это оффтоп.

11

Re: Полный root доступ из коробки через telnet

Кстати, вот наиболее "изящный" способ входа рутом:

flash > /dev/null || sh

Вот как это выглядит:

KEENETIC LITE> flash > /dev/null || sh


BusyBox v1.8.2 (2012-05-20 00:38:06 MSK) built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # 

12

Re: Полный root доступ из коробки через telnet

У меня не получается, выдаёт сообщение:
Command::Base error[7405600]: no such command: flash.
Keenetic Giga, прошивка второй версии.

Отредактировано Харви (2012-10-24 00:37:22)

13

Re: Полный root доступ из коробки через telnet

Харви :

У меня не получается, выдаёт сообщение:
Command::Base error[7405600]: no such command: flash.
Keenetic Giga, прошивка второй версии.

Данный метод работает только на прошивке первой версии.

14

Re: Полный root доступ из коробки через telnet

BigHercules :
Харви :

У меня не получается, выдаёт сообщение:
Command::Base error[7405600]: no such command: flash.
Keenetic Giga, прошивка второй версии.

Данный метод работает только на прошивке первой версии.

Еще б, оно работало - в V2 нет ни flash, ни sh  sad  Конечно, только для первой версии.

15

Re: Полный root доступ из коробки через telnet

а кто знает как отключить в прошивке v1 этот telnet ?????  roll

16

Re: Полный root доступ из коробки через telnet

prizrak :

а кто знает как отключить в прошивке v1 этот telnet ?????  roll

заблокировать при помощи iptables

17

Re: Полный root доступ из коробки через telnet

baragoon :
prizrak :

а кто знает как отключить в прошивке v1 этот telnet ?????  roll

заблокировать при помощи iptables

А зачем же так сложно - достаточно просто прибить процесс. И плюс ещё память освободится smile