37 lines
2.7 KiB
Markdown
37 lines
2.7 KiB
Markdown
### 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,难以被检测
|
||
- **绕过防火墙**:可以绕过一些基于域名的白名单或黑名单策略 |