技术分享 | UDP内网穿透在取证场景应用

共 2679字,需浏览 6分钟

 ·

2024-03-22 00:00

3a1e68d2525f449403fda86c18d310d6.webp

前言



0 1

在平时远程取证工作中,如果目标服务器/设备位于私有网络(局域网)内部,由于网络地址转换(NAT)的限制,直接访问私有网络内部设备变得十分困难。

一般做法是借助代理服务器进行中转,但是固定数据的速度瓶颈可能就会在代理服务器端,没有办法发挥目标服务器/设备的最大上行,也可能由于网络波动,造成固定过程的断连。尤其是目标机器是Windows系统时,大部分情况只掌握了3389端口,固定速度特别缓慢。

那有没有什么更为稳定高效的方案呢?

Tips:什么是NAT?

NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。

e9ecaee8d01ee696a9158653f876cca1.webp

NAT A 网下的设备1(192.168.1.10)想要与某个公网IP通信,设备1将包发送至NAT A,NAT A对源IP进行转换后发给NAT B,整个过程可能经过了多重NAT;

这样做的原因是因为,NAT B并不知道NAT A下有哪些设备,它本身只能与NAT A进行通信。所以发送给NAT B的数据包,源IP必须是NAT A的公网IP(123.122.121.120),不然NAT B没有办法进行回复。

当NAT B回复包至NAT A时,NAT的作用就来了。NAT A需要将包再分发回之前的设备,那如何知道谁是设备1呢?NAT中记录了一张表,之前192.168.1.10通过2333端口与45.120.240.45端口进行了通讯,NAT A当时是通过60001端口转发出去的,那么后面接收到发往NAT A 60001端口的包,就应该再通过2333端口转发到192.168. 1.10中。通过这个过程,NAT A网下的所有设备都能够正常连接上互联网。


UDP内网穿透原理




02

通过上面NAT的概念,我们可以了解到,当我们想要将NAT A网下设备1 访问 NAT B网下的设备a(172.16.1.100)时,必须将目标IP设置为NAT B的公网IP,并且还需要NAT B转发表中,记录过设备a(172.16.1.100)与NAT A的通讯记录,否则NAT B会将包丢弃。

那通过UDP内网穿透的方式,我们怎么解决这个问题。

fa10e989d8a63e046e0518f77497c303.webp

为了能够进行 UDP 打洞,我们需要一台公网的服务器作为中转站,它是 NAT A 与 NAT B 之间的信使。下文我们用中转站S代指这台服务器。

我们先让设备1(192.168.1.10)和设备a(172.16.1.100)都向中转站S注册自己。例如:设备1是123.122.121.120:30000,设备a是45.120.240.45:40000。

接着设备1和设备a都通过中转站S,获取到对方的公网IP和预留的端口号。

d603fe2944034009b255043d9fc15b64.webp

以上步骤完成后,关键点来了。

设备1向45.120.240.45:40000发送一个数据包,NAT B是能够收到的,但是它不知道这个包应该转发给谁,所以它会进行丢弃。但是由于设备1向45.120.240.45:40000发送过数据包,所以NAT A会进行记录:以后来自45.120.240.45:40000的包都转发到设备1;

同样的,设备2也向123.122.121.120:30000发送了数据包,NAT B会记录:以后来自123.122.121.120:30000的包都转发到设备a。

此刻,NAT A和B都保留了对方的端口,设备1就能直接跟设备a进行通讯了。在UDP的内网穿透中,中转站S只是提供了注册服务,后续的流量都不会从中转站S走。

本段只是简单介绍了UDP内网穿透的原理,实际情况可能会更加复杂,涉及丢包、多重NAT等各种情况。


UDP内网穿透常见应用




03
1. Zerotier

优点

  • 可直接使用官方提供的方案快速,同时支持私有化部署

缺点

  • 由于网络协议的限制,不同的网络运营商下设备连接存在较高延迟

  • 官方免费版存在组网限制

Zerotier 的原理其实很容易理解:通过根节点来创建一个中心服务器,加入其中的设备都需要和这个中心服务器通信,从而构建起一个虚拟局域网。由于中心服务器部署在海外,国内访问难免会出现不稳定的情况,跨运营商设备互访时丢包尤其严重。

2. Tailscale

优点

  • 跨运营商设备互访稳定性较好,客户端开源

缺点

  • 控制服务器非开源软件

  • 官方免费账户存在较多限制

相比 Zerotier,Tailscale 在底层网络逻辑上采用了 WireGuard 协议,因此不同运营商之间的设备互访的速度更佳,有公网 IP 时效果更为明显。不过和 Zerotier 的问题类似,由于中心服务器均部署在海外,网络不稳定的情况在所难免。

除了上述的两个应用外,还有类似HeadScale这类支持私有化部署的开源方案。


网探UDP内网穿透代理模式




04
网探V6.6新版本中,我们新增了UDP内网穿透代理模式,提供了中国大陆、中国香港、美国三个中转注册服务器,只需要在目标服务器中运行网探Agent后,自动尝试与取证计算机建立连接,成功后,可以突破代理服务器带宽瓶颈。 a8eb9a4fd9c07c2d46d8ee31b363a71a.webp 实际场景效果如何呢? 通过代理服务器直接进行转发时,受限于代理服务器带宽,固定速度仅有200-300KB/S,并且波动较大。

d9bb877b28a999f71a8f4491536a53b3.webp

通过UDP内网穿透功能后,速度飙升至7-8MB/s,大大节约了固定时间。

cabc4fc18214086b2cc8da4a72cbcb44.webp

V 6.6现已正式上线,如果您想了解更多或申请试用,可通过以下方式联系我们

账号申请

电话咨询 :联系您所在区域销售经理或致电400-800-3721进行产品咨询。

在线咨询 :私信弘连网络官方公众号,留言您的问题,我们将在看到留言后,第一时间为您解答。

供稿:海飞同学
编辑排版:Yvonne
审核:Spring,杜鸣晨

浏览 118
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报