早上七点四十六,信息科的灯光仍旧冷白,像把每个人的情绪都过滤了一遍。关门时刻之后,最难的部分反而开始了:门已经关上,但门后面还有一条更隐蔽的走廊――“周总”这道影子门。要把影子门也关死,就不能只靠抓住一个会议室、一台笔记本、一块硬盘;必须把“位置”还原成“人”,把“代号”还原成“组织”。
周工把那块贴着“lm-ctrl”的移动硬盘照片投到屏幕上,指着标签边缘那一点不规则的墨迹:“你们注意到了吗?字是随手写的,但标签纸不是随便买的。标签纸是成卷的工业标签,用在机房、仓库、资产管理。谁会在共享办公室里用机房标签?只有长期做运维的人。”
罗工接话:“而且硬盘不是普通移动硬盘,带硬件加密和防拆封条。这种东西不是临时‘帮忙搬’会配的。是标准资产。”
纪检联络员把“资产化”三个字写在白板上:“系统化犯罪最怕资产化被证明。一旦被证明是资产、是流程、是版本迭代,就很难再说‘临时拼凑’。”
护士长从门口走进来,声音压得很低:“病区那边稳定。赔付短信零星出现,但大多数人学会了把截图发管理员,不再私聊。有人开始问‘什么时候返钱’,我照你们口径答复,只说‘编号核验为准’。”
纪检联络员点头:“稳住就好。只要公众端不乱,我们就有时间把代号落地。”
周工把白板分成三列:**代码**、**部署**、**付款**。每列下面写了三个词:账号、日志、关系。
“周总不打字,只用语音。”周工说,“那他最容易留痕的地方,不是聊天窗口,是他付钱的地方、登录的地方、授权的地方。只要抓住这三处,就能把他从‘位置’拉回现实。”
系统提示在视野边缘亮起:
代号落地:把“周总”从位置还原为人
三条抓手:代码部署付款(账号-日志-关系)
前提:公众端稳定,留足时间做结构化证据
---
###一、云盘的门:从“仓库交付”找到“谁在发包”
上午八点二十,技术组完成了对涉案笔记本的内存镜像固化。内存镜像最宝贵的不是文件,而是“正在使用的东西”:缓存的令牌、最近访问的目录、临时密钥、未落盘的配置片段。它像一张未关的抽屉,里面放着人最常用的钥匙。
罗工盯着一串目录路径,声音很轻却带着兴奋:“找到了。云盘挂载点不叫‘云盘’,叫‘交付盘’。里面有两个目录:‘仓库交付’和‘会务脚本’。还有一个隐藏目录:‘ctrl_patch’。”
周工问:“有同步客户端信息吗?”
“有。”罗工把一个配置文件摘要投屏,“同步客户端绑定了一个管理员账号,账号的昵称不是人名,是四个字母加一串数字。更重要的是,客户端记录里保存了最近一次‘发布’的来源――不是共享办公室这台电脑,而是一台外地的设备。”
“外地?”纪检联络员抬眼。
罗工把ip归属与时间窗对齐:“是外地的住宅宽带段,不是机房。发布包一般不会在住宅宽带发布,除非发布者刻意躲避企业网络审计。”
周工用笔在白板“部署”那一列写下:**外地发布者**。又在“关系”下面写:**住宅宽带**。
“这就有意思了。”他说,“写代码的人、打包的人、发布包的人,可能不是同一人。周总也许不写代码,但他能控制发布。控制发布的人,就是门把手。”
纪检联络员立刻调整行动目标:“锁定云盘管理员账号与外地发布设备。依法调取云盘服务商的登录历史、设备指纹、二次验证方式。重点看:谁能删除目录、谁能发布交付包、谁能下发补丁。”
“ctrl_patch”这个目录名被单独圈出来。周工看了一眼:“补丁目录意味着系统在不断修补,应对风控、应对封禁、应对限流。这就是主观明知的技术痕迹。”
系统提示闪动:
突破:云盘挂载点“交付盘”目录“仓库交付”“ctrl_patch”价值:管理员账号+发布来源设备(外地住宅宽带)
结论:控制发布=控制门把手
---
###二、代码的门:从“版本”找到“人手”
上午十点零五,另一条线同时推进:代码仓库。
那名被控制的执行节点在说明中提到“开发组用代码仓库管理”。这句话看似泛泛,但配合仓库版本号“v2.7.4”、sop小字标记“02版”、以及硬盘目录“ctrl_patch”,就足够拼出一个特征:他们的开发管理相对规范,至少有版本迭代、发布流程、补丁目录、配置分层。越规范,就越难彻底抹掉痕迹――规范意味着记录。
罗工从内存镜像里又拎出一条线:“笔记本里有一个访问令牌缓存,指向一个自建代码仓库的域名。域名不在公开解析里,但在本机hosts里有映射。说明他们内部用的是私有仓库,可能自建或租用企业服务。”
周工听到“hosts映射”四个字,没露出情绪,只说:“他们怕被查,才会藏域名。但藏域名意味着运维要维护映射,维护映射意味着有人要发更新。发更新就会留下日志。”
纪检联络员马上要求依法固定:代码仓库域名、ip、证书指纹、访问令牌的适用范围,尤其是令牌绑定的账号与权限。她强调:“不要急着登录操作,先把令牌作为证据固化,再走协查流程请求仓库服务商提供审计日志。”
“我们要的是证据链,不是技术炫技。”她说。
罗工点头:“我会做只读级别的证据提取,不动仓库内容,不改变任何状态。”
下午一点四十,协查回传第一批审计摘要:该私有仓库有三类账号――开发、运维、发布。发布账号权限最高,能触发流水线、生成部署包、推送到云盘“交付盘”。发布账号的登录ip段,正好与外地住宅宽带发布源高度重合。
“发布账号就是那台外地设备。”周工说,“云盘发布源与代码仓库发布源对齐了。”
纪检联络员补了一句:“发布账号背后是谁,还要靠付款和身份链。”
系统提示亮起:
代码仓库审计摘要:开发运维发布三类账号
关键:发布账号登录ip与外地住宅宽带发布源重合
下一步:用付款与身份链把账号落到具体人
---
###三、付款的门:从“线路费”到“订阅费”
下午三点,资金侧送来一份更耐看的表:除了主控提成账户的测试转账路径图,还多了一列“固定订阅支出”。这些固定订阅像维持系统运转的水电费:云盘扩容、服务器租赁、短信通道、外呼线路费、域名证书、甚至还有一笔每月固定的“代码仓库企业版订阅”。
“企业版订阅?”周工挑眉。
资金侧解释:“付款主体是一个个体工商户,经营范围写的是‘信息咨询服务’。但每月固定支付给某平台的企业订阅费,备注里出现过‘repo’字样。”
罗工把这笔订阅费与代码仓库证书指纹对照,发现平台服务商一致。更关键的是,付款账户的实名信息与“周总”手机号的实名信息存在关联:同一紧急联系人,同一收件地址片段,同一设备曾登录。
纪检联络员看着那条“紧急联系人”字段,语气依旧平稳:“这就是影子门的门轴。周总不打字,但他要付钱。钱会留下签名,签名会留下关系。”
周工说:“这条线可以落地了:发布账号―住宅宽带―企业订阅―个体户―实名链。只要把个体户的经营地址与住宅宽带的装机地址核对,就能把‘周总’从称呼变成身份。”
纪检联络员点头:“依法调取装机信息与地址核验。并把语音证据链同步推进――语音不打字,但语音的元数据与转发链路会告诉我们,他在什么时候、用什么设备、从哪里发出语音。”
系统提示闪动:
付款链突破:代码仓库企业版订阅费(固定水电费)
关联:付款账户实名信息与“周总”手机号存在联系人地址设备交叉
收口:发布账号→住宅宽带→订阅费→个体户→实名落地
---