中の様子を探る(5)EM モードに telnet

LS-LGL

initrd の中の /linuxrc から telnetd が動かせたので、 /etc/shadow にある root のパスワードをつぶし、 ログイン可能まで持っていこうとしたが、 /etc/shadow がどこかで上書きされ、root でログインできなかった。
ブートシーケンスを見る。

HDD のマウント

玄箱/Pro に SATA で接続。いつも通り /tmp/boot にマウントする。
kup:~# mkdir /tmp/boot
kup:~# mount /dev/sdb1 /tmp/boot
kup:~#

玄箱/Pro に initrd をコピー

何度も initrd を作り直すことになりそうなので、 initrd を玄箱/Pro にコピーしておく。
kup:~# cd /mnt
kup:/mnt# mkdir ls-lgl
kup:/mnt# cd ls-lgl
kup:/mnt/ls-lgl# mkdir boot
kup:/mnt/ls-lgl# cd boot
kup:/mnt/ls-lgl/boot# cp /tmp/boot/initrd.gz .
kup:/mnt/ls-lgl/boot# 

initrd のマウント

kup:/mnt/ls-lgl/boot# gunzip initrd.gz
kup:/mnt/ls-lgl/boot# mkdir /tmp/root
kup:/mnt/ls-lgl/boot# mount -o loop initrd /tmp/root
kup:/mnt/ls-lgl/boot#

/etc/shadow はどこで書き換えている?

initrd の linuxrc を一通り眺めたが、 /etc/shadow を書き換えている様子はない。

ヒョッとして、linuxrc を出て /etc/init.d/rcS の中?
そんな処理を確か見たような気がする。

ごそごそ。

/etc/init.d/rcS → /etc/init.d/restore_config.sh → /usr/local/bin/libbuffalo の restore_config() で、 /boot/conf_save.tgz を展開している。
/boot/conf_save.tgz には、

kup:/tmp/boot# tar ztvf conf_save.tgz | grep shadow
-rw-r--r-- root/root       371 2007-10-26 10:11 etc/shadow.orig
tar: Archive octal value 37777777777 is out of time_t range; assuming two's complement
-rw-r--r-- root/root       345 2007-11-24 00:36 etc/shadow
-r-------- root/root       154 2007-08-03 09:17 etc/gshadow
	:
	:
-rw-r--r-- root/root       304 2006-12-20 23:46 etc/pam.d/shadow
	:
	:
kup:/tmp/boot#
と /etc/shadow が含まれている。

ということは、、、、
・HDD の /etc/init.d/rcS は実行されていない。
・initrd の /etc/init.d/rcS が実行されている。
ということ?

conf_save.tgz 内の etc/shadow の root パスワードをつぶす

conf_save.tgz の展開

kup:/tmp/boot# mkdir /tmp/conf
kup:/tmp/boot# cd /tmp/conf
kup:/tmp/conf# tar zxvf /tmp/boot/conf_save.tgz
	:
	:

etc/shadow の root パスワードをつぶす

kup:/tmp/conf# vi etc/shadow
と思ったら、
root::11009:0:99999:7:::
	:
	:
既にパスワードはなかった。

ヒョッとして、2回目だとパスワードを聞いてこない?

ブートする

HDD を LS-LGL に接続して boot する。

telnet する


BUFFALO INC. LinkStation series LS-LGL(SUIZEI)
LS-LGL-EMFF7 login: root


BusyBox v1.2.2 (2006.12.26-08:28+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ #
なぁんや。2回目やったらログインできるやん
~ # uname -a
Linux LS-LGL-EMFF7 2.6.12.6-arm1 #1 Sun Dec 16 17:40:14 JST 2007 armv5tejl unknown
~ #
コンパイルしたカーネルが動いていることは確認できた。

LS-L250GL
楽天市場
Amazon
Yahoo! ショッピング
Sofmap
TSUKUMO ネットショップ
ValuMore!
ムラウチドットコム
uWorks
パソQ


中の様子を探る(4)root のパスワードをつぶす
ハックの記録
LinkStation/玄箱 をハックしよう

中の様子を探る(6)なぜ HDD Boot にならないのか

Copyright (C) 2003-2007 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市