kernel 2.6.18 提权漏洞

2011年4月13日 | 标签:

centos5版本的内核默认是2.6.18,普通用户通过运行kernels这个脚本,可以直接提升至root权限。

距离上次编译升级内核已经有2年了,手生了,练练手。

升级到2.6.27
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.tar.gz
tar zxvf linux-2.6.27.tar.gz -C /usr/src
cd /usr/src/linux-2.6.27
make menuconfig
make
make modules_install

cp arch/x86_64/boot/bzImage  /boot/vmlinuz-2.6.27-root

cp System.map /boot/System.map-2.6.27-root

#mkinitrd /boot/initrd-2.6.27-root.img 2.6.27

在执行这命令的时候会报错:No module dm-mem-cache found for kernel 2.6.27,aborting

表明该版本的mkinitrd有bug。

解决方法就是在使用mkinitrd时,使用-without-dmraid这个参数

mkinitrd /boot/initrd-2.6.27-root.img 2.6.27 -without-dmraid

vi /etc/grub.conf

title CentOS (2.6.27)
root (hd0,0)
kernel /vmlinuz-2.6.27-root ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.27-root.img

 

最后重启系统就OK了。

 

这里需要注意的是(hd0,0) 假如这里写错的话在重启系统会显示:error 22 no such partition

等有时间了再升级到内核的最新版本。跟27版本好像还有很大的差别。

 

在版本27下再用普通用户执行刚才的脚本,已经不起作用了。

OK,测试完毕~

目前还没有任何评论.