杜鸣的方案很简单——也很冒险。
安保主管的管理员账号有门锁日志的查看权限,但没有“backup_keys”目录的访问权限。那个目录只对ADMIN_A开放。但杜鸣发现了一个漏洞:绿岛系统V3升级后,新增了一个“系统健康检查”功能,这个功能会自动扫描所有加密目录并生成报告。报告中虽然不显示文件内容,但会列出目录名、文件数量和最后修改时间。
“我跑了一次健康检查。”杜鸣把笔记本电脑转向林越,“看——backup_keys目录,文件数量:47,最后修改时间:2025年5月20日。”
“5月20日。孙桂兰改密码那天。”
“对。也就是说,那天有人在复制完孙桂兰的新密钥之后,更新了这个目录。47个文件——如果只针对失踪者,好几年加起来应该不到十个。但这里有47个。”
“47个?”林越皱眉,“远超失踪者数量。”
“说明密钥复制不只针对失踪者。可能所有住户的密钥都被复制了——失踪者只是其中被‘选中’的。”
林越沉默了。47个文件意味着云栖里可能有47户的门锁密钥被物业存在手里。他们随时可以打开任何一户的门——就像他们打开了那五户一样。
“但光知道文件数量不够。”林越说,“我需要看到文件名——文件名应该包含门锁编号或户号。这样就能证明密钥复制记录和失踪名单一一对应。”
“健康检查报告不显示文件名。”
“那就得直接进backup_keys目录。需要ADMIN_A密码。”
“密码我搞不到。郑承渊每季度换一次,我从没碰过。”
林越想了一会儿:“系统升级的时候,有没有可能旧版的管理员密码被保留在某个配置文件里?”
杜鸣愣了一下,然后迅速在电脑上操作起来。他打开本地服务器D盘的“archive”目录——上次他就是在那里找到了旧数据库。翻了十几分钟,找到了一个叫“greenisland_v2_config.bak”的文件。
“这是V2版本的系统配置备份。”杜鸣说,“如果V2和V3用的密码体系是连续的……”
他用文本编辑器打开了配置文件。里面是密密麻麻的参数。搜索“admin”,找到一行:
“superadmin_hash:a3f7d2e1b9c4****”
“哈希值。”林越说,“加密的。但V2的密码哈希算法是MD5——不安全。我可以尝试彩虹表反查。”
当晚,林越在自己的笔记本上跑了一个MD5彩虹表工具。几分钟就破解了。
密码是:hengyuan2019。
恒远2019。恒安物业入驻云栖里的年份。
“郑承渊用的密码……”杜鸣看着这行字,脸色铁青。
“不一定是郑承渊设的。可能是系统初始化的默认密码,也可能是集团统一设置的。”林越说,“但现在不重要——重要的是我们能进去了。”
六月十二日深夜,林越独自进了弱电机房。
他用ADMIN_A账号登入绿岛系统V3后台,打开“backup_keys”目录。
47个文件。文件名格式统一:房号_密钥类型_日期.key。但在目录的最上方还有一个索引文件——index.csv。林越点开一看,里面两列:编号、房号。编号从1排到47,但中间有跳号——最大编号到了63。这说明编号不是9号楼的本地序号,而是恒远集团跨小区的统一流水号。云栖里的47户只是整个集团“候选池”的一部分。
他按日期排序,从最早的开始看。
第一个文件:7-1302_fingerprint_20171015.key
7号楼1302室。指纹密钥。2017年10月15日。
老周名单上的第一个失踪者——刘建国,2017年10月失踪。
第二个文件:3-801_fingerprint_20180620.key
3号楼801室。2018年6月20日。
失踪者——张美兰,2018年6月。
第三、第四个——前物业时期的失踪者,全部在列。
然后是恒安入驻后的:
9-1101_fingerprint_20210518.key→孙红梅
9-2302_password_20220515.key→赵大勇
9-1701_fingerprint_20230522.key→钱淑芬
9-1403_password_20240519.key→李学军
9-1102_fingerprint_20250520.key→孙桂兰
全部在列。九个失踪者,九份密钥文件。林越注意到——恒安时期的五个文件,日期全在5月,不是6月。5月是住户改密码的月份。郑承渊改完密码当天就复制了密钥,然后等一个月,在6月动手。
但还有更多。47个文件,失踪者只占9个——其余38个,对应的是其他住户。这些住户还没失踪——但他们的密钥已经被复制了。
林越的心沉到了谷底。这意味着物业手里握着所有目标的钥匙——他们可以随时“启动”下一个。
他快速把文件列表截了图,又把9个失踪者的密钥文件详细信息导出来,存进加密U盘。
导出完成后,他清掉操作痕迹,退出后台。
走出机房的时候,走廊的灯突然全亮了。
他一抬头——沈荷站在走廊另一端。
“林越?”她的声音带着恰到好处的惊讶,“这么晚还在加班?”
“巡检。”他说。
“你的巡检不是被调走了吗?”
这句问话太精准了。林越看着她,知道再装下去没有意义了。
“我来拿个工具。”他扬了扬手里的工具包。
沈荷笑了笑,侧身为他让路。林越从她身边走过的时候,闻到了一股淡淡的香水味——不是客服该用的那种。
他加快脚步走出9号楼。雨打在脸上,冰凉的。
他摸了摸内衬口袋里的U盘。数据在手。现在他手里有了完整的物证链:
门锁日志——证明失踪者最后被管理员密钥开门。
监控底层日志——证明监控被手动切维护模式+循环回放。
代签笔迹——证明“自愿迁出”文件非本人签字。
维修单——证明物业诱导住户修改密码。
后门固件——证明物业可通过远程诊断复制密钥。
密钥导出记录——证明物业确实复制了失踪者的密钥。
六环。环环相扣。每一环都指向同一个结论——
有人利用物业系统的漏洞,在梅雨季凌晨进入独居住户家中,然后伪造签字将他们“自愿迁出”。失踪者的密钥被提前复制,监控被手动关闭,签字被统一代签。这是一条有组织的、标准化的、运转了至少五年的犯罪链条。
证据够了。
但林越总觉得缺了什么。证据能证明“怎么做的”,但“为什么”——那些人被“迁出”之后,到底去了哪里?他们还活着吗?
老周说他在柳荫巷见过一个从云栖里“迁出来”的老太太。活着,但像换了一个人。
程茹——阿茹——也是“迁出”之后消失的。她还活着吗?她现在在哪里?
林越必须亲眼看看那些被“置换”之后的人。
他必须潜入一间空置房。




京公网安备 11010802028299号