CS 流量特征

一、HTTP/HTTPS 通信特征

CS 的核心通信依赖 HTTP/HTTPS,其请求和响应具有以下独特之处:

  • 请求路径 (URI)
    • 默认路径:早期的 CS 版本使用如 /api/rc4/pixel 等明显特征的路径。虽然现在已不常见,但在老旧的、未及时更新的 CS 木马中仍可能出现
    • 伪装路径:高级攻击者会配置 Profile,将路径伪装成正常的 URL,如 /login/css/main.css。此时,检测的关键于路径与请求方法的合理性。例如,POST /css/main.cssGET /submit 都是极度可疑的行为
    • 长度与随机性:某些配置文件会生成长而随机的路径,例如 /hjd83kalsd94jfnnasd83jklfn。在高频访问中,这种随机性反而成为一种异常
  • User-Agent (UA)
    • 默认 UA:早期的 CS 使用一些固定的、容易被识别的 UA 字符串
    • 伪造 UA:攻击者会伪装成常见的浏览器 UA,如 Chrome、Firefox。然而,可以从一致性和时效性来判断:如果来自同一 C2 的所有 Beacon 都使用完全相同的、且已过时的 UA 字符串,则很可能存在 CS 攻击

二、TLS 证书与指纹特征

如果 CS 使用 HTTPS 进行通信,其 TLS/SSL 证书会留下独特的指纹,这是非常强的检测指标

  • 默认证书:CS 服务器默认使用自签名证书,其 Subject 字段通常带有明显的默认值,例如 CN=Major C. A. LindheimO=Internet Widgits Pty Ltd
  • JARM 指纹:这是一种主动 TLS 指纹识别技术。CS 的默认配置具有非常固定的 JARM 指纹。即使攻击者修改了证书的主题信息,默认的 JARM 指纹在很长一段时间内仍保持不变,这使得 JARM 成为检测 CS 最有效的手段之一
  • 证书透明度(CT)日志:如果攻击者使用了看似合法的域名并申请了证书,我们可以通过检查该域名是否出现在 CT 日志中,来进一步确认和溯源

三、请求与响应行为特征

CS 的 HTTP 通信并非简单的请求-响应,而是一种高度规律性的“心跳”模式

  • 心跳模式:Beacon 会以固定的时间间隔(如 10s、60s)向 C2 服务器发送请求。这种高度规律性的、永不停止的通信模式,即使在机器空闲时也存在,与正常用户行为截然不同
  • 请求与响应载荷:心跳请求的载荷(如 Cookie、POST 数据)长度可能固定不变。而当服务器下发指令时,响应包的长度会变长。回传数据时,客户端则会发送一个 POST 请求,其 Body 部分经过加密和 Base64 编码
  • HTTP 状态码:CS C2 服务器的 HTTP 响应状态码绝大多数情况下都是 200 OK,即使请求是无效的。这是其反侦察的手段之一,与正常服务器对错误请求返回 404/500 的行为形成鲜明对比。

四、DNS 与横向移动

为了绕过传统安全设备的检测,CS 提供了更高级的通信方式和行为模式

  • DNS Beacon
    • 查询类型:通常使用 TXTAAAA 记录进行数据传输,A 记录用于心跳
    • 子域名爆破:Beacon 会频繁对特定域名进行 DNS 查询,查询的前缀是长而随机的字符串,用于编码数据
    • 查询频率:与 HTTP 类似,具有固定的心跳间隔,产生持续、规律的 DNS 查询流量
  • 横向移动
    • SMB/TCP Beacon:用于在内网中横向移动,它们会创建命名管道或监听特定端口。异常的命名管道或内部端口连接行为是重要的检测指标
Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2025-09-25 03:13:22

results matching ""

    No results matching ""