LinkStation v2.30改造の記録

[ホーム][戻る][次へ] 08 by A.Sato


■Telnetサーバを入れる

http://www.geishuettner.de/docs/Linkstation/ の[hacking how-to] に従ってutelnetdをインストールします。

# mount -t ext3 /dev/sda1 /mnt/usbhdd1
# cp /root/tool/utelnetd /mnt/usbhdd1/sbin あらかじめダウンロードした utelnetd を/sbinに入れます
# chmod 777 /mnt/usbhdd1/sbin/utelnetd 実行できるようにします
# cd /mnt/usbhdd1/etc/init.d
# cp networking telnet

エディタでtelnetファイルの中身を次のように変更して保存します。

/mnt/usbhdd1/etc/init.d/telnet
----------------------------------------
#!/bin/sh

/sbin/utelnetd -l /bin/bash &

exit 0;
----------------------------------------

ランレベル2でtelnetが起動するようにします
# cd /mnt/usbhdd1/etc/rc.d/rc2.d 
# ln -s ../../init.d/telnet S05telnet

rootのパスワードを削除
cd /mnt/usbhdd1/etc
cp shadow shadow.org
エディタで shadow の rootのエントリを削除

root:&password&:0:0〜を root::0:0〜にすればよい。
      ↑暗号化されたパスワード。マシンにより文字列は異なる。
これをやらないとTelnetで rootログインが出来ないので注意。

HDDをもとのLinkStationに戻す

Windows(XP,Vista)のスタート、すべてのプログラム、アクセサリ、コマンド プロンプト か
Windows(XP,Vista)のスタート、すべてのプログラム、アクセサリ、通信、ハイパーターミナル
などでTelnetしてみる。

telnet 192.168.123.123 とWindowsマシンからLinkStationに接続して

bash-2.05a# cat /proc/version
Linux version 2.4.20_mipsel_linkstation (root@yabutar) (gcc version 3.3.1 (Monta
Vista 3.3.1-7.0.5.0401497 2004-10-27)) #3 Thu Apr 20 14:38:55 JST 2006
bash-2.05a#


Linuxのコマンド集
http://homepage2.nifty.com/cs/linux_command/command/index.html


●おまけ(実験程度にしましょう)
utelnetdをいれずにCGIでコマンドを送れるようにします。
これは、セキュリティー上問題があるので、テストとして行うなら良いかもしれませんがやらない方がいいです。

files.zip(1366KB)に入っているexec.plを/www/cgi-binの中に入れてそれをWindows(XP,Vista)のwebブラウザから実行します。

exec.plが/root/toolにコピーされているとします
mount -t ext3 /dev/sda1 /mnt/usbhdd1
# cd /mnt/usbhdd1/www/cgi-bin
# cp /root/tool/exec.pl /mnt/usbhdd1/www/cgi-bin

LinkStationを動かした状態で、Windows(XP,Vista)のMSIEのブラウザから
http://192.168.123.123/cgi-bin/exit.pl?cmd=?ls /
とすると ls / の結果が表示されます。

exec.pl
--------------------------------------------------------
#! /usr/bin/perl

print "Content-type: text/html\n\n";

print "<html><body><code>\n";

my( $dummy, $cmd ) = split( "=", $ENV{"QUERY_STRING"} );
$cmd =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg;
# borrowed from http://support.internetconnection.net/CODE_LIBRARY/Perl_URL_Encode_and_Decode.shtml

print "executing command: '" . $cmd . "'\n";
print `$cmd`;

print "</code></body></html>\n";
---------------------------------------------------------


[ホーム][戻る][次へ] 08 by A.Sato