LD-WBBR/Bの完全侵入
戻る
httpd
httpd が root 権限で動いていることに目をつけて、なんとかそれを利用して
root 権限を得ることができないか、考えてみた。しかし、cgi ファイルは tsap.cgi と
いう1つの cgi ファイルしかなく、全ての cgi はその tsap.cgi にシンボリックリンクを
張っている。 cgi ファイルなどの、httpd が使用するファイルがおいてある
ディレクトリは、パーミッションがちゃんと設定してあるので、書き込むことはできない。
うまく利用できないか、さらに考えてみた。
隠しページ
http://192.168.0.74/../ など、ありがちなことをやってみたけど駄目。あとは、
ファームの解析ページにも書いたように、隠しページが利用できないか考えてみた。
しかし、idebug.cgi などの隠しページをいじってみたが、うまく使えなさそうで
ある。その中で、1つ気になった隠しページがあった。 iptables.cgi というページで
ある。
iptables.cgi という cgi は、 iptables 関係のコマンドを実行できるページなので
あるが、デフォルトでは
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
という状態になっている。このページで保存ボタンを押すと、実行されるようであり、
コマンドをそのまま投げている感じである。試しに
/bin/echo "test" > /tmp/hoge
というコマンドを最後に追加すると、なんと /tmp にファイルができてしまった。
それも root 権限で実行されたようなので、ここぞとばかりに
/bin/echo "toyota:5slbvHxcCaJ8U:11171:0:99999:7:::" >> /etc/shadow
/bin/echo "toyota:x:0:0::/home:/bin/sh" >> /etc/passwd
とやってみた(hash は test というパスワードの例である)。 tsubota ユーザで
ログインしていたので、早速確認してみたら、shadow は確認できなかったが、
passwd にはちゃんと追記されていたのである。で telnet よりログインしてみた。
なぁんと、root 権限をもった toyota ユーザで問題なくログインできて、やりたい
放題になった。侵入完了である。
ネットワーク
しかし、どうやってネットワーク越しにファイルのやり取りをすれば良いのか、と
ちょっと考えてしまった。/etc/init.d/rc.local を見て、ひらめいた。nfs が使える。
早速、 nfs で mount して、ファイルのコピーなどを行った。環境設定としては、
まだまだ、だけど。これで当分遊ぶことができる。
|