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

41 lines
3.7 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.
### 内网有 ACL 策略,如果是白名单如何绕过
**1. 利用被允许的协议和端口**
这是最直接、最有效的方法。你需要找到 ACL 策略放行的协议和端口,然后利用它们建立隧道
- **DNS 隧道**:如果 ACL 允许 DNS 流量(通常是放行的,因为网络解析需要),这是首选方法
- **原理**:将你的恶意流量(例如 C2 通信)编码成 DNS 查询请求(通常是子域名),发送到你控制的公网 DNS 服务器。你的服务器解析后,再将响应数据编码在 DNS 回复包中返回
- **优点**:几乎所有网络都允许 DNS 流量出网,隐蔽性极高
- **工具****`iodine`** 和 **`dnscat2`** 是最经典的 DNS 隧道工具
- **ICMP 隧道**:如果 ACL 允许 ICMP 流量(例如允许 `ping`),你就可以利用它
- **原理**:将你的数据封装在 ICMP Echo 请求包的载荷中,通过 `ping` 的方式发送出去,并从回复包中接收数据
- **优点**:同样利用了网络诊断的合法协议,不易被察觉
- **工具****`ptunnel`** 或 **`icmpsh`**
- **HTTP/S 隧道**:如果内网允许访问特定网站或端口的 HTTP/S 流量,你可以伪装成这种流量
- **原理**:将你的 C2 通信封装在 HTTP/S 请求和响应中。你可以利用 **CDN**、**合法域名**或者**特定的代理服务器**来伪装流量
- **优点**:流量看起来像是正常的网页浏览,非常具有迷惑性
- **工具****`reGeorg` / `Neo-reGeorg`**、**`sliver`**、**`Cobalt Strike`** 都可以配置 HTTPS 监听器来绕过
**2. 利用白名单 IP 或域名**
除了协议和端口,ACL 策略也可能基于 IP 地址或域名进行白名单控制
- **利用合法代理服务器**:如果 ACL 允许访问某个合法的代理服务器(例如公司内部的 Web 代理),你可以尝试利用这个代理来转发你的流量
- **原理**:配置你的攻击工具,让其通过这个代理服务器进行通信
- **挑战**:代理服务器可能会有日志记录和内容审计
- **利用被允许的域名进行 C2 通信**:如果 ACL 只允许访问特定的几个域名(比如 `*.microsoft.com`),你可以尝试使用**域名欺骗(Domain Fronting**技术,将你的 C2 服务器 IP 隐藏在这些域名背后
- **原理**:将你的 C2 服务器部署在某个**云服务商**(如 AWS、Azure)上,然后利用这些服务商的合法域名作为流量的“正面”,而你的真实 C2 流量则通过 SNI 等方式悄悄地指向你的服务器
- **挑战**:需要深入了解域名欺骗的原理和云服务的配置,且随着安全防御的升级,这种方法越来越难以成功
**3. 利用物理或软件层面的漏洞**
如果以上网络层面的方法都失败了,你可能需要考虑更底层的绕过方式
- **利用已安装的软件进行通信**:有些内网机器上会安装一些特殊的软件,这些软件可能拥有出网的白名单权限
- **原理**:例如,一些企业的远程协助软件、杀毒软件、或者特定的企业应用,它们的通信流量是允许的。如果你能劫持或利用这些软件的进程,就可以将你的流量注入其中
- **挑战**:需要深入分析目标机器上运行的软件,并找到其漏洞或利用点
- **DLL 注入或进程注入**:这是一种更高级的攻击方式
- **原理**:将你的恶意代码注入到某个**拥有出网白名单权限的合法进程**中。这样,你的流量就会伪装成该进程的流量,从而绕过 ACL 策略
- **优点**:隐蔽性极高,可以有效绕过大多数基于网络层的防御
- **挑战**:技术门槛高,需要对进程和内存有深入理解