logo
code:Haemophilus influenzae

ここに書かれていることは無保証です。同じことを行って問題が発生しても、 龍義は責任をとりません。

LD-WBBR/Bの解析


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 して、ファイルのコピーなどを行った。環境設定としては、 まだまだ、だけど。これで当分遊ぶことができる。

by Tatsuyoshi
since 2003