array(5) { ["chapterid"]=> string(8) "49409195" ["articleid"]=> string(7) "7300050" ["chaptername"]=> string(7) "第2章" ["content"]=> string(12073) "苏晚晴合上笔记本电脑,拔掉网线,起身跟上。两个人沿着走廊快步走向那扇maintenance门。林墨走在前面,苏晚晴跟在半步之后,左手无意识地摸了一下口袋——那里有一把瑞士军刀,她从大一开始随身带的东西,红壳的,主力刀片开过罐头也拆过机箱。

林墨推开门。

电缆层是一段向下延伸的金属阶梯,两侧墙壁上密密麻麻排布着光缆和电源线,空气中有一股塑料绝缘皮被加热后散发的味道——不是好闻的味道,像劣质电子产品在太阳下晒了一下午。阶梯尽头是一个不到两米宽的平台,平台上放着一台迷你主机。

没有接显示器,没有接键盘。只有一根网线沿着墙壁延伸上去,消失在天花板的管线层里。

它直接物理接入了校园网的骨干光纤。

林墨蹲下来看那台主机。机箱上没有任何品牌标识,黑色哑光表面,积了一层薄灰——但散热孔附近是干净的,说明风扇一直在转。网线接口处的MAC地址他记下了。主机处于运行状态,硬盘灯在规律闪烁,频率大约每秒两次,不像是高负载,更像在等待什么。

"这是中间人节点。"林墨说,声音压得很低,在混凝土墙壁之间产生了一点回声,"所有经过这台机器的流量都能被嗅探和篡改。改成绩只是表面——如果这东西接在骨干上,整个校园网的流量都在它的视野里。"

苏晚晴的脸色变了。不是那种戏剧化的"大惊失色",而是一种缓慢收紧——嘴唇抿得更紧了,眉心出现了一道浅纹。

"包括登录密码、认证token、教务系统的session……"她的声音第一次有了紧迫感,"方老师的判断是对的。这不是学生改成绩。"

"是什么?"

苏晚晴看着那台沉默运行的迷你主机。绿色的应急灯光映在她的瞳孔里。

"有人在渗透校园网。改成绩只是掩护——或者只是测试。"

林墨直起身。他忽然意识到,过去一周他追的那条日志线,根本不是什么成绩篡改案。那只是一个更大棋局里的第一步落子。而他,刚刚被拉进了棋盘——或者说,他一直就在棋盘上,只是现在才看见。

走廊上方传来一声清脆的"咔嗒"——maintenance门的门锁自动弹回了。

两个人被困在了电缆层。

苏晚晴看了林墨一眼。她的嘴角动了一下——不确定是苦笑还是自嘲。

"看来,你说的那个不需要合作,得改改了。"

林墨没接这句话。他走到maintenance门内侧,用手掌推了一下门板。纹丝不动。电磁锁已经回位,这门从外面用门禁卡开,从里面没有把手,只有一枚被六角螺丝固定的金属面板。面板下方有一道缝隙,但窄得连手指都塞不进去。

"暴力破开呢?"苏晚晴站在他身后半步。

"没必要。"林墨转身,手机屏幕的微光照亮了他的下半张脸,"B座是九十年代盖的,地下三层原来是排水泵房,后来加装电缆层的时候没有完全隔断。如果我能找到检修口,就能绕到泵房,从泵房的通风井出去。"

苏晚晴看了他一眼。她把笔记本电脑塞进背包,拉上拉链。"你带路。"

林墨沿电缆桥架走向左侧墙壁。电缆层比他想象的要深——金属阶梯向下延伸了大约三层楼的距离,两侧墙壁上的光缆粗细不一,最粗的那几根是校园网骨干光纤,用黄色护套包裹,每隔两米有一个扎带固定点。空气越来越潮湿,绝缘皮的味道逐渐被一种地下特有的、带着铁锈味的霉味取代。他想起大一刚入学的时候,方远行带他们参观过校园网基础设施,当时觉得那些光缆和机柜很无聊,没想到现在会在凌晨三点蹲在这些东西中间。

他走了大约四十米,在墙壁转角处找到了那块金属盖板。四颗螺丝,两颗已经松了。盖板上贴着一张褪色的标签:"泵房通道·非维护人员禁止进入"。标签下面有人用马克笔写了一个"1973",不知道是年份还是编号。

"瑞士军刀。"林墨伸手。

苏晚晴愣了一下,然后把刀递给他。林墨拧下剩余两颗螺丝,揭开盖板。后面是一段大约半米宽的混凝土通道,地面有浅层积水,尽头有一段锈迹斑斑的金属阶梯向上延伸。积水没过鞋面——是地下渗水,没有异味,说明不是污水管泄漏。

通道大约二十步就走完了。金属阶梯通向一个更大的空间:泵房。三台老旧的排水泵静静地蹲在混凝土基座上,其中一台还在低频运转,发出沉闷的嗡嗡声,像一头睡着了的大型动物在呼吸。泵房的右上角有一个通风井,井口大约六十厘米见方,铁质爬梯嵌在井壁上。

林墨抬头看了看。通风井的出口能看到一小片夜空。星星看不到——城市的光污染太重——但天是深蓝色的,不是电缆层那种死黑。

"能爬吗?"苏晚晴站在他身后,仰头看。

"你得把背包先递上去。"林墨已经开始攀爬。铁梯很凉,锈蚀让每一级都有点打滑,但承重没问题——他七十五公斤,梯子没发出任何不妙的声音。他爬了大约八米,顶到了一块铸铁井盖。用力推——没推动。铸铁盖板比他预想的重,而且边缘卡在井口的混凝土沿上,吃住了力。

他调整姿势,双手撑在井盖两侧,肩膀顶住边缘,双腿同时发力。井盖发出一声金属摩擦混凝土的刺耳声响,滑开了一条缝。他换了一口气,再顶。井盖滑开了。

夜风灌进来,带着七月份潮湿的草木气息。那股味道太真实了——泥土、草叶、还有一点花坛里月季的甜腻——和电缆层的霉味形成了过于强烈的对比,让林墨有一瞬间的眩晕。

他从井口探出头,发现自己正对工科楼B座背面的小花园。周围没有路灯,但教学区主路的钠灯在三十米外投下昏黄的光。凌晨三点一刻,整个校园空无一人。远处图书馆的灯也灭了——这座校园在凌晨三点是真正死掉的,连猫都懒得出来。

他爬出来,回身把苏晚晴拉上来。苏晚晴的手很凉,指尖有薄茧——那是长年敲键盘留下的痕迹。她的指甲剪得很短,没有涂任何东西。

两个人在花园的长椅上坐下来。凌晨的空气比机房里好太多,但林墨的T恤后背已经被汗浸透,贴在皮肤上,被风一吹有点冷。苏晚晴把卫衣帽子摘下来,短发被汗水粘在额角。

一只猫从花丛里钻出来,在草坪上停了两秒,看了他们一眼,然后不紧不慢地走向B座的阴影。校园里的猫都是这样——见多了人,懒得理你,但也不怕你。

"那台机器不能动。"林墨先开口。

"我知道。"苏晚晴说,"动了就打草惊蛇。"

"不只是打草惊蛇。如果那台中间人节点在嗅探骨干流量,它一定有远程管理接口。我们一碰,对方立刻会收到告警,然后远程擦除——到时候我们连证据都没有。"

"所以你的方案是?"

"让它继续跑。但在它前面加一层镜像。"

苏晚晴转过头来看他。"你是说——在交换机端口上做端口镜像,把流量复制一份到我们的采集机器上?"

"对。你的脚本已经能识别篡改请求了,把采集到的流量喂给你的脚本,就能实时标记攻击者的行为模式。同时不影响他的嗅探,他不会发现。"

苏晚晴沉默了几秒。林墨看得出她在权衡——这个方案技术上没问题,但意味着他们要在校园网核心交换机上做配置修改,这本身就需要管理员权限。方远行的临时门禁卡能进机房,但交换机的配置权限是另一回事。

"方老师那边能搞定交换机权限吗?"她问。

"他要是搞不定,这学期实验课的靶场环境也别想搭了。"

苏晚晴的嘴角动了一下。"你对方老师的评价一向这么直接?"

"我只是陈述事实。"

苏晚晴从背包里摸出一瓶矿泉水,拧开喝了一口,递给林墨。林墨接过来喝了两口——水是温的,在背包里焐了不知道多久,但在凌晨三点半的花园里,温水反而比冰水舒服。

"我追这条线已经两周了。"苏晚晴看着远处,声音放轻了一些。林墨注意到她说这句话的时候,手里拧着矿泉水瓶盖,拧开又拧上,拧开又拧上。"两周前,计算机学院有三个学生找到学院办公室,说自己的成绩被人改了——不是他们自己改的,但系统里显示修改IP来源是校园网内部。学院以为是学生在用同学的账号恶作剧,压下来了。方老师是从信息中心的一个朋友那里听说的。"

"所以他派你来查。"

"他派我来查,是因为信息中心的人查不出来。"苏晚晴的语气很平,但林墨听出了其中的东西——不是傲慢,是对"查不出来"这件事本身的愤怒。"他们的安全审计只看日志层面的东西,看不到debug参数,更看不到代理跳转。他们以为是内部人员用合法接口操作,根本没往渗透的方向想。"

"你看到了。"

"我在流量里抓到了debug写入请求。"苏晚晴说,"然后我发现,那些请求的来源虽然经过三层代理,但时间戳有规律——每次都在凌晨一点到三点之间。说明攻击者知道这个时段教务系统的审计程序不会触发告警。"

"他知道审计程序的工作时间表。"林墨说。

"对。"

"这意味着他要么是曾经参与过教务系统开发的人,要么——"

"要么是读过审计程序源码的人。"苏晚晴接上了他的话。

两个人都没再说话。教务系统的审计程序是方远行三年前带研究生写的。源码不在公开仓库里,只存在学院的GitLab服务器上。能读到那段源码的人,要么是方远行课题组的人,要么——

"方老师课题组现在有几个人?"林墨问。

"算上我,三个。"苏晚晴看着他,"方老师,我,还有一个研二的师兄,叫许衡。但许师兄这学期一直在准备论文答辩,很少来实验室。"

"方老师知道你今晚来了机房吗?"

"他让我查,但没说怎么查。"苏晚晴的语气里出现了一丝微妙的停顿,"他只说了一句——你觉得怎么做有效,就怎么做。但不要被发现。"

林墨没有接话。他在想方远行说这句话时的表情——他大概能猜到,方远行说这句话的时候面无表情,语气平淡,就像在说"明天天气不错"。方远行说话永远是这个调子。但这句话的潜台词很清楚:他知道苏晚晴会选择最冒险的方式。他没阻止。

他在测试她。或者,他在用这种方式把林墨也拉进来。

"方老师有没有跟你提过一个名字?"林墨问。

"什么名字?"

"林墨。"

苏晚晴看着他,没有说话。三秒后,她移开目光。"他说过。"

"他说什么?"

"他说——如果你在机房遇到一个人,那个人大概率也在追同一条线。到那时候,你的选择比你的技术更重要。"

林墨没追问"选择"是什么意思。凌晨四点的风从花园方向吹过来,带着草坪浇灌后泥土的湿气。他忽然觉得很累——不是困,是那种连续高度集中注意力之后的疲惫,像跑完了一个没人鼓掌的马拉松。

"我有一个条件。"林墨说。

"说。"

"在事情结束之前,所有技术决策我来做。你负责情报和脚本逻辑。但最后向方老师汇报的时候,我们一起。"

苏晚晴看了他三秒钟。"你在跟我谈分工?"

"我在告诉你,我不合作的习惯可以改。但合作的前提是有明确的边界。"

苏晚晴伸出右手。"成交。"

林墨看着那只手,犹豫了一秒,握了上去。她的手掌比他预想的小,指节分明,力度不弱。" ["create_time"]=> string(10) "1785963687" }