linux-CVE-2021-3156 提权和修复

linux-CVE-2021-3156 提权和修复

1、漏洞验证

2、漏洞利用

3、漏洞修复

修复有点坑

(1)换了源,直接apt

apt-get undate

apt-get ungrade

直接:sudo apt-get install --only-upgrade sudo

不行,

(2)官网下deb

sudo dpkg -i sudo-ldap_1.9.5-3_ubu1804_amd64.deb

也不行,大概意思sudo删了你就没法用了,你要先设置密码

deb包还要编译什么的,不太会没弄过,


(3)官网下载tar的包

sudo-1.9.5p2.tar.gz

下载后按这里步骤,编译安装

https://www.cnblogs.com/zhaichao93/p/14360257.html

tar -zxvf sudo-1.9.6.tar.gz

配置:

cd sudo-1.9.6

./configure

--prefix=/usr --libexecdir=/usr/lib --with-secure-path

--with-all-insults --with-env-editor --docdir=/usr/share/doc/sudo-1.9.6

--with-passprompt="[sudo] password for %p: "

编译:make && make install

加软连接:ln -sfv libsudo_util.so.0.0.0 /usr/lib/sudo/libsudo_util.so.0


完成

4、漏洞检测

但是!漏洞检测还能检测出来,为什么呢?


 因为旧的用的是dpkg  deb的包,新的不是用的dpkg,而是直接tar解压后编译的,没有覆盖,所以扫描的是旧的包版本,

扫到了旧的版本,但实际用的新版本就没有漏洞。


如图 dpkg -l | grep 'sudo'


 需要吧旧的删掉,但是需要留一个root的shell,因为删掉就没有sudo了


比如这样……


删掉dpkg, dpkg -r sudo旧包全称

然后这时候没有sudo,

用root shell

重新cd sudo-1.9.6 按照上面进行编译再来一遍

完成。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容