oday。不是从漏洞市场淘的二手货。是制药师自己挖的,或者他背后的人挖的。
第五层是下载器,体积极小,只干一件事:从指定uRL拉取加密载荷。第六层解密器。第七层才是核心——不到六十kb的勒索模块。代码风格和叶诤之前在灰鼠服务器上现的输液泵勒索病毒几乎同源,但更精致,更成熟。
灰鼠那个版本有缺陷,设备会在加密过程中直接死机。制药师的版本把缺陷修了,加密逻辑改成渐进式——先把设备部分功能降到“安全模式”
,病人暂时不会有生命危险,同时弹出勒索提示,给医院留出七十二小时的反应窗口。这个设计极其阴险:医院不会被逼到立刻应急的墙角,但七十二小时的倒计时制造了一种缓慢收紧的心理窒息感——你还有时间,但不多,你必须在病人出事之前做决定。
“灰鼠那个是原型机。”
叶诤说,“制药师这个是量产版。同一个病毒,不同迭代。”
“有产品经理的那种迭代?”
周武问。
“不止。有qa测试的那种。”
系统从第七层核心模块里提取出了控制服务器地址。不是Ip,是域名。叶诤点开一看——解析目标让他愣了一拍。
一个墨西哥玉米卷的在线订购网站。界面做得有模有样,菜单、购物车、信用卡支付接口一应俱全,页滚动着每日特价,玉米卷配鳄梨酱套餐,打折到四块九毛九。
但网站后台藏着一个管理面板,登录进去是一个功能完整的病毒控制台。感染者列表、加密状态、赎金支付记录、自动催缴脚本——全嵌在一个外卖系统里,像寄居蟹钻进了一只空螺壳。
“拿玉米卷网站当c2。”
叶诤摇了摇头,“域名注册商在巴拿马,服务器在墨西哥城一家共享主机商,主机商大概率到现在还以为上面跑的是个外卖站。”
他顺着控制台日志往下翻,翻到一条奇怪的记录。制药师在控制台设了一个定时任务,每周自动向一个外部地址送加密备份。不是备份病毒数据,是备份解密密钥。收件地址是个gmai1邮箱,用户名一串无意义的字母。
叶诤让系统对这个邮箱做了关联分析。邮箱的注册恢复手机号绑的是一张菲律宾预付费sIm卡,激活地点在菲律宾某城市的便利店,时间是一年前。这条线索本身没什么——地下黑产用预付费卡太正常了。
但系统顺藤摸瓜翻出了更深的东西。那张sIm卡激活之后,第一个连上的iFi热点,不是便利店的热点,是一街之隔的一座天主教堂。教堂的iFi没设密码,访客网络完全开放。制药师——或者他团队里的某个人——在激活sIm卡之后,用教堂的公共iFi登录了gmai1,做了一次密钥验证。
解密密钥藏在菲律宾某教堂的iFi路由器日志里。不是硬盘,不是云盘,不是加密u盘。是路由器日志——那种每三十天自动滚动覆盖的临时文件。制药师把密钥塞进了一个随时会被系统自动清理的角落,像个把保险柜钥匙寄存到公共储物柜里的人,每天都要回去确认钥匙还在不在。
周武听完沉默了好一会儿。
“所以他的密钥,理论上只要有人走进教堂连上那个iFi,就能从路由器日志里翻出来。”
“对。但不会有人去翻教堂的iFi日志。”
叶诤说,“这就是他选这个地方的原因。越离谱的地方越安全。”
他让系统远程登了那个教堂路由器的管理后台——密码是默认的adminadmin,没人改过。日志文件里躺着加密密钥,夹在一堆普通的网络连接记录中间,看起来就像一条普通的http请求。
拿到密钥,叶诤回到制药师的控制台,用管理权限把感染者列表调了出来。一共一百三十多个被加密的设备,分散在十七个国家、四十多家医疗机构。最早感染时间是一周前。大部分受害者已经付了赎金——控制台的支付记录显示,制药师过去七天收了折合人民币四百多万的比特币。
但有一个细节让叶诤悬在键盘上的手指僵住了。
感染者列表里有一台设备的状态,不是“已支付”
,也不是“待支付”
。是“已解锁”
。解锁时间在四天前,解锁方式——控制台日志显示,有人用管理员账号手动输入了解密命令。