Files
Sec-Interview/Chapter5/5-2.md
T
2025-09-25 03:23:59 +08:00

37 lines
2.7 KiB
Markdown
Raw 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 上线不出网机器用到的什么类型的 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,难以被检测
- **绕过防火墙**:可以绕过一些基于域名的白名单或黑名单策略