RamRoot で立ち上がる initrd の作成スクリプト

LS-WSGL/R1

標準ファームで動作する mkimage ができたので、 スクリプトを修正する。
あわせて、忘れていた telnetd の起動と、
もう一つ root のパスワードの消去も追加する。

スクリプト化

initrd のマウント

cd /boot
dd if=initrd.buffalo of=initrd.gz bs=64 skip=1
gunzip initrd.gz
for minor in 0 1 2 3 4 5 6 7 8 9
do
	if [ ! -e /dev/loop$minor ]
	then
        	mknod /dev/loop$minor b 7 $minor
	fi
done

mkdir /tmp/root
mount -o loop initrd /tmp/root

/linuxrc の修正

telnetd は
RamdiskRoot()
{
        echo "-RamdiskRoot-"
        echo "0x100" >/proc/sys/kernel/real-root-dev
}
この辺で起動すれば良さそう。
cd /tmp/root
mv linuxrc linuxrc.orig
sed -e 's/^ANSWER=.*$/ANSWER=1/' -e '/-RamdiskRoot-/a/usr/sbin/telnetd' linuxrc.orig > linuxrc
chmod 700 linuxrc

root のパスワードを消す

cd /tmp/root/etc
mv shadow shadow.orig
sed -e 's/^root:[^:][^:]*:\(.*\)$/root::\1/' shadow.orig > shadow
chmod 400 shadow
こんなところか。

initrd の再構成

mkimage は、/mnt/disk1/hackkit におくことにする。
cd /boot
umount /tmp/root
gzip initrd
# mv initrd.buffalo initrd.buffalo.orig
/mnt/disk1/hackkit/mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d initrd.gz initrd.buffalo

スクリプトの実行

root@LS-WSGL678:/mnt/disk1/hackkit# sh LS-WSGL_hackkit_step1_0.00.sh
87438+1 records in
87438+1 records out
/sbin/hotplug [block]
/sbin/hotplug [block]
Image Name:   initrd
Created:      Mon Oct 27 21:59:10 2008
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    5598412 Bytes = 5467.20 kB = 5.34 MB
Load Address: 0x00000000
Entry Point:  0x00000000
root@LS-WSGL678:/mnt/disk1/hackkit#
とりあえず、何もエラーは出ていない。

再起動

再起動する。
RamRoot で立ち上がってきて、
telnet して root でパスワード無しにログイン可能なはず。
yasunari@sil:~$ telnet mini
Trying 192.168.2.45...
Connected to mini.
Escape character is '^]'.

BUFFALO INC. LinkStation series
LS-WSGL-EM678 login: root


BusyBox v1.1.1 (2008.07.15-06:14+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

#
awesome !

LinkStation Mini
LS-WSGL
楽天市場
Amazon
Yahoo!ショッピング
Livedoor デパート
Sofmap
TSUKUMO ネットショップ
ムラウチドットコム
ヤマダ電機WEB
パソQ


標準ファームで動作する mkimage
ハックの記録
LinkStation/玄箱 をハックしよう

またまたセキュリティホール

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