怎么穿透无网的内网
我蹲在客户机房的穿透角落里,面前是无网网一台刚拆开挡板的工控机,网线拔了,穿透无线网卡禁用,无网网连蓝牙都关了。穿透客户说这台设备存着核心生产数据,无网网物理隔离,穿透绝对不许碰外网。无网网但我需要把里面的穿透日志文件拷出来分析——不是偷数据,是无网网帮他们查故障。 无网的穿透内网,听起来像悖论,无网网其实遍地都是穿透。工厂的无网网控制网、医院的穿透影像系统、军工单位的涉密终端,它们不连互联网,但内部设备之间往往有局域网。我手里这台机器,网口灯亮着,说明它至少连着隔壁的交换机。问题在于,我坐的位置不在那个网段里。 最简单的办法,是找一条能插的网线。我顺着机柜后面捋线,看到一排贴着标签的跳线,其中一根连着这台工控机。我掏出随身带的小交换机,把那根线拔下来,插到交换机上,再从交换机分两条出来——一条回原设备,一条接我的笔记本。整个过程二十秒,车间里没人抬头看我。这就是所谓的“物理旁路”,本质上是把原本的点对点连接改成了星型拓扑,中间多了一个我。 但大多数时候你没这么幸运。上个月去一家化工厂,他们的中控室在二楼,机柜锁着,钥匙在安全员手里。我隔着玻璃看到那台老式研华工控机,背后有个串口,9针的那种。我包里正好有根USB转串口线,还带着TTL电平适配器。跟工程师软磨硬泡半小时,他同意让我用串口连一下——串口不跑TCP/IP,不走网卡,纯物理链路,安全员觉得这不算“接入网络”。 我用Python开了个简单的SLIP协议封装,把IP包塞进串口流里,另一端用笔记本上的串口接收,再桥接到一个虚拟网卡上。速度慢得感人,每秒只有115200波特,传个4MB的日志文件花了将近六分钟。但够用了。这叫“带外数据通道”,说白了就是不走寻常路,用网线以外的东西把数据搬出来。 还有更野的路子。前年去一家水电站,整个控制网设计得滴水不漏,所有主机都装了三防软件,USB口封死,光驱拆了。但我发现他们的操作员站顶上有个没用的PS/2键盘口——现在谁还用PS/2接口的键鼠?我把一个改造过的PS/2转接头插上去,里面藏着一颗单片机,模拟键盘按键,把二进制数据编成按键事件敲进去。另一边用声卡耳机口接收——对,你没看错,我用音频信号传数据。单片机把数据调制成高频音波,从耳机口输出,用笔记本的麦克风孔录下来解调。速率只有几百波特,比串口还慢,但没人会想到键盘口在“说话”。 那次的灵感来自一个老黑客的博客,他说“只要物理上能产生变化,就能传递信息”。电流、光、声音、电磁辐射,甚至硬盘指示灯闪烁的频率都能编码。无网的内网,防的是IP包,防不住物理世界的各种小动作。 当然,这些手段的前提是你有合法授权。我干这行久了,见过太多人把“内网”当保险箱,觉得连不上外网就万事大吉。实际上,内网设备之间往往信任缺失——一堆老旧系统跑着明文协议,VLAN划分形同虚设,机柜门不锁,临时维护口常年开着。真正的安全不是靠断网,而是靠知道断网之后,还有一百种方式能钻进去。 最后说句实在话:如果你只是想远程维护一台无网设备,别学我这些野路子。正规做法是架一套堡垒机,通过专用的维护终端走带外管理口,或者用光纤KVM延长器。但要是你被锁在机房里,手头只有一根网线和一把螺丝刀,那上面这些土办法,就是你的最后一根救命稻草。