中の様子を探る(4)root のパスワードをつぶす

LS-LGL

initrd の中の /linuxrc から telnetd が動かせたので、 次は root のパスワードをつぶし、ログイン可能まで持っていく。

玄箱/Pro を使う

LS-LGL 用に使っている実験用 HDD は IDE の HDD で、
LS-LGL に接続するには IDE HDD を S-ATA で接続するためのアダプタを、
LS-GL に接続するには IDE HDD を USB で接続するためのアダプタ
使用していた。

良く考えれば、 玄箱/Pro にはフロントパネル裏に SATA のコネクタがあるので、 玄箱/Pro をホストに使えば、 ケーブルのつなぎ替えだけで良いことに気が付いた。
遅すぎ。

HDD のマウント

玄箱/Pro に SATA で接続。/tmp/boot にマウントする。
kup:~# less /var/log/messages
	:
	:
Dec 27 21:50:38 kup kernel: SCSI device sdb: 20005650 512-byte hdwr sectors (10243 MB)
Dec 27 21:50:38 kup kernel: SCSI device sdb: drive cache: write back
Dec 27 21:50:38 kup kernel: SCSI device sdb: 20005650 512-byte hdwr sectors (10243 MB)
Dec 27 21:50:38 kup kernel: SCSI device sdb: drive cache: write back
Dec 27 21:50:38 kup kernel:  sdb: sdb1 sdb2 sdb4 < sdb5 sdb6 >
Dec 27 21:50:38 kup kernel: Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0
	:
	:
kup:~# mkdir /tmp/boot
kup:~# mount /dev/sdb1 /tmp/boot
kup:~# cd /tmp/boot
kup:/tmp/boot# ls
conf_save.tgz  initrd.buffalo       initrd.gz   patch.buffalo.zip  uImage.buffalo
hack           initrd.buffalo.orig  lost+found  u-boot.buffalo     uImage.buffalo.orig
kup:/tmp/boot#

initrd のマウント

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

root のパスワードはどこに?

kup:/tmp/boot# cd /tmp/root/etc/
kup:/tmp/root/etc# grep root passwd
root:x:0:0:root:/root:/bin/sh
kup:/tmp/root/etc# grep root shadow
root:(暗号化されたパスワード):11009:0:99999:7:::
kup:/tmp/root/etc#
シャドーパスワード化され、/etc/shadow にあるようだ。

root のパスワードをつぶす

kup:/tmp/root/etc# mv shadow shadow.orig
kup:/tmp/root/etc# cp shadow.orig shadow
kup:/tmp/root/etc# vi shadow
	:
kup:/tmp/root/etc# ls -l shadow*
-r-------- 1 root root 354 Dec 27 22:05 shadow
-r-------- 1 root root 380 Nov 12 15:44 shadow.orig
kup:/tmp/root/etc# diff shadow.orig shadow
1c1
< root:(暗号化されたパスワード):11009:0:99999:7:::
---
> root::11009:0:99999:7:::
kup:/tmp/root/etc#
初期化シーケンスで上書きされないことを祈りつつ。

initrd.buffalo を作る

先日と同じ
kup:/tmp/root/etc# cd /
kup:/# umount /tmp/root
kup:/# cd /tmp/boot
kup:/tmp/boot# gzip initrd
kup:/tmp/boot# mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d initrd.gz initrd.bu
ffalo
Image Name:   initrd
Created:      Thu Dec 27 22:07:11 2007
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    1486628 Bytes = 1451.79 kB = 1.42 MB
Load Address: 0x00000000
Entry Point:  0x00000000
kup:/tmp/boot# ls -l initrd.buffalo*
-rw-r--r-- 1 root root 1486692 Dec 27 22:07 initrd.buffalo
-rw-r--r-- 1 root root 1477002 Nov 13 11:16 initrd.buffalo.orig
kup:/tmp/boot# cd /
kup:/# umount /tmp/boot
kup:/#

ブートする

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

telnet する

BUFFALO INC. LinkStation series LS-LGL(SUIZEI)
LS-LGL-EMFF7 login: root
Password:
Login incorrect
LS-LGL-EMFF7 login:
やっぱり。。。。
ブートシーケンスのどこかで shadow が上書きされているようだ。

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


中の様子を探る(3)
ハックの記録
LinkStation/玄箱 をハックしよう

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

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