linux添加crontab执行权限,linux 提权-Crontab提权

前言

记录一下linux提权系列的Crontab计划任务提权的学习过程。

crontab 命令

crontab命令用来定期执行程序。

注意:新创建的 cron 任务,不会马上执行,至少要过2分钟后才可以

-e 编辑当前的crontab文件,默认保存在/var/spool/cron/用户名下

-r 删除目前的时程表

-l 列出目前的时程表

语法格式

分 时 日 月 周 需要执行的命令

分:0~59

时:0~23

日:1~31

月:1~12

周:0~6 #0代表周日

*:(星号)代表取值范围中的每一个数字

-:(减号)连续区间表达式,想要代表1~7,则需要写成1-7

/:(斜杠)表示每x个。例如想在每10分钟执行一次,则在分的位置写:*/10

,:(逗号)表示多个取值。如果想在1点,3点,5点执行一次,则在时的位置写:1,3,5

如:

*/2 * * * * echo `date` >> /tmp/stu01

表示每两分钟输出时间到/tmp/stu01文件。

039cc25c03dd

image.png

/var/spool/cron/user 用来区分每个用户自己的执行计划

而 /etc/crontab 表示系统执行计划,需要在五个*后面加上用户

如编辑/etc/crontab 文件

039cc25c03dd

image.png

如添加

*/1 * * * * root ls />> /tmp/cron

表示每分钟执行ls命令并输出到/tmp/cron 文件。

其余关于计划任务的文件

/etc/cron.deny 表示只拒绝哪些用户不能他用crontab,默认存在空文件

/etc/cron.allow 表示只允许哪些用户使用crontab

漏洞介绍

Crontab通常以root权限运行。如果可以成功篡改在定时任务执行的任何脚本或二进制文件,那么我们可以使用root权限执行任意代码。

漏洞利用

假如root用户配置不当,在/etc/crontab文件创建了一个计划任务。

039cc25c03dd

image.png

意为每分钟执行test.sh文件并输出到/tmp/test.txt文件。

下载 pspy工具 到目标环境。

该工具无需root权限即可监听进程。

039cc25c03dd

image.png

监听发现该指令以root权限运行。

查看该test.sh文件以cseroad用户身份运行。

039cc25c03dd

image.png

我们可以通过覆盖test.sh文件提升为root权限。

echo "cp /bin/bash /tmp/bash; chmod +s /tmp/bash" >> test.sh

2 分钟后,tmp目录下会创建出SUID权限的bash。

039cc25c03dd

image.png

/tmp/bash -p 即可获取root权限

039cc25c03dd

image.png

总结

crontab计划任务不要写到/etc/crontab文件里,而是通过crontab -e去创建,让他写到默认的/var/spool/cron下。

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值