新型 LS-GL にハックキット(1)root で telnet 可能に

LS-GL

ま、ファームが旧型と同じだし、 新型 LS-GL も旧形と同じ手順でハックキットがインストールできるとは思うが、 念のために検証しておく。

まずは、root で telnet 可能にする。

LS-GL の HDD を取り出す

LS-GL のフロントパネル下のネジはずして、
フロントパネルはずして、
サブボードに刺さっている電源ケーブルはずして、
サブボードをとめているネジはずして、
サブボードごと HDD を引っ張り出して、
サブボードと HDD をとめているネジはずして、
サブボードから HDD をはずす。

LS-GL の HDD を玄箱/Pro に SATA で接続

今回は、LS-GL の HDD を玄箱/Pro に SATA で接続して 中身を書き換える。

玄箱/Pro のフロントパネル裏の SATA に LS-GL の HDD を接続、 HDD は別途電源を接続し、玄箱/Pro の電源を入れる。
左:LS-GL。サブボード、HDD 等が抜いてある。
中:玄箱/Pro。SATA コネクタに LS-GL の HDD を接続している。
右:LS-GL の HDD。上に乗っているのは電源。

玄箱/Pro にログイン、root になる

玄箱/Pro に telnet してログイン、root になる
Debian GNU/Linux 4.0
kup login: yasunari
Password:
Last login: Sat Jan 19 14:15:59 2008 from uxl.yamasita.jp on pts/0
Linux kup 2.6.12.6-arm1 #27 Tue Apr 10 22:47:16 JST 2007 armv5tejl

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
yasunari@kup:~$ su - root
Password:
kup:~#

LS-GL の HDD を認識しているか確認

dmesg で LS-GL の HDD を認識しているか確認する。
kup:~# dmesg | less
	:
	:
scsi0 : Marvell SCSI to SATA adapter
scsi1 : Marvell SCSI to SATA adapter
  Vendor: Seagate   Model: ST3120026AS       Rev: 3.18
  Type:   Direct-Access                      ANSI SCSI revision: 03
  Vendor: SAMSUNG   Model: HD321KJ           Rev: CP10
  Type:   Direct-Access                      ANSI SCSI revision: 03
SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3 sda4
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sdb: 625142448 512-byte hdwr sectors (320073 MB)
SCSI device sdb: drive cache: write back
SCSI device sdb: 625142448 512-byte hdwr sectors (320073 MB)
SCSI device sdb: drive cache: write back
 sdb: sdb1 sdb2 sdb4 < sdb5 sdb6 >
Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,  type 0
Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0,  type 0
	:
	:
sdb と認識している。

LS-GL の HDD のマウント

マウントポイントとして/tmp/root を作成し、
/ パーティション(/dev/sdb2)をマウントする。
kup:~# mkdir /tmp/root
kup:~# mount /dev/sdb2 /tmp/root
kup:~# ls /tmp/root
bin  boot  dev  etc  home  lib  lost+found  mnt  proc  root  sbin  share  sys  tmp  usr  var  www
kup:~#

telnetd が起動するようにする

telnetd の確認

まずは、telnetd があるか確認する。
kup:~# cd /tmp/root
kup:/tmp/root# ls -l usr/sbin/telnetd
lrwxrwxrwx 1 root root 17 Nov  6 16:07 usr/sbin/telnetd -> ../../bin/busybox
kup:/tmp/root#
このように、usr/sbin/telnetd が ../../bin/busybox に シンボリックリンクされていれば OK

etc/init.d/rcS のバックアップ

念のためバックアップしておく。
mv でリネームしてからコピーしているのは、 オリジナルのタイムスタンプやオーナ、モードを保存するため。
kup:/tmp/root# cd etc/init.d/
kup:/tmp/root/etc/init.d# mv rcS rcS.orig
kup:/tmp/root/etc/init.d# cp rcS.orig rcS
kup:/tmp/root/etc/init.d# ls -l rcS*
-rwxr-xr-x 1 root root 977 Jan 19 14:43 rcS
-rwxr-xr-x 1 root root 977 Oct 11 21:32 rcS.orig
kup:/tmp/root/etc/init.d#
ls -l で見て、パーミッション(-rwxr-xr-x)、 オーナ(root)、グループ(root)が同じであれば、OK

etc/init.d/rcS の編集

最近のファームウェアには telnetd 起動ステップは コメントアウトされていないので、 telnetd 起動ステップを追加する。
kup:/tmp/root/etc/init.d# vi rcS
	:
	:
echo "** step2 **"
for cmd in networking.sh syslog.sh inetd.sh kernelmon.sh miconmon.sh mount_share.sh diskmon.sh errormon.sh hotplug.sh
ups
do
        exec_sh $cmd
done

/usr/sbin/telnetd
#
echo "** step3 **"
for cmd in micon_setup.sh atalk.sh ftpd.sh httpd.sh smb.sh clientUtil_servd.sh lsprcvd.sh daemonwatch.sh cron.sh logch
kd.sh checkconfig.sh
do
        exec_sh $cmd
done
下線部を追加する。

root のパスワードをつぶす

標準ファームの root のパスワードはわかっていないので、 ファイルを編集して消してしまう。

/etc/shadow のバックアップ

同じく念のためバックアップを取る。
kup:/tmp/root/etc/init.d# cd ..
kup:/tmp/root/etc# mv shadow shadow.orig
kup:/tmp/root/etc# cp shadow.orig shadow
kup:/tmp/root/etc# ls -l shadow*
-r-------- 1 root root 370 Jan 19 14:51 shadow
-r-------- 1 root root 370 Oct 11 21:32 shadow.orig
kup:/tmp/root/etc#

暗号化されたバスワードを消す

kup:/tmp/root/etc# vi shadow
	:
	:
root:(暗号化されたパスワード):11009:0:99999:7:::
この暗号化されたパスワードを消し、
root::11009:0:99999:7:::
と変更する。

このファイルは read only のファイルなので、
vi で :wq としても

E45: 'readonly' option is set (add ! to override)
と怒られ、保存できない。
:w!
:q
として、保存、終了する。

LS-GL の HDD のアンマウント

シャットダウンするので、アンマウント不要といえば不要だが、 作法として(?)アンマウントしておく。

カレントディレクトリが /tmp/root 以下、 つまりマウントした LS-GL の HDD の中であれば アンマウントできないので、 外(ここでは /)に出てからアンマウントする。

kup:/tmp/root/etc# cd /
kup:/# umount /tmp/root
kup:/#

玄箱/Pro からログアウト

玄箱/Pro をシャットダウン

電源ボタン長押しでシャットダウンする。

LS-GL の HDD を LS-GL に戻す

逆の手順で、HDD を戻す。

LS-GL の電源 ON

LS-GL に telnet


BUFFALO INC. LinkStation series LS-GL(IESADA)
LS-GL530 login: root
root@LS-GL530:~#
It's easy.

LS-160GL
楽天市場
Amazon
Yahoo!ショッピング
ソフマップ
ツクモネットショプ
livedoor デパート
ドスパラ


新型 LS-GL(7)ネットワークの仲間入り
ハックの記録
LinkStation/玄箱 をハックしよう

新型 LS-GL にハックキット(2)インストール

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