{imgicourl}{zamok}
<< предыдущая заметкаследующая заметка >>
18 декабря 2018
Хакеры есть? А если найду?

какая боль, какая боль:
админ, забывший свой пароль!

UPD: Всем спасибо за советы! В итоге мне написал бывший владелец роутера и напомнил пароль :)

Но если бы не удалось — наилучший способ в этой ситуации покопаться на флешке /opt и найти что-то, что выполняется от root при старте системы. И заставить выполнить команду

nvram show | grep -e ^http_passwd >> /opt/my_password.txt

Друзья, есть проблема, нужен совет. Нашел свой старый роутер, хочу включить в Питере, но не могу вспомнить свой пароль чтобы войти на него по ssh. Без этого у меня нет доступа к настройкам, он не видит интернета, например, и других систем. Роутер не столько роутер, сколько сервер. Из инструментов мы имеем:

1) Доступ к флешке /opt. У роутера имеется USB-флешка, с которой он грузит себе /opt при старте. Ее можно вынуть, что-то на ней сделать (создать файл, например) и загрузиться снова. Но основные системные папки (например /etc) хранятся не на флешке, а внутри, да еще в какой-то флэш-памяти nvram/flashfs — туда механически не добраться.

2) На роутере всё еще работает nginx+php, папка /opt/www на флешке, поэтому я по-быстрому сваял 192.168.1.1/backdor.php, и если подключиться к роутеру шнуром, то в браузере можно ввести текст, который PHP исполнит в системе как exec() и вернет результат. Например (все данные настоящие):

Текст: cat /etc/passwd

Ответ:

admin:$1$4rdx1yCboPKHMReI6DOYk.:0:0:root:/usr/local/root:/bin/sh
nobody:x:99:99:nobody:/:/sbin/nologin

Мне почему-то кажется, в роутере не было пользователей, все работало от суперпользователя. Но попытки читать что-то как nvram и flashfs дают access denied. Не помню, логинился я как root или как admin. В общем, пока всё.

Есть идеи?

PS: Нет, сбросить в заводские настройки не вариант — после этого он будет не нужен. Это Asus RT16N, установлена на нем DD-WRT «от Олега», а сверху заботливо настроен целый мир самодельных систем: сайт, архивы, драйвера звуковой карты (да, он разговаривает тоже), бинарники-демоны самописные — в общем, долго объяснять, но ценность представляет именно эта настроенная куча функционала.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
Страницы, которые привлекли мое внимание за последние дни, рекомендую:
архив ссылок
Оставить комментарий
Linux Safari Chrome
 Санкт-Петербург
0
0
Tupik
Для начала сделать бэкап всей флэш-памяти. Думаю, уже сделано.
Linux Ubuntu Firefox
 Санкт-Петербург
0
1
Leonid Kaganov
Каким образом?

Команда: /sbin/flashfs load 2>&1
Ответ: tar: can't open '/dev/mtd/block4': Permission denied

Команда: nvram 2>&1
Ответ: sh: nvram: Permission denied
Windows Safari Chrome
 Санкт-Петербург
0
0
Михайлов
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
для начала понять, что ты такое там есть - через бэкдор сделать whoami . По результатам и варианты
Mac Safari
 Израиль
0
0
braintunic
> через бэкдор сделать whoami

На такой урезанной системе команда “whoami” вполне может отсутствовать.
Может быть, есть команда “id”, а может и её нет.

Но зато почти наверняка установлена переменная окружения “USER” и её значение можно без проблем вытащить, например:
sh -c ‘echo $USER’
(ну или как там это делается на PHP).
Linux Ubuntu Firefox
 Санкт-Петербург
1
0
Leonid Kaganov
whoami
nobody
Linux Ubuntu Firefox
 Санкт-Петербург
0
0
Leonid Kaganov
Сделал: nobody
Увы...
Linux Safari Chrome
 Санкт-Петербург
1
0
Tupik
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Я пока не понимаю, чем это поможет получить пароль. А если вы развиваете мысль о бэкапе внутренней памяти, то развинчивание роутера и эксперименты с сервисными портами, мне думается, один из верных способов как раз ее-то и потерять.
Linux Safari Chrome
 Санкт-Петербург
2
0
Tupik
Какой вы однако Премудрый Пискарь.
Linux Firefox
 Дмитров
0
0
id59577522
Это поможет (в теории) задать командную строчку ядру средствами das uBoot, например, init=/bin/sh и получить шелл. Я, правда, не знаю, как на этих роутерах собран uBoot. Но я так понял, что шелл и так есть, так что эта суета ни к чему (или php запущен под nobody, как на взрослых машинах? -- тогда да, нужен рутовый шелл). Не совсем понятно, что же мешает тогда сказать passwd и средствами прошивки от Олега (например) потом поменять пароль навсегда (или просто отредактировать /etc/passwd, если passwd завезти забыли). Кстати, прошивка от Asus -- это в некотором роде прошивка от Олега. Ещё непонятно, чем же сброс к заводским настройкам противоречит прошивке от Олега.
Linux Safari Chrome
 Москва
0
0
О.Чехонь (#7206007)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Как писал классик: "Мой пароль - fobos5, и он меня еще никогда не подводил!"
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Пробовал конечно. Нет, не он.
Windows Safari Chrome
 Пермь
0
0
Greenperm (#7559522)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
через telnet тоже просит пароль?
как вариант, можно попробовать подключиться через консоль, используя usb-порт, как описано тут https://oldwiki.archive.openwrt.org/toh/asus/rt-n16
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Мне кажется, он уже давно перестал быть Asus N16.
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
А что даст usb-serial? Оно просто даст рутовую консоль что ли без вопросов? Вот прямо так просто? У него в ядре это что ли припасено на такой случай?
FreeBSD Firefox
 {#countryname}
1
0
nobody
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
> если подключиться к роутеру шнуром, то в браузере можно ввести текст, который PHP исполнит в системе как exec() и вернет результат

То есть почти консоль и даже, возможно, рутовая?

> Не помню, логинился я как root или как admin.

whoami на backdor.php
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Попробую, напишу.
Mac Safari Chrome
 Кипр
2
0
porfel (#7559558)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Можно попробовать проверить, есть ли файлик /etc/storage/authorized_keys, и если он таки есть, то на флешке в какой-нибудь init-скрипт (в /opt/etc/init.d/<что-то точно исполняемое при старте>) дописать echo 'ssh-rsa <ключик>' >> /etc/storage/authorized_keys и попытаться пролезть по ключу. Ну а там уже проще будет.
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Как запустить что-нибудь от рута при старте - это я сумею, у меня там кучи всего запускались с /opt Но вот я не уверен, настолько ли там свеж ssh чтобы поддерживать autorized keys? И папа эта нее в /ssh должна быть? В общем, спасибо, попробую.
Mac Safari
 Польша
0
0
iskra.vitaly@gmail.com (#7324698)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
authorized_keys – в $HOME/.ssh/ соответствующего пользователя т.е /root/.ssh
Mac Safari Chrome
 Mt Laurel
0
0
Антон Терехов
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Ну раз так, как насчет поменять ему пароль? Или создать нового пользователя?
https://askubuntu.com/questions/80444/how-to-set-user-passwo[...]
https://www.digitalocean.com/community/tutorials/how-to-crea[...]
Linux Safari Chrome
 Новосибирск
1
0
https://facebook.com/100004839668659
А если "John the ripper" использовать, чтобы пароль из хэша получить? (Я не настоящий сварщик, мне это только раз удавалось: получить пароль от своей виртуальной машины.)
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
У вас нет под рукой установленного? Хэш вон я вывесил. Я попробую, просто никогда не работал с ним и машинка у меня не скоростная наверно...
Linux Safari Chrome
 Белоруссия
0
0
ConnorMcLaud
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Эта тулза требует ещё /etc/shadow
Linux Safari Chrome
 Новосибирск
0
0
https://facebook.com/100004839668659
Мне говорит на файл с хэшем: "No password hashes loaded (see FAQ)".
(В FAQ ( https://www.openwall.com/john/doc/FAQ.shtml ) разные причины упоминаются: то ли нужно упомянутое ниже /etc/shadow , то ли этот формат не поддерживается, то ли ещё что-то).
Linux Firefox
 Великобритания
1
0
Michael A. Kangin
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Простенький несолёный MD5 хеш.
Если у тебя есть где-то .txt с любимыми паролями с 1873 года, попробуй сделать из каждого md5 хеш и посмотреть, не сделался ли среди прочих точно такой-же.
Mac Safari Chrome
 Cherry Hill
2
0
Ape (#7387106)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
это не настоящий hash, настоящий в /etc/shadow или /etc/master.password
Mac Safari Chrome
 Cherry Hill
0
0
Ape (#7387106)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
oops /etc/master.passwd
Linux Safari Chrome
 Санкт-Петербург
0
0
Tupik
Сейчас юзают hydra из под kali.
Онлайнового сервиса не нашёл.
Windows Firefox
 Израиль
2
0
braintunic
> Не помню, логинился я как root или как admin

Если ты дал нам весь текст /etc/passwd полностью, то ты логинился как admin.
В системе нет юзера "root", есть только юзер "admin" — и он является полноценным суперюзером (uid=0).

> Как запустить что-нибудь от рута при старте - это я сумею

Тогда (если файл /etc/passwd writable) удали пароль (очисти поле хэша пароля) у юзера "admin", например, вот так:
sed -i "s/admin:.*:0:0/admin::0:0/" /etc/passwd

Тогда ты сможешь (после ребута) залогиниться без пароля.

BTW, судя по формату файла etc/passwd, в этой системе не используется /etc/shadow
Windows Safari Chrome
 Екатеринбург
1
0
Пёх
Или сменить пароль штатным способом:

http://www.yuggoth.org/wiki/Configuration/CoreSwitching#Chan[...]
Linux Safari Chrome
 Киев
0
0
Vitaliy
Или что-то типа
echo -e "12345\n12345" | passwd admin
Хотя не уверен, что сработает, сам так никогда не делал.
Windows Safari Chrome
 Екатеринбург
1
0
Пёх
Вместо редактирования файла passwd можно попробовать сменить пароль штатным способом:

setpasswd admin mypassword
setuserpasswd admin mypassword
Mac Safari Chrome
 Нидерланды
0
0
tartaglia
Лучше не редактировать системные файлы руками — часто это и не нужно.

В обычном Линуксе могут быть полезны команды:
# добавить другого админа
useradd -o -u 0 -g 0 pahan
# задать пароль новому (или старому) админу
usermod -p 'тут_хэш_пароля' pahan

Если хэш не той длины (другой алгоритм), то может не подойти.

P.S. опять-таки, в Линуксах порой тупо достаточно "single-user mode", которую почему-то презирает lleo. Интересно, сможет ли он через свой back door выполнить "/sbin/init 1".
Windows Safari Chrome
 Москва
0
0
DarkSup
Зависит от того, какими правами обладает этот php-бэкдор. Если там права только на чтение, то маловероятно, что попытки поменять пароль приведут к каким-нибудь результатам.
Windows Safari Chrome
 Екатеринбург
0
0
Пёх
Леонид же сказал, что выполнить команду от имени root таки может.
Mac Safari Chrome
 Нижний Новгород
2
0
tartaglia
Если загрузчик пускает в меню, можно в "single-user mode" загрузиться сразу, а не падать через "/sbin/init 1". Для этого указать в строке загрузки в конце " single" (через пробел) или даже " single init=/bin/bash" (последнее я не пробовал, не надо было).

Это раньше часто было нужно, чтобы починить ext2, например. Некоторые, которые работают с Линуксом какие-то жалкие 15 лет, да еще и на юзерском уровне, этого просто не знают.

А с журналом была только файловая система "ReiserFS", для которой надо было ядро перестраивать, кажется, забыл уже, хотя баловался. Потом этого самого Райзера посадили за то, что он убил русскую жену, и проект заглох.

P.S. я не помню, не нужно ли в "single-user mode", если в нее загрузиться, перемонтировать корень r/w. Еще одна нелюбимая команда lleo:
mount -o remount,rw /
Mac Safari
 Израиль
3
0
braintunic
> с журналом была только файловая система «ReiserFS»

Нет, не только.
Как минимум с 2001 года поддерживались в Линуксе и журнальная файловая система JFS (от IBM) и журнальная файловая система XFS (от SGI).

JFS есть до сих пор, хотя не очень хорошо поддерживается.
XFS активно поддерживается до сих пор, и в некоторых аспектах превосходит EXT4.

> Потом этого самого Райзера посадили за то, что он убил русскую жену, и проект заглох

Я запомнил это судебный процесс из-за его дикой неординарности.
Ведь сначала Райзеру предложили судебную сделку — он признает вину и ему дают срок всего 3 года.
Он отказался, вину не признал — думал, что не будет доказательств, ведь тело не найдено и прямых свидетелей нет.
В результате он получил приговор в убийстве первой степени и 25 лет тюрьмы.
Только после этого он пошёл на сделку с судьёй — признал вину, рассказал подробности убийства и показал, где спрятан труп.
По условиям сделки ему это дело переквалифицировали на убийство второй степени и снизили тюремный срок до 15 лет.
Даже странно, как в Голливуде до сих пор не сняли фильм по такому шикарному сценарию ;)
Windows
 Москва
0
0
_ (ngs-govno)
> Даже странно, как в Голливуде до сих пор не сняли фильм по такому шикарному сценарию ;)

Да там до жопы таких историй, замучаешься все экранизировать.
Windows Firefox
 Richmond
2
0
Igor1970 (#6834905)
Linux Ubuntu Firefox
 Санкт-Петербург
0
0
Leonid Kaganov
После ребута не получится ничего, потому что /etc/passwd копируется из flashfs и не перезаписывается.
Windows Firefox
 Солнечногорск
0
0
Михаил (R_R)
Коллега, а разве твёрдый знак в "суперюзере" не нужен?
(Гуглил - скорее нужен, хотя в перечислении примеров именно приставки "супер-" не нашёл.)
Linux Safari Chrome
 Санкт-Петербург
3
0
Leonid Kaganov
Это уже будет суперъорфография.
Windows Safari Chrome
 Екатеринбург
0
0
Пёх
Негодный пример. Перед «о» твёрдого знака не бывает ни в каких словах.
Windows Firefox
 Великобритания
0
0
Людовик XIV
Это вы болгарам расскажите :-) Они этот твёрдый знак пихают где ни попадя. А корейцам и чукчам расскажите что нет слов, которые начинаются на "Ы". Хотя в русском да, нет слов чтобы перед "о" был твёрдый знак.
Windows Safari Chrome
 Екатеринбург
2
0
Пёх
Ещё более яркий пример: «Минюст». По всей логике родного языка должен быть твёрдый знак. Но его нет.
Linux Firefox
 Дмитров
1
0
id59577522
Прочитал комментарии. Похоже, да: php крутится под nobody, и чтобы получить рутовый шелл и сбросить пароль, есть два пути.

Мне проще было бы так: подпаяться к UART, загрузиться в init=/bin/sh (который из busybox), предварительно из backdoor.php подсмотрев /proc/cmdline на предмет разделов на флешке, затем сделать в консоли всё, что нужно. Мне представляется это самым простым и безопасным.

Но можно и так: затарить всё, что там накатано поверх прошивки от Олега (средствами backdoor.php, оно ж, наверное, прочитается; собственно, нужно, наверное, забрать только /tmp/etc), сбросить настройки в заводские, получить шелл и вернуть на место. Только не понятно: обычно пакеты ставят на внешнюю флешку, потому как внутренняя маленькая, там редко делают полноценную jffs (обычно вариации на тему squashfs), которую модифицировать средствами самого роутера (если образ не совсем крохотный) очень затруднительно -- памяти не хватит. У меня, во всяком случае, сброс к заводским настройкам в прошивке от Олега (но не на базе DD-WRT), насколько я помню, не приводил ни к каким потерям, кроме как в /tmp/etc и в переменных uBoot.

Третий способ: можно заметить, что в хэше там $1$, поэтому защиты-то нет никакой. Но это уже не на роутере, хотя бы ноутбук нужен, чтобы восстановить пароль.
Mac Safari
 Mt Laurel
0
0
Мимокрокодиллл (#6935585)
Windows Firefox
 Москва
0
0
s-68
Как вариант
nvram show | grep http_passwd
Windows Firefox
 Москва
0
0
s-68
У меня WL500GP "от Олега". lighttpd+fastcgi.
В консоли команда выдаёт то, что нужно, а php - только последнюю строку, то есть default_http_passwd :(
Но это вопрос к php и его exec. Уверен, что человек, владеющий php, эту проблему решит :)
Windows Firefox
 Fremont
1
0
Людовик XIV
nvram show | grep -e ^http_passwd

Всему вас учить надо!
Windows Safari Chrome
 Санкт-Петербург
2
0
bolshakovdmitry
https://wiki.dd-wrt.com/wiki/index.php/Hardware/ru

nvram get http_passwd - не достаточно? зачем grep
Windows Firefox
 Молдова
0
0
Людовик XIV
Можно и так. Я просто исправил изначальный ответ где применялся grep.
Windows Firefox
 Москва
2
0
s-68
echo shell_exec('nvram show | grep http_passwd');
Показало нужное.
Windows Firefox
 Санкт-Петербург
1
0
den_x2 (#6271856)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
а бэкап конфига можно сделать? Раньше в бэкапе пароль лежал в plain виде :)
Windows Firefox
 Санкт-Петербург
0
0
uswer (#6754966)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
в libssh недавно нашли дыру, которая давала логиниться без пароля.
Если в этой прошивке сервер на libssh, можно попробовать это использовать.
https://www.linux.org.ru/news/security/14539525
Linux Firefox
 Азербайджан
0
0
morra (#7410734)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
А на /opt какая файловая система?
если какая-то из юниксовых, можно там суидный шелл записать
но если fat/ntfs — такой фокус не пройдёт
Windows Firefox
 Москва
3
0
vctor
В итоге мне написал бывший владелец роутера и напомнил пароль :)

Полезный опыт. Пригодится для владельцев подержанных автомобилей или перекупленных квартир (разводку сетей в стенах помнит только бывший хозяин).
Ещё можно пофантазировать про женщин, ранее бывших замужем.
Linux Safari Chrome
 Toronto
0
0
stimur
заморочился с hashcat и John the ripper
оба ругаются на хэш
Он и вправду странный, вроде показывается как MD5 ($1$ в начале), но без соли и короткий для MD5.

Есть ли другие файлы рядом? /etc/shadow и/или /etc/master.passwd
Linux Safari Chrome
 Санкт-Петербург
0
0
Leonid Kaganov
Не, нету. Но я уже вспомнил пароль.
Windows Safari Chrome
 Санкт-Петербург
0
0
Михайлов
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Именно _вспомнил_ ? Очень хорошо, если он был не terra3 .
Почему-то утром он мне приснился в качестве ответа на вопрос, положенный ещё тогда в подкорку.

всего комментариев: 64

<< предыдущая заметка следующая заметка >>