まっさらにする

LS-XHL

セキュリティホールをまっさらな状態から確認してみる。
ようやく最後の LS-XHL

まっさらな状態にするには

まっさらな状態にするには、
パーティションを削除して
tftpboot して、
ファームウェアアップデート
する。

uImage.buffalo, uboot.buffalo の吸出し

まずは、tftpboot するために、標準ファームで起動し、 /boot にある uImage.buffalo, uboot.buffalo を tftp サーバである旧型 LS-GL の /srv/tftp に ftp で put する。

標準ファームで起動

標準ファームで起動

標準ファームにログイン


BUFFALO INC. LinkStation series

LS-XHLA1F login: root
No mail.
root@LS-XHLA1F:~#

ftp コマンドの確認

root@LS-XHLA1F:~# which ftp
/usr/local/bin/ftp
root@LS-XHLA1F:~#
LS-XHL にも ftp コマンドがあった。
ないのは、LS-WSGL だけ?

ftp put

ftp で put する。
root@LS-XHLA1F:~# cd /boot
root@LS-XHLA1F:/boot# ftp ude.yamasita.jp
Connected to ude.yamasita.jp.
220 ude FTP server (GNU inetutils 1.5) ready.
500 'AUTH GSSAPI': command not understood.
500 'AUTH KERBEROS_V4': command not understood.
KERBEROS_V4 rejected as an authentication type
Name (ude.yamasita.jp:root): yasunari
331 Password required for yasunari.
Password:
230- Linux ude 2.6.16.16-arm1 #37 Tue May 20 10:01:57 JST 2008 armv5tejl
230-
230- The programs included with the Debian GNU/Linux system are free software;
230- the exact distribution terms for each program are described in the
230- individual files in /usr/share/doc/*/copyright.
230-
230- Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
230- permitted by applicable law.
230 User yasunari logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /srv/tftp
250 CWD command successful.
ftp> ls
200 PORT command sucessful.
150 Opening ASCII mode data connection for '/bin/ls'.
total 8952
drwxr-s--- 2 root      48 Mar 22 10:12 HS-DHGL_1.20
drwxrwxr-x 2 root      48 Jan 24 09:31 LS-CL+HackKit
drwxr-sr-x 2 root      48 Mar 23 17:44 LS-CL_1.07
drwxrwxr-x 2 root      48 Mar 20 14:32 LS-GL_1.15
drwxr-sr-x 2 root      48 Mar 23 14:22 LS-HGL_1.07b
drwxr-sr-x 2 root      48 Mar 23 13:31 LS-LGL_2.01
drwxrwxr-x 2 root      48 Feb 20 12:00 LS-QL_1.05+telnet
drwxr-s--- 2 root      48 Mar 27 15:25 LS-QL_1.07b
drwxr-sr-x 2 root      48 Mar 25 21:04 LS-WSGL_1.06
drwxrwxr-x 2 root      48 Jan 24 18:00 LS-XHL_1.02
drwxrwxr-x 2 root      64 Jan 24 22:17 LS-XHL_1.02+telnet
-rw-rw-r-- 2 root 7048407 Mar 27 15:24 initrd.buffalo
-rw-rw-r-- 2 root 2115640 Mar 27 15:25 uImage.buffalo
226 Transfer complete.
ftp> mkdir LS-XHL_1.04b
257 (unknown absolute name) new directory created.
ftp> cd LS-XHL_1.04b
250 CWD command successful.
ftp> !ls
conf_save.tgz                   u-boot.buffalo
hddrootfs.buffalo.updated.done  uImage.buffalo
initrd.buffalo
ftp> bin
200 Type set to I.
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> put uImage.buffalo
local: uImage.buffalo remote: uImage.buffalo
200 PORT command sucessful.
150 Opening BINARY mode data connection for 'uImage.buffalo'.
############################################(略)
226 Transfer complete.
2087876 bytes sent in 0.14 seconds (1.4e+04 Kbytes/s)
ftp> put initrd.buffalo
local: initrd.buffalo remote: initrd.buffalo
200 PORT command sucessful.
150 Opening BINARY mode data connection for 'initrd.buffalo'.
############################################(略)
226 Transfer complete.
8511467 bytes sent in 0.59 seconds (1.4e+04 Kbytes/s)
ftp> bye
221 Goodbye.

root@LS-XHLA1F:/boot#

LS-XHL をシャットダウン

tftp サーバの準備

tftp サーバである旧型 LS-GL で tftpboot できるよう準備する。

モードの確認

ude:/srv/tftp# cd LS-XHL_1.04b/
ude:/srv/tftp/LS-XHL_1.04b# ls -l
total 10352
-rw-r----- 1 yasunari root 8511467 Mar 27 16:11 initrd.buffalo
-rw-r----- 1 yasunari root 2087876 Mar 27 16:11 uImage.buffalo
ude:/srv/tftp/LS-XHL_1.04b#
モードを変更する。
ude:/srv/tftp/LS-XHL_1.04b# chmod 664 *
ude:/srv/tftp/LS-XHL_1.04b#

リンク

LS-XHL 用にリンクを張りなおす。
ude:/srv/tftp/LS-XHL_1.04b# cd ..
ude:/srv/tftp# ls -l
total 8952
drwxr-s--- 2 yasunari root      48 Mar 22 10:12 HS-DHGL_1.20
drwxrwxr-x 2 root     root      48 Jan 24 09:31 LS-CL+HackKit
drwxr-sr-x 2 root     root      48 Mar 23 17:44 LS-CL_1.07
drwxrwxr-x 2 yasunari root      48 Mar 20 14:32 LS-GL_1.15
drwxr-sr-x 2 root     root      48 Mar 23 14:22 LS-HGL_1.07b
drwxr-sr-x 2 root     root      48 Mar 23 13:31 LS-LGL_2.01
drwxrwxr-x 2 root     root      48 Feb 20 12:00 LS-QL_1.05+telnet
drwxr-s--- 2 yasunari root      48 Mar 27 15:25 LS-QL_1.07b
drwxr-sr-x 2 yasunari root      48 Mar 25 21:04 LS-WSGL_1.06
drwxrwxr-x 2 root     root      48 Jan 24 18:00 LS-XHL_1.02
drwxrwxr-x 2 root     root      64 Jan 24 22:17 LS-XHL_1.02+telnet
drwxr-s--- 2 yasunari root      48 Mar 27 16:11 LS-XHL_1.04b
-rw-rw-r-- 2 yasunari root 7048407 Mar 27 15:24 initrd.buffalo
-rw-rw-r-- 2 yasunari root 2115640 Mar 27 15:25 uImage.buffalo
ude:/srv/tftp# rm initrd.buffalo uImage.buffalo
ude:/srv/tftp# ln LS-XHL_1.04b/* .
ude:/srv/tftp# ls -l
total 10352
drwxr-s--- 2 yasunari root      48 Mar 22 10:12 HS-DHGL_1.20
drwxrwxr-x 2 root     root      48 Jan 24 09:31 LS-CL+HackKit
drwxr-sr-x 2 root     root      48 Mar 23 17:44 LS-CL_1.07
drwxrwxr-x 2 yasunari root      48 Mar 20 14:32 LS-GL_1.15
drwxr-sr-x 2 root     root      48 Mar 23 14:22 LS-HGL_1.07b
drwxr-sr-x 2 root     root      48 Mar 23 13:31 LS-LGL_2.01
drwxrwxr-x 2 root     root      48 Feb 20 12:00 LS-QL_1.05+telnet
drwxr-s--- 2 yasunari root      48 Mar 27 15:25 LS-QL_1.07b
drwxr-sr-x 2 yasunari root      48 Mar 25 21:04 LS-WSGL_1.06
drwxrwxr-x 2 root     root      48 Jan 24 18:00 LS-XHL_1.02
drwxrwxr-x 2 root     root      64 Jan 24 22:17 LS-XHL_1.02+telnet
drwxr-s--- 2 yasunari root      48 Mar 27 16:11 LS-XHL_1.04b
-rw-rw-r-- 2 yasunari root 8511467 Mar 27 16:11 initrd.buffalo
-rw-rw-r-- 2 yasunari root 2087876 Mar 27 16:11 uImage.buffalo
ude:/srv/tftp#

まっさらな HDD の用意

実験用 HDD として、今回も MAXTOR DiamondMax Plus 9 160GB を使う。

USB で接続

旧形 LS-GL に USB で接続

パーティションの削除

取り外し

USB ケーブルを抜き、HDD への電源を絶つ。

まっさらな HDD の接続

パーティションを削除した MAXTOR DiamondMax Plus 9 160GB を LS-XHL にセットする。

tftpboot

LS-XHL に AC アダプタを刺し、電源を ON にする。
シリアルコンソールがないので、どこまで進んでいるのかまったくわからない。

LED が赤く E06 を示し始めた。
func SW を押す。

tftp サーバである旧型 LS-GL のログを見ていると、、、

ude:/srv/tftp# tail -f /var/log/daemon.log
	:
	:
Mar 27 16:22:12 ude in.tftpd[864]: connect from 192.168.11.150 (192.168.11.150)
Mar 27 16:22:12 ude tftpd[865]: tftpd: trying to get file: uImage.buffalo
Mar 27 16:22:12 ude tftpd[865]: tftpd: serving file from /srv/tftp
Mar 27 16:22:13 ude in.tftpd[866]: connect from 192.168.11.150 (192.168.11.150)
Mar 27 16:22:13 ude tftpd[867]: tftpd: trying to get file: initrd.buffalo
Mar 27 16:22:13 ude tftpd[867]: tftpd: serving file from /srv/tftp
	:
	:
192.168.11.150 が uImage.buffalo と initrd.buffalo とを もって行った。

しばらくしてLED が正常(青点灯)になった。正常でええの?

DHCP サーバの HS-DHGL のログを見ると、、、

yasunari@sil:~$ tail -f /var/log/daemon.log
	:
	:
Mar 27 16:22:37 sil dhcpd: DHCPDISCOVER from 00:50:43:c1:a6:ec via eth0
Mar 27 16:22:38 sil dhcpd: DHCPOFFER on 192.168.2.200 to 00:50:43:c1:a6:ec via eth0
Mar 27 16:22:38 sil dhcpd: DHCPREQUEST for 192.168.2.200 from 00:50:43:c1:a6:ec via eth0
Mar 27 16:22:39 sil dhcpd: DHCPACK on 192.168.2.200 to 00:50:43:c1:a6:ec via eth0
	:
	:
192.168.2.200 が付いたようだ。また MAC アドレスが変わった。
なんで???。
00:50:43... ってどこの会社?

ファームウェアアップデータの実行

この間 lsxhl-104b.exe を実行したときに、 C:\Documents and Settings\yasunari\デスクトップ\lsxhl-104b に放置された LSUpdater.exe を実行、
LS-XHL-EM6EC が見つかるので、「ファームウェア更新」を実行する。
「HDD のパーティション情報が確認できませんでした・・」には「はい」
しばらくして、、、
「LS-XHL からの応答を 480 秒間待機しましたが応答がありませんでした。 もう一度待機してよろしいですか?」
と出たので、「はい」

DHCP サーバには、

Mar 27 16:35:16 sil dhcpd: DHCPDISCOVER from 00:50:43:a2:2c:2f via eth0
Mar 27 16:35:17 sil dhcpd: DHCPREQUEST for 192.168.2.219 from 00:50:43:a2:2c:2f via eth0
というログが残った。 ブラウザで http://192.168.2.219 をアクセスして見たら、 ログイン画面が出たので、もうアップデートは終わっているのだろう。

セキュリティホールの確認

クラックを試みたが、LS-XHL ファームウェア 1.04β に 当該セキュリティホールはない
Internet 上にはセキュリティホールがある旨書かれているページもあるが、 どこかの時点で修正されたのであろう。

'09/5/5 追記
LS-XHL ファームウェア 1.04β には セキュリティホールが存在します。



LS-XHL
バッファローダイレクト
楽天市場
amazon
Sofmap
ValuMore


まっさらにする
ハックの記録
LinkStation/玄箱 をハックしよう

ハードディスクドライブ(HDD)交換屋

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