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