第13章:将计就计
路容回到工位,没有立刻坐下。她站在窗前,看着楼下深港市的车流。阳光透过玻璃照进来,在地板上投出明亮的光斑。办公室里很安静,只有键盘敲击声和偶尔的电话铃声。她能感觉到背后有目光在注视,好奇的,同情的,幸灾乐祸的。她转过身,打开电脑。屏幕亮起,显示着时间:上午十点四十七分。24小时倒计时,现在开始。她登录内网,打开共享文件夹,下载了王总监提供的操作日志。文件不大,只有几MB。她解压缩,打开第一个日志文件。密密麻麻的文字在屏幕上滚动。她的手指放在键盘上,开始输入第一个查询命令。
日志在屏幕上展开,黑色的字符在白色背景上排列成行。路容的眼睛快速扫过每一行,寻找着那些她熟悉的标记。她记得很清楚,上周五下午清洗数据时,她按照自己的习惯,在系统中创建了三个临时文件:checkpoint_ruoxi_1103_1430.txt、checkpoint_ruoxi_1103_1520.txt、checkpoint_ruoxi_1103_1615.txt。这三个文件记录了她在不同阶段的清洗进度和参数设置,是她工作流程的一部分。在正常的系统日志中,这些文件的创建、修改、删除都应该有记录。
但王总监提供的日志里,什么都没有。
路容的手指在键盘上停顿了一下。她重新输入查询命令,扩大搜索范围,将时间范围扩展到整个上周五。结果依然一样——没有那些标记文件的任何记录。这不可能。除非有人手动删除了这些日志条目。
她靠在椅背上,闭上眼睛。办公室里空调的嗡嗡声变得清晰起来,混合着远处打印机工作的咔哒声。她能闻到空气中淡淡的咖啡味,还有某种清洁剂的柠檬香气。她的手指在桌面上轻轻敲击,节奏很慢,像是在计算着什么。
这是王总监设的局。不,不止是王总监。李剑一定在背后。他们想用这种方式把她赶出公司,或者更糟——让她背上商业泄密或重大失职的罪名。直接辩解没有用,王总监既然敢拿出这些剪辑过的日志,就说明他们已经准备好了说辞。她需要确凿的证据,需要完整的系统日志,需要看到那些被删除的记录。
她睁开眼睛,看向电脑屏幕右下角的时间:十一点零三分。
还有不到二十三小时。
她想起老吴。上周三在楼梯间,那个头发花白、穿着皱巴巴衬衫的IT部老员工,递给她一张纸条,上面写着一串路径:“/var/log/secure_backup/,周三晚八点半后,监控盲区生效十五分钟。”老吴当时说得很含糊,只说如果她遇到麻烦,可以试试这个路径,但没解释具体怎么用。现在想来,那可能是某种备份日志的访问路径,而监控盲区,或许是她接近某些敏感区域的机会。
路容打开手机,调出日历。今天是周五。周三已经过去了。但老吴说的是“周三晚八点半后”,这意味着每周三晚上八点半,监控系统会有十五分钟的盲区?她需要确认。
她站起身,拿起桌上的水杯,朝茶水间走去。脚步很轻,像是随意散步。经过林晓的工位时,她瞥了一眼——林晓正趴在桌上,肩膀还在微微颤抖,旁边有两个女同事在低声安慰她。路容没有停留,径直走进茶水间。
茶水间里没有人。咖啡机发出咕噜咕噜的煮水声,空气里弥漫着浓郁的咖啡香。路容接了一杯温水,靠在料理台边,慢慢喝着。她的目光落在墙上的排班表上——那是保洁人员的排班表,但旁边还贴着一张保安值班表,用透明胶带粘着,边角已经卷起。
她走过去,假装整理自己的袖口,目光快速扫过那张表格。
保安值班表是按周排的,用黑色水笔手写,字迹有些潦草。她找到了周三晚上的那一栏:18:00-02:00,值班人:张小军(小张)。后面用红笔标注了一个小小的奶茶图标。
路容的瞳孔微微收缩。
她记得老吴提过保安小张——一个二十出头的年轻人,喜欢打游戏,值班时经常犯困,最爱喝全糖奶茶。老吴当时是随口说的,像是在抱怨现在的年轻人不敬业。但现在想来,那可能不是抱怨,而是信息。
路容放下水杯,走出茶水间。回到工位时,她的心里已经有了计划。
下午的工作照常进行。王总监没有再出现,但办公室里弥漫着一种压抑的气氛。同事们看路容的眼神更加复杂,有人刻意避开她的目光,有人在她经过时压低声音说话。路容没有理会,她专注地处理着手头的工作,偶尔在笔记本上记录着什么,看起来像是在认真查找数据污染的原因。
只有她自己知道,笔记本上写的是另一套东西。
时间:周三晚八点半。
地点:监控室所在楼层(B2层东侧走廊)。
目标:获取服务器日志备份系统的访问信息。
方法:利用监控盲区,接近值班保安小张,以查看监控为名,观察监控主机界面。
准备:一杯全糖奶茶。
她把这些要点写在笔记本的角落,字很小,用只有自己能看懂的符号做了标记。然后她撕下那一页,折成小块,塞进钱包的夹层里。
下午五点,下班时间到了。
同事们陆续离开,办公室里的灯一盏盏熄灭。路容没有走,她坐在工位上,看着电脑屏幕上的时间。六点,七点,七点半。窗外的天色渐渐暗下来,深港市的霓虹灯开始亮起,远处的写字楼像一个个发光的盒子。办公室里只剩下她一个人,顶灯已经关了,只有她工位上的台灯还亮着,在桌面上投出一圈暖黄色的光。
她打开手机,点开外卖软件,找到一家还在营业的奶茶店,点了一杯全糖珍珠奶茶,备注:多加珍珠,少冰。配送地址写的是公司楼下大堂。
七点五十分,外卖到了。
路容下楼取回奶茶。塑料杯很冰,表面凝结着细密的水珠,摸上去湿漉漉的。杯身上贴着的标签写着“全糖”,字是红色的,在灯光下很醒目。她提着奶茶回到办公室,放在桌上,然后开始等待。
八点十分。八点二十分。八点二十五分。
她关掉台灯,办公室陷入黑暗。只有电脑屏幕还亮着,显示着时间:八点二十八分。她站起身,拿起奶茶和手机,走出办公室。
走廊里很安静,感应灯随着她的脚步一盏盏亮起,投下苍白的光。她的脚步声在空旷的走廊里回响,很轻,但在这寂静中显得格外清晰。她能闻到空气中残留的消毒水味,还有某种金属的冷冽气息。电梯下到B2层,门打开时,一股更冷的空气涌进来。
B2层是设备层和监控室所在的地方。走廊很窄,天花板很低,裸露的管道纵横交错,表面刷着灰色的防锈漆。灯光是冷白色的,照在水泥地面上,反射出暗淡的光。路容沿着走廊向东走,脚步声在管道间回荡,像是有什么东西在跟着她。
她看到了监控室的门。
那是一扇厚重的金属门,漆成深灰色,门上有一个小小的观察窗,玻璃是单向的,从外面看不到里面。门旁边挂着一个牌子:“监控重地,闲人免进”。门缝底下透出一线光,很微弱,像是屏幕发出的光。
路容停下脚步,站在距离门五米远的地方。她看了眼手机:八点二十九分。还有一分钟。
她深吸一口气,调整了一下呼吸。然后她抬起手,敲了敲门。
里面没有回应。
她又敲了敲,这次用力了一些。
“谁啊?”一个含糊的声音从里面传来,带着刚睡醒的沙哑。
“我是数据分析部的若溪。”路容说,声音放得很轻,带着一点歉意,“不好意思打扰了,我有点急事。”
门开了。
一个年轻的保安探出头来,穿着深蓝色的制服,帽子歪戴着,眼睛还有些惺忪。他看起来二十出头,脸圆圆的,皮肤很白,嘴角还沾着一点口水渍。他看到路容,愣了一下,然后揉了揉眼睛。
“什么事?”他问,声音里带着警惕。
路容举起手里的奶茶,塑料杯在灯光下泛着微光。
“我点了奶茶,多买了一杯。”她说,脸上露出一个不好意思的笑容,“想着值班可能挺无聊的,就带下来了。全糖的,不知道你喜不喜欢。”
小张的眼睛亮了一下。他盯着那杯奶茶,喉结动了动。
“这……不太好吧。”他说,但手已经伸了出来。
“没事的,反正我也喝不完。”路容把奶茶递过去,塑料杯表面的水珠沾湿了她的手指,凉凉的。
小张接过奶茶,脸上的警惕放松了一些。他打开杯盖,吸管插进去,吸了一大口,然后满足地叹了口气。
“谢谢啊。”他说,声音变得友善多了,“你怎么这么晚还没走?”
“加班。”路容说,叹了口气,“最近项目紧,压力大。对了,其实我还有件事想麻烦你。”
“什么事?”
路容摸了摸自己的耳朵,脸上露出焦急的表情。
“我的一只耳钉掉了。”她说,“是男朋友送的,挺贵的。我记得下午在工位附近还戴着,晚上就发现不见了。能不能麻烦你帮我回看一下监控?就我工位附近,大概傍晚五六点的时候。”
小张犹豫了一下,又吸了一口奶茶。
“这个……监控不能随便看的。”他说。
“我知道,所以我才这么晚下来,不想让别人知道。”路容的声音里带着恳求,“就看一下,几分钟就好。我真的找了好久,办公室都翻遍了,就是找不到。那耳钉对我很重要……”
她看着小张,眼睛在灯光下显得很亮,带着一点水光。
小张又喝了一口奶茶,珍珠在吸管里发出咕噜咕噜的声音。他看了看路容,又看了看手里的奶茶,终于点了点头。
“好吧,就看一下。”他说,“你工位在几楼?”
“七楼,数据分析部,靠窗第三个工位。”
“行,你进来吧。”小张推开门,“不过只能看,不能录,也不能太久。”
“谢谢,真的太感谢了。”路容跟着他走进监控室。
监控室不大,大约十平米,四面墙上挂满了显示器,大大小小几十块,显示着公司各个角落的实时画面。屏幕的光在昏暗的房间里闪烁,映出各种角度的走廊、电梯、办公室、楼梯间。房间中央是一张L形的工作台,上面摆着三台主机,键盘鼠标杂乱地放着。空气里有一股泡面和电子设备混合的味道,还有奶茶的甜香。
小张坐在主控台前,操纵着鼠标。路容站在他身后,目光快速扫过整个房间。
她的视线落在最右边那台主机上。那台机器的屏幕显示的不是监控画面,而是一个命令行界面,黑色的背景,绿色的字符在滚动。屏幕顶端有一行字:“日志备份系统——只读访问”。下面是一串IP地址:192.168.10.47:8088。再下面是一个登录提示:“请输入账户名:”。
账户名的格式是:ad_backup_xxxx。xxxx是四位数字。
路容的心脏跳得快了一些。她强迫自己移开视线,看向小张面前的监控屏幕。
“七楼,数据分析部……”小张嘟囔着,操纵着摇杆,画面在屏幕上切换。很快,路容工位附近的画面出现了——空荡荡的办公室,工位整齐排列,窗外的城市夜景在背景里闪烁。
“时间调到几点?”小张问。
“五点半左右吧。”路容说。
小张调整时间轴,画面开始快进。办公室里没有人,只有灯光亮着。时间跳到六点,六点半,七点……画面一直很平静,什么都没有发生。
路容知道为什么。老吴说的监控盲区,应该就是指这个时段——每周三晚上八点半后的十五分钟,监控系统会自动切换备份,这段时间的监控画面不会被记录,或者会被覆盖。所以她要求看傍晚时段的监控,这个时段是正常的,拍不到什么异常,但也不会引起小张的怀疑。
“没看到什么啊。”小张说,画面已经快进到八点,“你确定是在工位附近掉的?”
“可能是我记错了。”路容说,声音里带着失望,“算了,不找了。谢谢你啊,小张。”
“没事。”小张关掉监控画面,转过身,又喝了一口奶茶,“你要不再找找?说不定掉在别的地方了。”
“嗯,我再回去找找。”路容说,目光不经意地扫过那台日志备份主机。
屏幕上的命令行界面还开着,绿色的光标在闪烁。她看到了账户名的完整格式:ad_backup_后跟四位数字,数字似乎是日期相关的,因为她看到了“1129”这样的组合——今天是11月3日,1129可能是11月29日的缩写?不,也可能是某种编号规则。
她记住了。IP地址:192.168.10.47:8088。账户名格式:ad_backup_xxxx。
“那我先走了。”路容说,“不打扰你值班了。”
“好,慢走啊。”小张挥了挥手,注意力已经回到了奶茶上。
路容走出监控室,金属门在身后关上。走廊里依然安静,冷白色的灯光照在她脸上。她沿着原路返回,脚步很稳,但手心已经出汗了。
回到七楼办公室,她关上门,靠在门上,长长地吐出一口气。
心脏还在剧烈跳动,血液冲上耳膜,发出嗡嗡的声音。她能闻到手上残留的奶茶甜香,混合着监控室里的电子设备气味。她走到窗边,看着楼下的城市夜景,霓虹灯在夜色中流淌,像一条发光的河。
时间:晚上九点零七分。
还有不到二十小时。
她没有再停留,收拾好东西,关掉电脑,离开了办公室。
出租车在夜色中穿行。路容坐在后座,看着窗外飞速后退的街景。路灯的光线在车窗上划过一道道流动的痕迹,商店的招牌在黑暗中闪烁,行人匆匆走过,脸上带着疲惫或兴奋。深港市的夜晚永远这么热闹,但这一切都离她很遥远。
她回到出租屋,打开门,熟悉的狭小空间扑面而来。房间不大,一室一厅,家具简单,但收拾得很整洁。空气里有一股淡淡的灰尘味,混合着昨天煮泡面留下的汤料香气。她关上门,反锁,拉上窗帘,然后打开灯。
暖黄色的灯光照亮了整个房间。
路容放下包,脱下外套,走到书桌前。桌上摆着一台笔记本电脑,黑色的,表面有些磨损。她打开电脑,等待系统启动的间隙,她起身去厨房倒了一杯水。水是凉的,流过喉咙时带来一阵清爽。她端着水杯回到书桌前,坐下。
电脑已经启动完毕。她打开浏览器,在地址栏输入:192.168.10.47:8088。
页面加载,跳转,出现一个简洁的登录界面。蓝色的背景,白色的输入框,上面写着:“星耀集团日志备份系统(只读权限)”。下面有两个输入框:账户名,密码。
路容盯着屏幕,手指放在键盘上。
账户名格式:ad_backup_xxxx。xxxx是四位数字。她回忆着在监控室看到的那个例子:ad_backup_1129。1129是什么意思?可能是月份和日期?11月29日?但今天是11月3日。也可能是某种固定编号。
她尝试输入:ad_backup_1103。
密码呢?常见的弱口令有哪些?admin、password、123456、admin123、公司缩写+年份……
她先试了试admin。错误。
password。错误。
123456。错误。
她停顿了一下,想了想。这种备份系统,密码可能设置得比较简单,因为只有内网可以访问,而且只有只读权限。她尝试输入:star2023(星耀的英文是star,2023是今年)。
错误。
star2024。错误。
她靠在椅背上,闭上眼睛。房间里很安静,只有电脑风扇发出的轻微嗡嗡声。她能听到自己的呼吸声,平稳而缓慢。窗外的街道上偶尔有车驶过,轮胎摩擦地面的声音由远及近,又由近及远。
她睁开眼睛,重新看向屏幕。
账户名是ad_backup_1103。密码会不会也是1103?或者反过来,3011?
她输入密码:1103。
错误。
3011。错误。
她想了想,又试了试:backup1103。
错误。
她几乎要放弃了。但就在这时,她想起老吴。老吴是IT部的老员工,知道这个路径,知道监控盲区,那他可能也知道默认的密码规则。老吴给她的提示是“周三晚八点半后,监控盲区生效十五分钟”,这暗示了时间和机会,但没有提密码。但老吴说话的习惯——他喜欢用简单的数字组合,比如工号后四位,或者部门编号。
路容打开手机,翻出公司通讯录。她找到老吴的条目,工号:IT0479。后四位是0479。
她尝试输入密码:0479。
错误。
她又试了试:4790。
错误。
她盯着工号,突然想到什么。老吴的工号是IT0479,但备份系统的账户名是ad_backup_xxxx,这个xxxx可能不是日期,而是工号的后四位?但老吴的工号后四位是0479,而她在监控室看到的是1129。不对。
等等。1129。如果拆开看,11和29。11可能是部门编号?29可能是工号后两位?她不知道。
她尝试输入密码:1129。
错误。
她几乎要放弃了。但就在这时,她想起另一种可能——这种备份系统,初始密码可能和账户名相同。她尝试输入密码:ad_backup_1103。
错误。
那如果去掉下划线呢?adbackup1103。
她输入,按下回车。
屏幕闪烁了一下,跳转了。
登录成功。
路容的心脏猛地一跳。她盯着屏幕,几乎不敢相信。页面跳转到一个简洁的查询界面,左侧是日志分类菜单:系统日志、安全日志、应用日志、数据库日志、网络日志……右侧是查询条件输入框,可以按时间、IP地址、用户名、操作类型等筛选。
她深吸一口气,手指在键盘上微微颤抖。
现在,她可以看到了。完整的系统日志,没有被剪辑过的,原始记录。
她移动鼠标,点开“系统日志”,然后在时间条件里输入:2023-11-03 14:00 到 2023-11-03 18:00。这是上周五下午,她清洗数据的时间段。
点击查询。
屏幕开始加载,进度条缓慢移动。房间里只有电脑风扇的声音,还有她自己的心跳声。窗外的夜色更深了,远处传来隐约的警笛声,由远及近,又由远及远。
进度条走到底,结果页面展开。
密密麻麻的日志条目出现在屏幕上,每一条都有时间戳、IP地址、用户名、操作类型、操作对象、结果状态。路容的眼睛快速扫过,寻找着自己的操作记录。
她找到了。
14:30:22,IP:10.10.7.45,用户:ruoxi,操作:CREATE_FILE,对象:/data/bluepn/temp/checkpoint_ruoxi_1103_1430.txt,结果:SUCCESS。
15:20:11,IP:10.10.7.45,用户:ruoxi,操作:MODIFY_FILE,对象:/data/bluepn/temp/checkpoint_ruoxi_1103_1430.txt,结果:SUCCESS。
15:20:18,IP:10.10.7.45,用户:ruoxi,操作:CREATE_FILE,对象:/data/bluepn/temp/checkpoint_ruoxi_1103_1520.txt,结果:SUCCESS。
16:15:07,IP:10.10.7.45,用户:ruoxi,操作:CREATE_FILE,对象:/data/bluepn/temp/checkpoint_ruoxi_1103_1615.txt,结果:SUCCESS。
16:30:45,IP:10.10.7.45,用户:ruoxi,操作:LOCK_FILE,对象:/data/bluepn/cleaned/bluepn_data_1103_final.csv,结果:SUCCESS。
这些记录都在。和她记忆中的一模一样。但在王总监提供的日志里,这些记录全部消失了。
路容继续往下翻。她想知道,在她锁定文件之后,还有谁接触过那些数据。
日志继续滚动。
17:02:33,IP:10.10.7.45,用户:ruoxi,操作:LOGOUT,结果:SUCCESS。
17:02:33,系统:用户ruoxi已登出。
然后是一段空白。直到——
22:47:19,IP:10.10.10.12,用户:admin_wang,操作:LOGIN,结果:SUCCESS。
22:48:05,IP:10.10.10.12,用户:admin_wang,操作:UNLOCK_FILE,对象:/data/bluepn/cleaned/bluepn_data_1103_final.csv,结果:SUCCESS。
22:49:11,IP:10.10.10.12,用户:admin_wang,操作:MODIFY_FILE,对象:/data/bluepn/cleaned/bluepn_data_1103_final.csv,结果:SUCCESS。
22:50:03,IP:10.10.10.12,用户:admin_wang,操作:LOCK_FILE,对象:/data/bluepn/cleaned/bluepn_data_1103_final.csv,结果:SUCCESS。
22:50:07,IP:10.10.10.12,用户:admin_wang,操作:LOGOUT,结果:SUCCESS。
路容盯着屏幕,眼睛一眨不眨。
IP:10.10.10.12。这是王总监办公室的IP地址,她之前查过。用户:admin_wang,这是王总监的管理员账户。时间:晚上十点四十七分到十点五十分。操作:解锁文件,修改文件,重新锁定文件。
在她完成清洗并锁定文件五个多小时后,王总监用管理员权限解锁了文件,进行了修改,然后重新锁定。
这就是数据污染的真正原因。
路容的手指停在触摸板上,微微颤抖。屏幕的光映在她脸上,照亮了她眼中闪烁的光芒。那光芒很冷,很锐利,像刀锋。
她找到了。确凿的证据。
但还不够。她需要知道王总监具体修改了什么,怎么修改的。她需要看到文件内容的变化记录。她需要把这些证据整理成无可辩驳的报告。
她看了眼电脑右下角的时间:晚上十一点二十三分。
还有不到二十一小时。
她移动鼠标,点开了“文件操作详情”的链接。
屏幕开始加载新的页面,进度条缓慢移动。房间里的灯光很暖,但路容感觉不到温暖。她只感觉到一种冰冷的兴奋,像电流一样流过全身。窗外的城市已经安静下来,只有偶尔的车灯划过窗帘的缝隙,投下转瞬即逝的光影。
进度条走到底,新的日志条目展开。
她开始。