crontab提权
crontab介绍
Linux crontab 是用来定期执行程序的命令, crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来立即执行。
suid介绍
suid是一种特殊权限,设置了suid的程序文件,在用户执行该程序时,用户的权限是该程序文件属主的权限。
添加suid权限:chmod u+s filename
- 只有可以执行的二进制程序文件才能设定SUID权限,非二进制文件设置SUID权限没任何意义
- 命令执行者要对该程序文件拥有执行(x)权限
- 命令执行者在执行该程序时获得该程序文件属主的身份
- SUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效
crontab提权原理
如果特权用户通过crontab -e 或者 vim /etc/crontab添加了计划任务,计划任务中存在脚本文件,且其他用户有可写的权限,则我们可以利用计划任务进行提权。
crontab提权演示
查看/etc/crontab下root用户的计划任务
查看/test.sh文件权限
利用其他用户可写权限,向该脚本文件中写入提权操作
运行/tmp/bash