Files
2025-09-25 03:32:26 +08:00

40 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### CS 流量特征
**一、HTTP/HTTPS 通信特征**
CS 的核心通信依赖 HTTP/HTTPS,其请求和响应具有以下独特之处:
- **请求路径 (URI)**
- **默认路径**:早期的 CS 版本使用如 `/api/rc4``/pixel` 等明显特征的路径。虽然现在已不常见,但在老旧的、未及时更新的 CS 木马中仍可能出现
- **伪装路径**:高级攻击者会配置 **Profile**,将路径伪装成正常的 URL,如 `/login``/css/main.css`。此时,检测的关键于**路径与请求方法的合理性**。例如,`POST /css/main.css``GET /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. Lindheim``O=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**
- **查询类型**:通常使用 `TXT``AAAA` 记录进行数据传输,`A` 记录用于心跳
- **子域名爆破**:Beacon 会频繁对特定域名进行 DNS 查询,查询的前缀是长而随机的字符串,用于编码数据
- **查询频率**:与 HTTP 类似,具有固定的心跳间隔,产生持续、规律的 DNS 查询流量
- **横向移动**
- **SMB/TCP Beacon**:用于在内网中横向移动,它们会创建命名管道或监听特定端口。异常的命名管道或内部端口连接行为是重要的检测指标