深海团队的三台服务器停机之后,叶诤没有立刻关掉监控。
他盯着屏幕上的日志,一条一条往下翻。服务器最后留下的记录不是正常关机,是一连串越来越快的错误代码——账户欠费、ApI密钥失效、数据库连接超时、备份进程被强行中断。三台机器,分布在三个不同的大洲,死亡症状完全一样。钱被抽干,服务商自动切了电源。
但有一个东西没死。
东南亚那台服务器的管理后台里,叶诤发现了一个还在跑的程序。不是主进程,是挂在角落里的一个监控脚本,用perl写的,逻辑很简单:每三十秒往外部一个地址发一次心跳包,连续三次发不出去就自动删库。
问题是——心跳包没发出去,删库指令也没执行成功。脚本在发到第二次心跳的时候,服务器欠费停机了。代码卡在内存里,进程没退出,就那么僵着,像一只冻在冰层里的虫子。
叶诤把脚本源代码调出来看了一遍。写得非常糙,注释全是一堆拼音缩写,但逻辑指向很明确——这不是深海自己写的监控工具。这是一个叫“暗影联盟”的团队分发的标准配置包。脚本里硬编码了一个SSh密钥,用来给远程管理员留后门。叶诤把密钥提取出来,在系统里做了指纹比对。
结果弹出来的时候,他愣了。
不是深海的。不是老狼的。甚至不是黑蜘蛛上任何一个商户的。
密钥的主人,Id叫“灰鼠”。系统从暗网历史数据里挖出来的信息显示,灰鼠最后一次活跃是去年年底,专做木马更新服务器的运维,手下管着至少四十台机器,分布在东亚、东南亚和中东。这些服务器不干ddoS,不做钓鱼邮件,只做一件事——给已经植入受害者设备的木马推送更新包。
“等于给病毒发补丁。”叶诤对周武说。
周武眉头皱了一下。“病毒还要更新?”
“要。杀毒软件一直在升级特征库,病毒不更新就会被认出来。”叶诤把SSh密钥存进加密分区,“灰鼠的服务器就是病毒的自动更新通道。他的客户把木马植进受害者设备之后,木马会自动连到灰鼠的服务器下载最新变种。灰鼠的机器只要还跑着,那些木马就全是活的。”
但现在灰鼠的服务器也快死了。深海资金链断裂,灰鼠作为深海的合作方,被同一个云服务代理商牵连了。代理商发现深海的账单炸了之后,怕自己也跟着沉船,直接把名下所有关联客户的机器全部暂停。
叶诤调出灰鼠那四十台服务器的管理后台,只剩三台还在喘气。其余的全被停了——不是因为被查到非法内容,而是因为没人续费。最便宜那档月租套餐,几十块钱,就这么点钱,愣是没人掏。
灰鼠失踪了。邮箱三天前就开始退信,telegram最后一次上线是七十二小时前。暗网备用频道里有人在打听灰鼠的下落,没人知道他在哪。
但那三台还没到期的服务器,孤零零挂在网上,管理密码没改——大概是灰鼠跑路的时候太急,忘了。叶诤用那把SSh密钥登进去,发现三台机器都进了保护模式,大部分恶意代码和日志已经被自动删除了。文件系统里还剩一堆碎片化的残留数据,像有人急着烧账本,结果只烧了一半,灰烬里还夹着没烧完的纸角。
叶诤让系统对残留数据做了全量恢复。恢复出来的东西分成三块。
第一块是qq群聊天记录。不是灰鼠本人的,是他服务器上托管的一个“客户”上传的。那客户是境外杀猪盘运营团队,用灰鼠的木马更新通道来推送假冒投资App。聊天记录跨了三个月,内容全是催单——“今天KpI还差多少”“东南亚组已经破五十万了你们他妈在干嘛”“这个老头子还能榨,再发一版新App给他”。最后一页,有人在群里贴了一张截图,截的是受害者银行卡转账记录,金额二十八万,备注栏写着“儿子结婚的钱”。
叶诤把这张截图单独存了,标红。
第二块是域名列表。灰鼠的服务器上托管了至少二十七个赌博网站的dNS解析记录,域名什么花样都有——有的伪装成体育新闻,有的伪装成财经分析,有的直接就叫“xx娱乐城”。每个域名背后都绑着一个资金池账户,叶诤把支付网关地址全提出来,在系统里跑了一遍关联分析。结果显示,二十七个资金池三个月累计进出金额折合人民币超过八亿,其中百分之四十流向了一个共同的钱包地址——那个地址的加密签名格式,和教授用过的那套椭圆曲线参数一模一样。
不是同一个人在用。但用的是同一个算法库。像一个犯罪团伙,每个人手里的枪不是一个型号,但子弹全从同一个工厂出来。
第三块数据最小,却让叶诤沉默了最久。
一段不到三百行的代码片段,Go语言写的。功能是扫描目标设备的硬件信息,如果识别出设备类型是“输液泵控制器”或“心脏起搏器程控仪”,就自动加载勒索模块,对设备固件进行加密,然后在屏幕上弹一行字:“支付0.5 btc解锁设备。72小时内不支付,设备永久锁定。”
针对医疗设备的勒索病毒。不是攻击医院服务器,不是偷病历数据,是直接攻击正在病人身上运转的设备。
叶诤把这段代码在沙箱里跑了一遍。加密模块有几个明显缺陷——对输液泵固件版本识别不够准,会导致部分设备在加密过程中直接死机而不是弹出勒索提示。但代码里有一行注释,说明开发者完全知道这个缺陷。注释是英文写的,翻译过来是:“锁死不重要,重要的是他们会付钱。医院赌不起。”
叶诤关掉沙箱,靠在椅背上。周武看了他一眼,没问话,从叶诤的表情里已经读出了这段代码的分量。
这时,叶诤注意到一条被恢复出来的运维日志。记录了一次SSh登录,一个月前,凌晨三点,登录Ip指向一个tor出口节点。登录者用的是灰鼠的默认账号,但操作指令非常生疏——密码输错两次,第三次才进去,然后敲的第一条命令是“ls -la”。这是刚摸到Linux命令行的菜鸟才会干的事。
不是灰鼠本人。有人用灰鼠的账号从暗网登了这台服务器。日志显示这人在服务器上待了大概四十分钟,逛了几个目录,下载了一个压缩包,然后断开。压缩包的内容系统恢复不出来了——下载之后就删了——但文件名留在了日志里:暗影联盟_木马更新服务器_部署手册_v3.7.pdf。
“暗影联盟。”叶诤重复了一遍,“灰鼠的上家。也可能是供应商。”
系统对“暗影联盟”这个关键词做了暗网全量搜索,返回的结果少得可怜。只有四条。第一条,某个暗网论坛两年前的一则招聘,找“有嵌入式设备逆向经验的工程师”,联系方式是一个用过一次就废弃的加密邮箱。第二条,一份数据交易中介记录,暗影联盟作为卖家出售“医疗设备固件漏洞库”,买家Id被加密处理过。第三条最奇怪——暗影联盟在暗网上发布公告,宣布暂停所有业务。发布时间是三年前。恰好是严海教授实验室火灾那一年。第四条,一条极短的加密消息,来自一个不知名节点,没有Id签名,发送时间是三天前:
“灰鼠失联。暗影联盟残留资产开始清算。观测者记录。”
叶诤盯着最后一条,胸口有种说不清的闷感。观测者记录。观测者不只在给他一个人喂情报,他在同时记录着暗网上各个犯罪团伙的动向——像一个在暗网深处撒网的渔夫,叶诤只是他网里的一条鱼。或者说,是被“投放”进鱼塘的一个变量。
AR界面弹出提示。
【检测到宿主通过恢复灰鼠服务器残留数据,获取多项非法网络活动核心证据。】
【成果统计:解析境外杀猪盘运营团队完整通讯记录(含受害者转账凭证);提取27个赌博网站域名及关联资金池账户;发现针对医疗设备的勒索病毒变种代码段;定位“暗影联盟”木马更新服务器的SSh密钥及部署文档线索。】
【系统奖励:解锁技能“暗链观测者”。】
【暗链观测者(主动技能):可实时监控tor网络通信元数据,识别活跃的恶意节点与暗网服务,以可视化图谱形式呈现在AR界面中。无冷却,但持续占用宿主注意力资源。】
【进化树点数+2。当前可用点数已累积至5点。系统建议优先解锁“信息熵调节”或“语义场重构”。】
叶诤看了一眼建议,没急着选。他先打开了刚解锁的暗链观测者。
AR界面上,tor网络的拓扑图像一张正在缓慢呼吸的蛛网,徐徐铺开。数千个节点明灭闪烁,不同颜色的线条连接着不同的中继服务器。叶诤在搜索框里敲入“暗影联盟”,图谱自动收缩,把所有关联节点聚拢到一起。
然后他看到的画面,让他的瞳孔微微放大了。
暗影联盟的资产不是一个犯罪团伙的资产。是一批服务器、域名、代码仓库、支付钱包的集合体,散落在全球几十个节点上,每一个都在不同程度地“死亡”或“瘫痪”——有的欠费被停机,有的域名过期被回收,有的管理员失踪后无人维护。但所有这些节点之间都连着一条共同的主线,像蛛网中心残存的丝,指向一台还在运行的服务器。
那台服务器的物理位置,系统显示在南极某科学考察站附近的卫星地面站。
和观测者之前提到的极地站加密协议吻合。和夜枭市场死亡开关植入的儿童医疗数据Ip吻合。和严海教授照片背景里那块只露出“南”字的指示牌吻合。
叶诤端起咖啡喝了一口。液体彻底凉了,苦味滞在舌根不肯散。
周武看他关了AR界面,问了一句:“灰鼠那边追不追?”
“灰鼠跑了,但他跑之前忘了一件事。”叶诤说,“他用自己的邮箱给暗影联盟发过入职申请,申请里附了真实简历——包括家庭住址和紧急联系人电话。”
“你怎么知道的?”
“他那个邮箱的密码,和管理服务器用的默认密码是同一个。”
叶诤把灰鼠的家庭住址转给了经侦对接人。然后他重新打开暗链观测者,把二十七个赌博网站的域名和资金池账户打包成一份自动举报脚本,按下发送。脚本会自动向各域名注册商和支付网关服务商发送滥用举报,附带完整证据包。按以往经验,这些域名四十八小时内会被冻结。
做完这些,天已经大亮了。
技术小哥的早班消息弹出来:“叶哥,蜜罐猎手第一阶段的识别模型训练完了,准确率九十七点三,要不要在三家企业部署测试?”
“部署。另外加一个测试对象——海市第一人民医院的邮件系统。”
技术小哥顿了顿:“医院?为什么?”
“因为有人在针对医院设备写勒索病毒。”叶诤说,“如果攻击者用钓鱼邮件进医院网络,再用灰鼠的木马更新通道推送勒索模块,整条攻击链就打通了。我们要在它打通之前,把每一环都堵上。”
他关掉通讯,站起来走到窗边。阳光已经打上了对面楼的玻璃幕墙,反射过来的光线有点刺眼。
AR界面上,观测者的最后一句话没像往常那样自动消失,还留在那里。
“暗影联盟残留资产开始清算。”
不是“被清算”。是“开始清算”。主动语态。
有人在主动清理暗影联盟的痕迹,而且动手极快——灰鼠失联、服务器停转、资产被逐一切断。这不是执法机构的节奏。执法机构要审批、要协调、要层层汇报。这种速度,更像是内部清理。或者说,灭口。
叶诤把窗帘拉开一条缝。阳光落在键盘上,灰尘在光束里慢慢飘。