This commit is contained in:
author
2025-11-08 21:00:06 +08:00
parent 95a4182500
commit fc176f1b7d
1793 changed files with 2099698 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
### 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**:用于在内网中横向移动,它们会创建命名管道或监听特定端口。异常的命名管道或内部端口连接行为是重要的检测指标