HiBizMan永久免费
📚Log In
📋 Table of Contents25
🌐 Language

第17章 · 修复与保留

中文

凌晨四点十一分。 沈砚坐在宿舍床边,手机屏幕的白光映在脸上,衬得他眼底的青灰色愈发明显。窗外的天还沉在夜里,园区路灯透过百叶窗的缝隙在地板上投下几道平行的橘黄色光线,像牢笼的铁栅栏。空调出风口嗡嗡作响,吹出来的冷风让他后颈一阵发凉——那台挂机是三天前刚换的,牌子跟他发现的那张检修单上写的不一样。 他盯着手机屏幕上那条短信,拇指悬在屏幕上方,没敢再往下滑。 "别查了。" 三个字。没有标点。发信号码依然是一串乱码般的数字,中间夹杂着字母,格式像是某种一次性虚拟号——企查查上没搜到任何关联信息,他试过了。凌晨三点十七分那会儿收到"别去季成蹊办公室",三点五十八分收到"空调已修好,放心使用",四点零二分收到"别去运维机房",现在这个最新的一条是四点零九分来的。 时间间隔越来越短。 沈砚把手机屏幕朝下扣在床垫上,深呼吸了几次,鼻腔里全是宿舍那种老旧的木屑混合灰尘的气味,还有他自己衬衫上沾着面馆辣椒油的余味。他抬起左手揉了揉太阳穴,指腹下面皮肤发烫,血管突突地跳。从昨晚九点多到现在,七个多小时没合过眼,但瞌睡虫早被这些短信驱得无影无踪。 "是同一台手机发的。"他自言自语,声音低得跟蚊子哼似的,但空旷的单人宿舍里仍然起了回响,"还是说'他们'在轮流发?" 沈砚站起来,走到书桌前,把那盏台灯拧亮。灯管是劣质的LED,白光偏蓝,照在桌面上那堆打印出来的OA截图上带着一层诡异的光晕。他把手机重新拿起来,调出通讯记录仔细比对——号码结构确实一致,虽然前缀不同,但中间那段"AD7F"的字母组合没变过。这要么是同一套虚拟号生成规则,要么根本就是同一个人的多张卡。 "……所以'别去季成蹊办公室'和'别去运维机房'是同一个人发的。"他拿起笔,在笔记本上把这两条信息圈在一起,打了个箭头指向中间那条"空调已修好",在旁边写了几个字:"动机?恐吓还是保护?" 笔尖在纸上停顿了两秒,渗出一小团墨水印。 窗外忽然传来一阵低沉的引擎声,是园区巡逻的电动保安车。沈砚本能地侧头看了一眼,百叶窗外什么也看不到,只有橘色的路灯光晃了一下又恢复稳定。他的手不自觉地握紧了笔杆,指节发白。 "冷静。"他对自己说,声音比刚才大了一点,像是在用听觉刺激自己保持清醒,"先理一下。五月十三号凌晨零点四十七分,次声波预警参数被改成下限阈值,零点五十二分,A座三楼走廊监控开始启用缓存写入模式——这意味着什么?意味着四分钟的录像不会被实时上传到主服务器,而是先存到本地缓存盘里。" 沈砚把笔记本往前翻了一页,上面是他用蓝笔和红笔分别标注的时间线。蓝笔记录的是系统日志里的操作时间,红笔是他自己的推测。零点四十七分参数变更,零点五十二分监控模式切换,四分钟间隔——刚好够一个人从A座的设备间走到三楼走廊的监控点。 "零点五十二分监控中断开始。"他念出声,指尖沿着红笔线往下划,"零点五十六分监控恢复。中间四分钟空白。" 面馆里孙亮用手掌压桌面的那个动作又浮现在他脑海里。左手中指无意识地在桌面弹了两下——当时沈砚以为是习惯性动作,但现在想起来,那个节奏有点像摩斯码的短音。可他要真用摩斯码传递信息,怎么会当着面馆老板的面做?除非…… 沈砚甩了甩头,把这个念头压下去。现在不是发散的时候。 他拿起手机,打开短信界面,在输入框里打了一行字:"你是谁?" 光标闪烁了五秒,他又逐字删掉。不行。直接回复未知号码等于暴露手机号的活跃状态,万一是钓鱼套路呢?对面如果真的是监控者,收到回复就知道他醒了、在紧张、在追查。那比不回还糟。 他放下手机,转而把注意力集中到那张空调检修通知单的复印件上。这是他从OA系统里下载打印的,表单号"D8-20260513-02",申请部门填的是"行政后勤处-设备科",联系人栏赫然写着"李振鹏"。审批流里最后一个节点是季成蹊,签批时间是五月十二号下午四点三十一分——距离监控中断事件还有八个小时。 "李振鹏签的单子,但五月十三号凌晨他根本没来打卡。"沈砚用手指敲了敲那个名字,指甲盖磕在A4纸上发出轻微的嗒嗒声,"方睿说考勤系统里显示他七点零二分刷了门禁,但那是被篡改后的记录。真实情况是……他压根没出现。" 沈砚从笔筒里抽出一支红笔,在李振鹏的名字下面画了两条横线,然后写了个"替?"字。如果值班工程师没有到岗,那零点四十七分的参数调整是谁操作的?方睿说当时登进运维系统的账号就是"Li_Zhenpeng",IP地址也对得上设备科的网段。但人都不在,怎么操作? 除非有人拿到了李振鹏的账号密码,或者用了更高权限的管理员账户改了登录日志。 沈砚突然想到什么,伸手去够手机,解锁后切到便签App,翻出他之前记下的一段话——那是方睿凌晨两点多给他发的语音消息转的文字:"……我记得那次夜班系统里有条冗余操作,就是零点五十左右吧,有个管理员账号登进来过,ID是'admin_sec',但这个账号按理说只有部门总监和副总级别才有权限。我查了授权记录,那个时间段没有审批单。" 他盯着这条便签看了很久,台灯的白光照得屏幕反光,他得偏着脑袋才能看清。admin_sec,安全管理员账号。这个账号的权限级别很高,能修改次声波预警参数,能启用监控缓存模式,还能篡改考勤记录。如果零点五十二分用的是这个账号切了监控模式,那零点四十七分的参数调整就更可疑了——那可能是同一人做的,只不过先用了李振鹏的账号做铺垫,再切回admin_sec做核心操作。 "双账号策略。"沈砚低声说,胸腔里那颗心脏跳得比刚才快了一些,"先用普通工程师的账号把水搅浑,再用高权限账号干真活。如果事后有人查日志,第一眼看到的是李振鹏的操作记录,然后发现权限对不上,才可能继续往下查admin_sec——但能查admin_sec的人,整个园区不超过五个。" 他数了数。方睿算一个,设备科科长刘建国算一个,分管运维的副总经理钱永年算一个,总经理季成蹊肯定也有权限。还有谁?信息安全岗的张涛理论上也能接触但需要二次审批。沈砚把这个名单写在笔记本上,写完之后盯着"季成蹊"三个字看了很久。 "别去季成蹊办公室。" 这条短信的警告对象如果是季成蹊本人,那发信者是在阻止他去跟季成蹊当面对质。但如果季成蹊就是幕后的人呢?发信者是在保护他?还是在拖延时间,好让季成蹊那边销毁证据? 沈砚站起来在房间里踱步,拖鞋踩在旧瓷砖上发出轻微的摩擦声。他的房间很小,一张床一张书桌一个衣柜,从门口走到窗边只需五步。窗外的天开始泛了一点灰蓝色,路灯的光在渐亮的天色里显得微弱了一些。凌晨四点半了。 他走到窗边,拨开百叶窗的一条缝隙往外看。宿舍楼下的停车场空荡荡的,只有一辆白色的长安面包车停在角落,车身上印着"星海园区物业"的字样。车头朝外,驾驶座没人。沈砚又往左边看了看,A座的大楼轮廓在晨雾里模糊不清,三楼的窗户暗着,没有灯光。 他重新拉上百叶窗,回到书桌前坐下。 手机屏幕亮了一下。是短信提示。 沈砚的呼吸忽然停了一瞬。他伸手去拿手机,手指尖碰到屏幕的时候微微发颤——解锁之后,看到的是方睿发来的微信。 "老沈,你睡没?我刚想起来件事。" 沈砚松了口气,但那口气吐出来的时候胸腔里还是堵着一团东西。他打字回复:"没睡,你说。" 方睿那边秒回了语音条。沈砚点开听,方睿的声音压得很低,背景里隐约有机房风扇的嗡鸣:"我刚才翻了一下前几天值班日志的附件存档,就是那个Excel表格里的操作明细,你猜怎么着?零点四十七分的操作记录,日志里面写的终端MAC地址,跟李振鹏平时用的那台机子对不上。" 沈砚的手指立刻停在屏幕上方。他重新按了一遍语音条,确认自己没有听错。终端MAC地址对不上,这意味着零点四十七分登录运维系统的物理设备不是李振鹏工位上的那台台式机——有人用了别的电脑,甚至可能是笔记本或者手机远程接入,然后冒用李振鹏的账号。 "你有那个MAC地址的完整信息吗?"他打字问。 方睿又回了一条语音,这次语速更快了一些:"有,但我现在不敢查。凌晨这个时间段我再登录系统查东西会产生新的日志条目,我不想打草惊蛇。等天亮之后我可以用私人笔记本连VPN走访客通道查,那个不会记录操作人信息。" 沈砚听完这条,拇指在屏幕上悬了两秒。他忽然注意到微信聊天框顶部的"方睿"两个字旁边多了一个红色的小圆点——那是对方撤回了一条消息的提示。他往上滑了两下,发现方睿在刚才那两条语音条之前还发过一句文字消息,但已经撤回了。 沈砚皱起眉,打字问:"你撤回了什么?" 方睿隔了七八秒才回,这次发的是文字:"算了,那个信息可能不准,先不说。你白天什么安排?" 沈砚盯着这行字。方睿从来不会说"可能不准"这种话,那个人的性格是数据控,对不准的东西只会说"等核实后再说",不会用这种模糊的措辞。沈砚怀疑撤回的内容跟刚才提到的MAC地址有关,可能是方睿查到了那个MAC地址关联的设备位置,但说出来会有风险。 他意识到现在不能逼方睿太紧。凌晨四点多的状态,任何过度的追问都可能让对方直接关机睡觉。 "白天去设备科,找刘科长借图纸。"他打字回,"空调外机电路图。顺便看看李振鹏今天来没来上班。" 方睿回了一个"OK"的表情,然后说:"那你先眯会儿,我下班前跟你碰个头。" 沈砚放下手机,没有回这条消息。他靠在椅背上,盯着天花板看了十几秒,那个旧LED灯管里有只死蛾子的影子贴在玻璃管壁上。房间里除了空调的声音,安静得能听见自己的呼吸和心跳。 这时候,手机又亮了。 不是微信。不是短信。是系统通知——他之前设置的日程提醒,内容是"上午九点半 季成蹊办公室 汇报材料"。 沈砚盯着这条通知,想起那条短信的第三句话:"别去运维机房。" 短信阻止他去两个地方:季成蹊办公室和运维机房。前者是他原定汇报的目的地,后者是存放监控服务器硬盘的物理位置。如果他要查监控中断的原始录像,就必须去运维机房调取本地缓存盘里的数据。但那个机房的门禁记录和操作日志都可能被人盯着。 方睿提到设备科工控机里有备份录像,那是另一个路径。工控机在设备科的办公室,跟运维机房不同楼、不同网段。发短信的人知道他会去运维机房,但未必知道工控机备份的事——那是方睿昨晚才临时想起的线索,沈砚本人也是凌晨才第一次听说。 沈砚忽然坐直了身体。 他抓起笔记本,翻到空白页,画了一个简单的坐标图。横轴是时间,纵轴是信息源。他把短信、方睿、OA日志、检修单、面馆线索分别标了上去,然后用线连起来。几笔画完之后,他停住了笔。 短信告知他"别去季成蹊办公室"的时间点是凌晨三点十七分,而方睿告诉他设备科工控机有备份录像的时间是凌晨两点五十八分——早了将近二十分钟。也就是说,那个神秘的短信发送者在方睿跟他透露工控机备份之前就已经决定要阻止他去季成蹊办公室了。 这两件事在时间上不构成因果链条。 "所以发短信的人阻止我去季成蹊办公室,跟备份录像没关系。"沈砚用笔尖点着坐标图上的那条时间线,"那是另一条线索上的事。季成蹊办公室里有什么?" 他脑海里翻过几个可能性。季成蹊办公室在A座五楼,东侧尽头,旁边就是行政会议室。五月十三号那天白天有集团巡检组的接待会,季成蹊下午四点到六点都在会议室。办公室里应该没人。但如果零点四十七分的参数调整真的是人为操作,操作者需要在设备间或者某个终端旁完成,季成蹊办公室的电脑同样有admin_sec权限。 有人在办公室里做了什么。或者留下了什么。 沈砚合上笔记本,决定暂缓入睡。他把手机调到勿扰模式,但保留了短信和电话的白名单——方睿、刘建国、还有他自己办公室的座机。然后他站起来,走到衣柜前,从最上面一层摸出一个旧的黑色U盘,插进笔记本的USB接口。里面是他之前备份的一些系统日志,是从OA下载的时候顺手存的,当时没多想,但现在成了少数几个能离线查看的数据源。 他把U盘里的文件夹打开,按时间排序,找到五月十二号下午五点到晚上十点的那一批日志。那时候还没到凌晨的异常时间窗口,但可能有一些前置操作——比如修改权限、预置脚本、或者测试连接。 文件有七个。他打算一个一个看完。 就在他双击打开第一个日志文件的时候,手机又震动了一下。这次的震动很短促,像是单纯的通知推送。沈砚偏头瞥了一眼屏幕,发现是一条新的短信,号码还是同一串字母乱码。 内容只有四个字: "别去设备科。" 沈砚的手指顿在键盘上。他盯着屏幕看了三秒钟,然后缓缓把视线移向窗外。百叶窗外,天色已经从灰蓝变成了浅白,凌晨四点半了,园区的鸟开始叫了,隐约能听到一两声麻雀的啁啾。 他低声骂了一句脏话,然后把笔记本的屏幕合上,只留了台灯的光芒。灯管嗡嗡地响着,像一只困在玻璃罩里的苍蝇。手机屏幕上的短信自动暗了下去,房间里恢复了那种暗沉沉的、混合着晨曦与人工光的诡异亮度。 "你已经知道我看了检修单。"沈砚对着空气说,声音里带着一种他自己都分辨不清是疲惫还是愤怒的质地,"你知道我知道李振鹏。现在你又知道方睿说了设备科的事。你们到底在哪儿?" 没有人回答。只有空调外机在远处的某个角落发出金属热胀冷缩的咔嗒声。那个声音很轻,但在寂静的凌晨四点半里,它像一记闷锤,敲在他神经最紧绷的那个点上。 沈砚拿起手机,把那串乱码号码复制到一个加密便签里,然后把手机关了机。屏幕彻底黑下去的那一刻,房间里少了唯一的光源,只剩下台灯的白光包围着他。他坐在椅子上,面前是合起来的笔记本和摊开的打印纸,窗外天越来越亮,办公区很快就要开始早高峰的人车声了。 他还有四个小时。四个小时之后,设备科的刘科长就该到了。而在这四个小时里,他必须做出一个选择——听短信的,不去设备科;还是赌一把,继续追查那条线。 沈砚闭上眼睛,仰头靠在椅背上,台灯的白光从下面打上来,在他下巴上投了一道锐利的阴影。 空调的冷风持续地吹在他后颈上,带着一种说不清的、像机器在呼吸一样的有节奏的嗡鸣。