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 按照上面进行编译再来一遍
完成。

 

 

 

 

posted @ 2021-04-30 11:04  悠闲wyc  阅读(610)  评论(0)    收藏  举报