本文记录在 Pentesters Academy – Linux Privilege Escalation Boot camp 的经验和学习。
LAB: Cron Jobs Gone Wild 本试验通过利用crontab中的配置问题进行权限提升
- 寻找suid的bin文件,无相关文件,但当前用户有权管理 cron 服务,因此可以启动/停止/重新启动或检查服务的状态,可以看到crontab运行中。
- 当前用户在其 crontab 中没有配置 cron 作业,并且全局 crontab 文件不包含任何价值信息
- 检查/tmp/目录发现 monitor.tar.gz每分钟更新。由于没有其他用户操作,所以它必定是crontab操作。
- 压缩文件中有5 个名称为 1 - 5 的文件,查询文件具体位置,判定具体文件路径。
- 打包文件为/var/log/monitor包含所有文件,并且该目录是全局可写的。这意味着可以修改文件。
- 发现在目录中创建的任何文件都将归档到/tmp/monitor.tar.gz
- 因此,根据上图,判断cron 定时任务可能正在执行以下操作
cd /var/log/monitor && tar -cf /tmp/monitor.tar.gz *
- 使用*时,文件名称会被作为参数执行,如下:
- 使用上述信息来执行tar命令,可以使用--checkpoint和--checkpoint-action参数执行命令。root调用cron,通过tar执行/bin/bash获取root权限: