Linux提权-通配符提权总结

admin 2024年10月4日21:05:29评论32 views字数 1999阅读6分39秒阅读模式

扫码领资料

获网安教程

Linux提权-通配符提权总结

Linux提权-通配符提权总结

本文由掌控安全学院 -  yuy0ung 投稿

Track安全社区投稿~  

千元稿费!还有保底奖励~(https://bbs.zkaq.cn)

Linux提权-通配符提权总结+场景案例

最近碰到了通配符提权的概念,发现好几个命令行工具与通配符混用都有可能造成权限提升

通配符可以帮助用户提升工作效率,本身没有安全问题,但当其与潜在危险的命令结合时,就可能导致系统安全问题

chown+通配符劫持提权

chown是linux中用于更改文件或目录所有权的命令

当管理员通过chown加通配符的方式执行命令,渗透测试人员可以使用chown的--reference参数达到文件所有者劫持的效果

--ference参数的用法如下:

  1. --reference=

  2. # 更改目标文件的所有者为参考文件的所有者

接下来搭建一个场景

环境配置

以root权限进行配置

/tmp/pass目录下创建root.pass且权限为仅root可读:

  1. echo "Admin123456"> root.pass

  2. chmod 400 root.pass

Linux提权-通配符提权总结

创建一个定时任务,原本目的为每分钟将/tmp/pass目录下的.pass文件所有者更改为root:

  1. ***** root cd /tmp/pass&&/bin/chown -R root:root *.pass

Linux提权-通配符提权总结

环境配置完毕,切换用户到yuy0ung,开始利用

漏洞利用

信息收集发现存在一个以root权限使用chown更改文件所有者的定时任务,且不规范的使用了通配符*

Linux提权-通配符提权总结

根据内容发现/tmp/pass/目录下有个root.pass的密码文件,但没有权限读取:

Linux提权-通配符提权总结

这里可以尝试利用上面定时任务中不规范的命令

新建两个名为a.pass、—reference=a.pass的文件:

  1. echo > a.pass&&echo >--reference=a.pass

此时,若定时任务以root权限执行cd /tmp/pass&&/bin/chown -R root:root *.pass,由于*的存在,我们新建的文件也会被带入命令,而--reference=a.pass文件会被当作是chown命令的参数处理,那么实际上的命令就会变成:将当前目录所有.pass文件所属组改为a.pass文件的所属组

等待定时任务执行发现root.pass的所有者变成了yuy0ung:

Linux提权-通配符提权总结

接下来即可直接读取root.pass文件:

Linux提权-通配符提权总结

tar+通配符注入提权

tar是linux中常用的文件归档工具

在实际生产环境中,我们可能会通过定时任务使用tar去备份网站文件、日志文件

当定时任务中调用了tar且使用了通配符,可能导致权限提升

通配符注入主要在于--checkpoint-action--checkpoint这两个参数的利用

参数 功能
—checkpoint-action=ACTION 每隔[NUMBER]个记录显示进度信息(默认为10个)
—checkpoint[=NUMBER] 在每个检查点上执行ACTION

场景复现

以一道例题场景进行讲解:
在信息收集时发现存在user3用户的定时任务:
Linux提权-通配符提权总结

看看定时任务脚本内容:
Linux提权-通配符提权总结

这里的tar命令使用了通配符,可以考虑通配符注入进行提权

首先创建/tmp/abcd/路径:

  1. mkdir /tmp/abcd

然后创建利用文件和脚本,并赋予权限:

  1. echo '/usr/bin/cp /usr/bin/find /tmp/myfind && chmod 4777 /tmp/myfind'> exploit.sh && echo ''>'--checkpoint=1'&& echo ''>'--checkpoint-action=exec=sh exploit.sh'&& chmod 777/tmp/abcd/*

Linux提权-通配符提权总结

接下来等待定时任务执行时触发*的通配符注入,得到所有者为user3,且具有suid权限的/tmp/myfind

Linux提权-通配符提权总结

得到后即可用find进行suid提权获得user3的shell

Linux提权-通配符提权总结

直接读flag即可:

Linux提权-通配符提权总结

rsync+通配符注入提权

rsync是一个用于在两台计算机之间同步文件的命令行工具

同理,不合理使用*也可能导致权限提升

直接开始环境复现:

环境搭建

root身份创建一个/tmp/bak

写一个定时任务:

Linux提权-通配符提权总结

切换到yuy0ung,开始复现

漏洞复现

创建利用文件:

  1. echo 'chmod 4777 /usr/bin/bash'> test.sh

  2. # 给bash赋予suid权限,为提权做准备

Linux提权-通配符提权总结

再创建一个用于注入通配符的文件:

  1. echo >'-e sh test.sh'

  2. # -e 为指定要运行的shell

Linux提权-通配符提权总结

等待定时任务触发test.sh文件内容,给bash赋予suid权限:

Linux提权-通配符提权总结

OK了,直接提权即可:

  1. bash -p

Linux提权-通配符提权总结

拿下root权限,提权成功

申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

Linux提权-通配符提权总结

原文始发于微信公众号(掌控安全EDU):Linux提权-通配符提权总结

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月4日21:05:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux提权-通配符提权总结https://cn-sec.com/archives/3232467.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息