### CS 上线不出网机器用到的什么类型的 Beacon

**SMB Beacon**

**SMB Beacon** 是 CS 中专门用于内网横向移动和命令控制的类型。它的工作原理是利用 **命名管道（Named Pipe）**，通过 **SMB 协议** 与目标机器上的 Beacon 进行通信

**工作流程**：

1. **初始上线**：首先，您需要在内网中找到一台可以出网的机器，通常是已经通过常规方式（如 HTTP/S Beacon）上线的机器，我们称之为 **“中继机器”**
2. **创建 SMB Beacon**：在中继机器上，您可以使用 CS 的 `psexec`、`psexec_psh` 或 `wmi` 等模块，通过 **派生（Spawn）** 的方式，将 SMB Beacon 部署到不出网的目标机器上
3. **管道通信**：一旦目标机器上的 SMB Beacon 启动，它会创建一个命名管道。中继机器上的 Beacon 会通过这个管道与目标机器上的 SMB Beacon 进行通信
4. **命令传递**：中继机器上的 Beacon 接收到来自您 Cobalt Strike 客户端的命令后，会通过 SMB 管道将其传递给目标机器上的 SMB Beacon。反之亦然，目标机器的执行结果也会通过管道返回给中继机器，最终传回您的客户端

**优点**：

- **隐蔽性强**：SMB 协议在内网中非常常见，不易引起安全设备的警觉
- **无需出网**：这是它最大的优势，能够完美解决内网不出网机器的上线问题
- **横向移动**：它是 CS 进行内网横向渗透的核心组件之一

**HTTP/S Beacon with Domain Fronting (域前置)**

虽然严格来说，**域前置** 并不是一种 Beacon 类型，但它是一种非常有效的技术，可以帮助 **HTTP/S Beacon** 伪装流量，从而绕过一些网络限制，间接实现不出网机器的上线

**工作原理**：

域前置利用了内容分发网络 **CDN** 的特性。CDN 允许一个请求的 **主机头（Host Header）** 和实际连接的 IP 地址不一致

**工作流程**：

1. **正常流量**：攻击者在 CS 中将 Beacon 的 C2 地址设置为 CDN 的域名（如 `cdn.microsoft.com`），而实际上 Beacon 会向 CDN 的 IP 地址发送请求
2. **CDN 代理**：当 CDN 收到请求后，它会根据 HTTP 请求中的 `Host` 字段，将请求转发到攻击者在 CDN 上配置的真实 C2 服务器
3. **绕过限制**：对于不出网的机器，如果它的网络策略允许访问 CDN 节点的 IP，那么它就可以成功将流量发送出去，因为在它的网络视角中，它只是在访问一个合法的 CDN 资源，而不会被认为是恶意流量

**优点**：

- **伪装性强**：流量看起来像是访问合法的大型云服务商或 CDN，难以被检测
- **绕过防火墙**：可以绕过一些基于域名的白名单或黑名单策略