8-10

内网有 ACL 策略,如果是白名单如何绕过

1. 利用被允许的协议和端口

这是最直接、最有效的方法。你需要找到 ACL 策略放行的协议和端口,然后利用它们建立隧道

  • DNS 隧道:如果 ACL 允许 DNS 流量(通常是放行的,因为网络解析需要),这是首选方法
    • 原理:将你的恶意流量(例如 C2 通信)编码成 DNS 查询请求(通常是子域名),发送到你控制的公网 DNS 服务器。你的服务器解析后,再将响应数据编码在 DNS 回复包中返回
    • 优点:几乎所有网络都允许 DNS 流量出网,隐蔽性极高
    • 工具iodinednscat2 是最经典的 DNS 隧道工具
  • ICMP 隧道:如果 ACL 允许 ICMP 流量(例如允许 ping),你就可以利用它
    • 原理:将你的数据封装在 ICMP Echo 请求包的载荷中,通过 ping 的方式发送出去,并从回复包中接收数据
    • 优点:同样利用了网络诊断的合法协议,不易被察觉
    • 工具ptunnelicmpsh
  • HTTP/S 隧道:如果内网允许访问特定网站或端口的 HTTP/S 流量,你可以伪装成这种流量
    • 原理:将你的 C2 通信封装在 HTTP/S 请求和响应中。你可以利用 CDN合法域名或者特定的代理服务器来伪装流量
    • 优点:流量看起来像是正常的网页浏览,非常具有迷惑性
    • 工具reGeorg / Neo-reGeorgsliverCobalt Strike 都可以配置 HTTPS 监听器来绕过