精彩小说尽在丛林文学网! 手机版

您的位置 : 丛林文学网 > 特种兵锋 > 暗网谍影-真相_精选章节

精选章节

更新时间:2026-10-04 04:11:55

第一章 信号

凌晨两点十七分,沈戈的手机震了。

不是铃声,是振动——他睡觉从来不开声音。屏幕亮起来的时候他已经在摸床头柜上的眼镜了。来电显示:老K。

这个点打来,没有好事。

"接。"他只说了一个字。

电话那头老K的声音像是被人从被窝里拎出来的,但语气清醒得不像凌晨:"国家电网调度中心报警,华北区域SCADA系统检测到异常数据流。初步判断有人渗透进了工控协议层。"

沈戈的手停了一下。工控协议层——那是电力系统的心脏。

"多久了?"

"四十分钟。他们自己扛了一阵,扛不住。"老K顿了一下,"你看过暗流上次的手段。"

沈戈没说话。他起身下床,赤脚踩在冰凉的地板上,脑子已经在快速运转。暗流——那个在过去十八个月里渗透了三个国家关键基础设施的跨国黑客组织。上一次他们在天然气管网的压力传感器里埋了后门,差点让半个省城的居民在冬天冻死。

"半小时到。"

"路上叫车,报销走我的账。"

沈戈挂了电话。他用了四分钟穿好衣服——深色外套、工装裤、运动鞋,这是他的标配,不是为了低调,是因为穿什么都一样。出门前他看了一眼桌上的笔记本电脑,犹豫了一秒,还是拿起来塞进背包。

凌晨的北京三环几乎没有车。出租车在空旷的高架上开得飞快,路灯的光一道一道划过沈戈的脸。他靠在车窗上,闭了一会儿眼。

三年前那个画面又浮上来。

赵鹏的脸。血。还有那句没说完的话——"沈戈,别查了,往——"

通讯被切断。然后是永远的沉默。

沈戈睁开眼。出租车已经到了目的地。

国安局网络反恐处的大楼在夜色里没什么特别,灰色的混凝土外墙,几扇亮着灯的窗户。沈戈刷了门禁卡,快步走进电梯。地下二层的控制中心已经灯火通明。

六块大屏幕拼成的显示墙上,红色的告警图标像麻疹一样散布在华北电网的拓扑图上。三个技术员在各自的工作台前忙碌,键盘敲击声密得像暴雨。

老K站在中间那张最大的工作台前,手里攥着一杯不知道是第几杯的速溶咖啡。他四十二岁,方脸,头发剃得很短,肚子微微凸起,看着像个开出租的中年男人。但沈戈知道这个人的简历——军校信息战专业出身,在网安部门干了十五年,经历过的大小网络对抗行动超过两百次。

"情况。"沈戈放下背包,拉开赵鹏曾经坐过的那把椅子,坐了下来。

"攻击者用了至少七层跳板,流量伪装做得很干净,差点以为是正常的运维数据。"值班的小周头也不抬,"但他们漏了一个——Modbus协议的寄存器写入频率异常,每秒三千次,正常运维不可能到这个数。"

沈戈的手指已经在键盘上飞了起来。他调出网络流量日志,快速过滤、排序、比对。数据流在他眼前变成了一张清晰的攻击路径图。

"这不是试探。"沈戈说,"他们知道SCADA系统的架构,知道哪些寄存器是关键的。这是定向攻击。"

"确认了。"老K把咖啡杯往桌上一顿,"暗流。手法跟上次在管网那次如出一辙——先嗅探,再定位,最后注入。区别是这次他们想拿的不是控制权,是控制系统的源代码。"

"源代码?"

"华北电网新一代调度系统的核心算法。"老K的声音压低了,"这套系统跟军方后勤调度用的是同一套底层框架。"

沈戈的手指停了一瞬。他深吸一口气,把情绪按下去,重新投入屏幕上的数据。

攻击链的源头追踪需要时间,但沈戈的速度比任何人都快。他的手指在键盘上的动作不像在打字,更像在弹钢琴——有节奏,有力度,每个按键都精准。三十分钟后,他剥离了四层跳板的伪装,露出了攻击源的IP段。

"东南亚。"沈戈说,"柬埔寨或者越南,这个IP段的注册信息指向一家壳公司。"

"能深挖吗?"

"需要时间。他们的跳板搭得很讲究,每一层之间的加密协议都不一样。这不是普通黑客能做到的。"

老K沉默了几秒,然后说了一句话:"上面决定了,成立专案组。你牵头技术线。"

沈戈转过头看他。

"我知道你不愿意。"老K的眼神难得认真,"但处里找不出第二个人能接这个活。"

沈戈没答应也没拒绝。他把目光转回屏幕,攻击流量已经减弱了——对方在收手,或者说,他们已经拿到了想要的东西。

"给我两个人。"沈戈说,"一个懂工控协议的,一个密码学方向。"

"人已经在路上了。"老K拍了拍他的肩膀,"先处理眼前的事。天亮之前,我要知道他们到底拿走了什么。"

沈戈点了点头。他的手指重新落在键盘上,屏幕上的数据流像一条黑色的河。

他想起赵鹏说过的一句话:代码不会骗人,但写代码的人会。

现在,他得从这些代码里找到那些"会骗人的人"留下的痕迹。

窗外的天还没亮。这场仗,才刚刚开始。

第二章 新变量

早上七点半,专案组的第一次正式会议在地下二层的三号会议室召开。

沈戈到的时候,会议室里已经坐了两个人。一个是工控协议方向的老手孙德茂,四十出头,戴厚底眼镜,在电力系统的信息安全部门干了十年。另一个是刚调入的密码学博士——林知微。

沈戈多看了她两眼。不是因为她年轻——二十八岁拿到密码学博士虽然不多但不是没有。让他注意的是她的状态:凌晨七点半,所有人脸上都挂着睡眠不足的疲态,只有她坐得笔直,面前笔记本打开着,屏幕上是一篇关于椭圆曲线密码的英文论文。

"都到了?"老K推门进来,手里拎着一袋包子,"那就开始。"

他把包子扔在桌上,撕开一个咬了一口,含糊不清地布置了任务:评估损失、追踪攻击源、摸清暗流组织架构。时间不限,资源管够,但不能打草惊蛇。

林知微提了一个问题——暗流从破坏转向技术窃取,战略意图变化的动因是什么。老K没接这个话茬,他不习惯跟博士打交道。沈戈说会写进分析报告,但他的注意力其实在别处——他在观察林知微的打字习惯。她用的输入法是自定义的双拼方案,键位映射跟主流方案都不一样。这意味着她花过大量时间打磨自己的输入效率。

一个二十八岁的博士,密码学方向六篇顶会论文,中科大本科,清华硕士,ETH Zurich博士——简历漂亮得没话说。但沈戈总觉得哪里不对。他想不出具体哪里不对,只是直觉。而在这种工作里,直觉往往比数据分析更早摸到真相。

下午两点,沈戈遇到了技术瓶颈。

暗流的第四层跳板用了一种他没见过的变种——基于格密码的加密方案。标准后量子密码算法他都很熟悉,但这个变种在标准方案基础上做了修改,参数选择极其刁钻,像是有人把NTRU和Kyber两种方案揉在一起又改了一部分多项式采样方式。

他试了四十分钟没解开。林知微不知什么时候走到他身后。

"见过类似的。"她看着屏幕说,"两年前有篇论文讨论过NTRU和Kyber的混合架构可行性,那个方案有安全漏洞被否了。这个变种修复了漏洞——改得很巧妙。能做这种修改的人,对格密码的理解至少在博士级以上。"

沈戈让出位置。林知微坐下来,手指落在键盘上的那一刻,她的呼吸节奏变了——更慢、更均匀,像进入了某种专注状态。两个半小时后,她解开了。

"误差分布用的是离散高斯采样的变形。暗流团队里有科班出身的密码学专家,顶尖水平。"

沈戈看着解密后的数据流皱起了眉。这些数据显示暗流为这次行动准备了至少六个月。

林知微走回自己工位时有一个很小的动作——她下意识地用左手食指在桌面上敲了三下,像是在确认什么。沈戈没看清她敲的是什么,但他记住了这个动作。

晚上九点,老K来巡了一圈,说了句"别熬太狠"就回了办公室。沈戈还在看数据。他的屏幕上开着三个终端窗口跑不同的解密脚本。第四个窗口里,他悄悄打开了一个工具——赵鹏生前写的流量分析器,界面丑得要命,但效率比市面上任何商业软件都高。

赵鹏的头像还在工具的关于页面里——一张模糊的自拍,笑得像个二傻子。

沈戈盯着那个笑容看了三秒,关掉窗口,继续工作。

第三章 兔子洞

第三天凌晨,沈戈终于摸到了暗流的尾巴。

准确地说,是一台位于柬埔寨金边的服务器。这是暗流攻击链中第五层跳板,前面四层已经被他逐一剥离。这台服务器注册在一家名叫"Pacific Bridge Solutions"的壳公司名下,公司法人是个越南人,注册地址是一栋商业楼的三层——这种配置在东南亚多如牛毛,查起来跟大海捞针差不多。

但沈戈不是来查公司注册的。他要的是服务器上的数据。

"老K,第五层跳板定位了。"他在内部通讯频道里发了条消息。

老K秒回:"能渗透吗?"

"对方的防护做得很细。不是那种堆防火墙的暴力防护,更像是——"沈戈想了想怎么形容,"像是知道我会从哪个方向来,提前在那里等着。"

"你怕了?"

"不是怕。是觉得不对劲。"沈戈盯着屏幕上的端口扫描结果,"太干净了。一台当跳板的服务器,居然只开了SSH和HTTPS两个端口,日志清理得跟刚格式化的硬盘似的。要么是个高手,要么——"

"要么是个饵。"

"嗯。"

老K沉默了几秒。"但不试不知道。你决定。"

沈戈做了决定。

他花了二十分钟搭建渗透环境。不能用工作电脑直接连,他在跳板机上套了三层代理,每一层用的是不同的匿名网络。然后他写了一个定制的漏洞利用模块——目标服务器跑的是定制版Linux,内核版本被改过,但沈戈从流量特征里反推出内核的编译时间,锁定了一个在该时间窗口内公开的本地提权漏洞。

渗透开始。

他的手指在键盘上移动,终端里的命令行像流水一样滚动。先是通过SSH服务的配置缺陷拿到了一个低权限shell——对方用的是一个有已知漏洞的OpenSSL版本,密钥协商过程中存在侧信道泄露。这不是什么高深技巧,但足够打开第一道门。

低权限shell到手后,沈戈没有急着提权。他先在当前权限下做了一轮环境侦察——文件系统结构、运行进程列表、网络连接状态。这台服务器确实被清理过,但清理者忽略了一个细节:/var/log目录下有一个被截断的syslog文件,截断时间在三天前,但文件末尾残留了几条被截断的日志记录。

沈戈把残留数据提取出来,用正则匹配过滤出IP地址和端口号。一共七条记录,指向三个不同的目的地。其中两个是东南亚的IP段,另一个——

他愣了一下。

另一个指向一台位于深圳的服务器。

"孙工。"他叫了一声斜对面的孙德茂。

孙德茂凑过来看了一眼,眼镜后面的眼睛眯了起来:"深圳这个IP你查了吗?"

"还没。"

"先查。如果是暗流的节点出现在国内,性质就不一样了。"

沈戈点头。他把深圳的IP记下来,准备后续追查,然后继续在柬埔寨服务器上深入。

提权过程比他预想的顺利。那个本地提权漏洞确实有效,编译了一个内核模块,加载后拿到了root权限。整个过程不到十五分钟。

root权限到手,沈戈开始全面搜索。他先检查了已登录会话——没有其他活跃用户,这让他稍微放心了一些。然后他搜索了文件系统,找到了几个关键的目录:

/home/ghost/workspace/ /tmp/.hidden/ /opt/c2/

"ghost"。这个用户名让沈戈的心跳加速了。幽灵——暗流的核心技术成员,据说从不露面,所有的操作都通过加密通讯和代理网络完成。国安局的档案里关于他的信息只有一页纸,大部分是推测和分析,没有一张照片,没有一个真实身份的线索。

沈戈进入workspace目录。里面的文件让他眼前一亮——大量的Python脚本和配置文件,还有几个加密的压缩包。他快速浏览了脚本内容,发现这是一套完整的网络攻击工具链,包括漏洞扫描模块、载荷生成器和数据外传通道。

他开始打包下载这些数据。同时,他的注意力被一个文本文件吸引了——README.txt。

打开之后,里面只有一行代码:

# If you're reading this, you're too late. — Z.P. Z.P.

沈戈的手指僵在键盘上。

Z.P.——赵鹏的缩写。赵鹏,Zhao Peng。

这不可能。赵鹏已经死了。三年前的行动中,他的通讯信号在缅甸北部的一片山区消失,事后多方确认他已经遇难。没有尸体,但有足够的证据——最后通讯记录中的异常,缅甸军方的确认函,还有追悼会上盖着红旗的骨灰盒。

沈戈强迫自己冷静下来。Z.P.可能代表任何人。 initials而已。

但他的呼吸已经变得不均匀了。

"数据开始回传了。"他控制住声音,对孙德茂说。

进度条在屏幕上缓慢爬行。500MB的数据量,受限于多层代理的带宽,下载速度只有每秒2MB。

就在这时,他的终端弹出了一条告警。

网络监控工具检测到——有第三方的连接正在接入这台柬埔寨服务器。不是从暗流的正常节点来的,而是从一个全新的方向。

"有人在跟踪我们。"沈戈说。

他看了一眼下载进度:67%。

"撤不撤?"孙德茂问。

沈戈咬了一下后槽牙。"再等三分钟。"

三分钟后数据就到90%了。但对方显然也意识到了有人在渗透——服务器上的进程开始出现异常,有些文件在被快速删除。

"他们在销毁证据。"沈戈的语速加快了。

两分半钟后,数据下载到了94%。然后连接断了——不是他那边的断,是服务器那端主动切断了SSH会话。

"完了。"孙德茂说。

沈戈没动。他在断连前的最后一秒看到了一个进程名:cleanup.sh。

那个脚本的作者是——Z.P.

他慢慢靠回椅背,摘下眼镜揉了揉眼睛。

"怎么了?"孙德茂察觉到他的异常。

"没事。"沈戈戴上眼镜,"先把拿到的数据分析了。"

他没提Z.P.的事。现在还不是时候。

但他打开另一个终端,开始悄悄调查深圳那个IP地址。

有些事情,他得自己去弄清楚。

第四章 陷阱

拿到的94%数据被沈戈锁进了隔离分析环境。

他没有告诉任何人Z.P.的事。这件事他需要先自己消化。

接下来两天,他的白天用来分析从柬埔寨服务器下载的数据,晚上则悄悄追查深圳那个IP。

数据显示暗流的工具链水平极高。那些Python脚本不是普通黑客写的——代码结构严谨,注释清晰,模块化程度接近企业级项目。沈戈翻了一遍又一遍,越来越觉得这套代码的风格似曾相识。变量命名习惯、函数拆分逻辑、甚至注释里偶尔出现的英文缩写方式——都透着一种他非常熟悉的"味道"。

他不愿承认这个"味道"属于谁。

深圳的IP查起来更加顺利,顺利到反常。那是一台架设在华强北某栋写字楼里的云服务器,归属一家小型IDC。沈戈用社会工程学手法打通了IDC客服的电话号码,冒充运维人员套到了服务器的租用者信息——一个用他人身份证开的账户。

但这台服务器的配置暴露了更多信息。它在物理层面只开放了两个端口,运行着一个定制化的C2(Command and Control)框架。沈戈花了一个通宵逆向分析了这个框架的客户端程序,发现它用了一种非常冷门的二进制协议——这种协议只在一篇学术博客上出现过,作者是——

Z.P.

沈戈把椅子往后一推,发出刺耳的摩擦声。

"操。"他低声骂了一句。

他拿起手机翻出一张旧照片。照片里两个人站在中关村的一块广告牌下,都穿着格子衬衫,头发乱得像鸟窝。左边那个笑得没心没肺的是赵鹏。右边那个面无表情的是他自己。

照片拍于三年前。

第三天,出事了。

沈戈在对深圳服务器做深度渗透的时候,触发了一个他没能识别的蜜罐。

事情发生得极快。他的渗透工具在接入目标系统后不到三十秒,反向注入的载荷就突破了他的第一层代理防护。这是一个定制化的Rootkit,利用了操作系统内核的一个零日漏洞——一个他从未见过的漏洞。

沈戈的屏幕上弹出了一连串红色告警。

"断网。"他喊了一声,同时手指飞速敲击键盘,试图手动终止被感染的进程。但Rootkit的传播速度比他的反应更快——它在三秒内完成了横向移动,从代理机向工作站的内存空间注入了恶意代码。

沈戈做了一个他在训练中做过无数次但从未在实战中执行过的操作:物理断网。

他弯腰拔掉工作站背面的网线,同时用左手按下了键盘上的硬件事件中断组合键。屏幕上的告警还在跳动,但网络物理断开后,Rootkit失去了与外部的通讯通道,变成了死代码。

"全组注意!"老K从办公室冲出来,脸上的血色比警报灯还红,"所有工作站立刻断网!重复,所有工作站断网!"

整个控制中心陷入了一种紧张的混乱。键盘声、椅子声、脚步声混在一起。孙德茂的手在抖,林知微却异常冷静——她甚至在断网之前先把自己的工作站做了一个内存快照。

四十分钟后,损失评估出来了。

"三台工作站被感染,其中一台是你的。"老K的脸色铁青,"内存分析显示Rootkit试图建立一条反向隧道,目标地址在暗流的基础设施里。如果晚断网三十秒——"

他没有说完。晚三十秒,Rootkit就可能突破隔离区,进入内部网络。后果不堪设想。

"这是陷阱。"沈戈说。他的声音平静得不像刚经历了一场安全事件的人。"深圳那台服务器是他们故意暴露的。我在查柬埔寨跳板的时候他们没反应,但在查深圳节点的时候触发了——说明深圳节点是一个蜜罐,专门用来钓追踪者。"

"你知道你在说什么吗?"老K盯着他,"你是说我们被对方牵着鼻子走了?"

"是。"沈戈没有回避他的目光,"我犯了错。我低估了他们的反追踪能力。"

老K骂了一句脏话,但没有当众发作。他转身走了两步,又转回来:"技术复盘你来做。明天之前我要一份完整的分析报告——Rootkit的特征、传播路径、以及对方到底想通过蜜罐获取什么。"

"还有一件事。"沈戈说。

"什么?"

"对方的Rootkit用了一个零日漏洞。这种级别的武器,不是随便哪个黑客组织能拥有的。"

老K的脚步停了一秒,然后继续往前走,没回头。

会议室门关上的声音在走廊里回荡。

沈戈坐回工位,看着那台被隔离的工作站。Rootkit虽然已经被清除,但内存快照里的恶意代码还在隔离环境中供分析。他调出代码的反编译结果,一行一行地看。

然后他看到了一个注释。

在Rootkit的核心模块里,某一行代码的末尾,有一行被故意保留的注释:

// S.G., I'm sorry. — Z.P. S.G.

沈戈。

他闭上眼睛,把眼镜摘下来捏在手里。镜片上有一层薄薄的指纹。

赵鹏还活着。

这个事实像一把钝刀,慢慢地、不可阻挡地压进他的胸口。赵鹏没有死。赵鹏在暗流。赵鹏在对他说话。

但他不能告诉任何人。至少现在不能。

因为他还不知道另一件事:赵鹏是被迫的,还是自愿的。

第五章 裂缝

安全审查在第四天启动。

按照惯例,内部渗透事件触发的安全排查由信息安全科主导,专案组配合。但老K做了一个不寻常的决定——他让沈戈全程参与审查,理由是"你最了解攻击链路,排查方向你最有发言权"。

沈戈知道老K的真实意思。这次渗透事件的影响太大,上面已经开始问责。老K需要尽快给出一个交代,而他信任的人只有沈戈。

排查的第一项是所有专案组成员的权限审计。

四个人:沈戈、林知微、孙德茂、老K本人。每个人的访问日志、外联记录、设备使用情况都被逐一核查。这个过程需要至少一周,但沈戈用了三天就完成了——他写了一套自动化脚本,把日志数据扔进去跑,异常标记自动高亮。

结果出来的时候,沈戈盯着屏幕看了很久。

异常标记最多的,是林知微。

不是严重的违规——她没有越权访问任何系统,也没有在禁止时段使用设备。异常的是她的外联记录。过去两周里,她的工作手机有七次短时间的加密数据外传,每次持续时间不超过三十秒,数据量极小。目标地址指向一个位于新加坡的匿名邮件服务器。

七次。每次三十秒以内。

这在正常人的使用习惯里完全说得通——也许是同步消息、也许是自动备份。但在一个涉及暗流的专案组里,任何异常都不能被当作"正常"。

沈戈把结果压了下来,没有立刻上报。他需要更多信息。

他开始回溯林知微的入组时间线。她是在暗流攻击国家电网之后第三天调入的,手续齐全,调令来自局里的干部处,审批链完整。她的简历经过核实——ETH Zurich的博士学位、回国后在中科院信息安全实验室工作了八个月、然后是借调至国安系统。每一步都有据可查。

但有一个细节被沈戈抓住了。

林知微在中科院的那八个月,她的课题方向是"后量子密码在工业控制系统中的应用"。这个方向在国内搞的人不超过二十个。而暗流的加密方案——林知微在第二天就解开的那个格密码变种——用的正是后量子密码技术。

这是巧合吗?

沈戈不信巧合。或者说,他干这行的第一天就被教导:在情报工作中,巧合是最昂贵的奢侈品。

他开始更仔细地观察林知微。

她每天早上八点到,比规定时间早半小时。到了之后先泡一杯茶——白茶,用的茶叶从家里带来,杯子是一个没有任何标记的白瓷杯。然后打开电脑,通常是先看一遍安全资讯,再处理当天的任务。

她工作的时候非常专注,几乎不跟同事闲聊。孙德茂试图跟她搭过两次话,都被她用三句话以内的简短回答打发掉了。但她在技术讨论中表现出的自信和精确让人无法忽视——她的每一句话都像是在做学术报告,措辞严谨,逻辑清晰,从不使用模糊表达。

"根据我的计算,这个方案的成功率约为73%。"这是她最常说的话型。

沈戈注意到了一个她自己也未必意识到的习惯:每当她在思考一个复杂问题的时候,她的左手食指会在桌面上敲击。节奏不固定,但如果仔细观察,那些敲击的间隔有一种微妙的规律性。

他在第三天破解了那个规律。

莫尔斯电码。

她在用莫尔斯电码敲出自己思考的内容。不是刻意为之,更像是一种无意识的辅助思维习惯——就像有些人在思考时会转笔或者咬嘴唇。

她在敲的内容通常是英文字母和数字的组合。沈戈记下了几个片段,没有破译出来——可能是某种自定义编码。

第五天晚上,沈戈做了一个决定。

他需要试探林知微。

方法很简单:他准备了一条假情报,关于专案组下一步的追踪方向。如果这条情报通过林知微的加密通道泄露出去,就能确认她和暗流之间存在信息传递。

他编造了一个看起来极其合理的技术分析结论——声称暗流的下一个攻击目标可能是华南地区的变电站调度系统,专案组将重点监控该区域的网络安全态势。

这条情报是假的。暗流已经完成了对国家电网的攻击,短期内不会重复同类目标。

沈戈通过内网把这份"分析结论"发给了全组,包括林知微。

然后他等着看结果。

当天晚上,林知微的手机在22:47产生了一次加密外联,持续18秒。

沈戈的心沉了下去。

但还没有到盖棺定论的时候。他需要确认那次外联的内容。这涉及到截获她的通讯数据——这在没有上级授权的情况下是违规的。

他犹豫了整整一个晚上。

第二天一早,他找到了老K。

"我需要跟你谈一件事。"

老K办公室的门关着。沈戈进去后,把林知微的异常外联记录和莫尔斯电码习惯一起汇报了。他没有提假情报试探的事——那部分他决定先自己扛着。

老K听完,靠在椅背上,脸上的表情从粗糙变成了沈戈熟悉的那种深沉。

"你确定?"

"异常数据是确定的。动机不确定。"

老K点了根烟。他的办公室有一个禁烟标志,但他从来不在乎。"先别动。我往上报一下,看上面怎么说。你那边的分析别停。"

沈戈点头。走到门口的时候,老K叫住了他。

"沈戈。"

"嗯?"

"你最近状态不太对。"老K吐出一口烟,"别把自己逼太紧。"

沈戈没回头。"我知道。"

他走出老K的办公室,经过林知微的工位。她不在。桌上的白瓷杯里还剩半杯凉掉的茶。

他的手机震了一下——是安全审计系统的自动通知:林知微的设备在今天早上7:15登录了内网,但在7:43又注销了。

她7:30之前从来没到过办公室。

今天她来了,待了十三分钟,然后离开了。

这十三分钟里,她做了什么?

第六章 棋子

沈戈设的局比他预想的更快有了结果。

假情报放出后的第二天,林知微主动找到了他。当时是下午三点,沈戈正在工位上分析Rootkit的内存特征。她走到他旁边,没有坐下,直接站着开口——她看穿了华南变电站的假情报,而且精准地指出了沈戈设局的逻辑漏洞:无论她是否泄露消息,都不能证明任何事。

这番话让沈戈有些意外。不是因为内容,而是因为她分析的方式——冷静、精准、直指逻辑核心。她说话的方式跟平时一模一样,像在念一篇论证严密的论文摘要,每一个判断都有依据。

林知微带着他去了地下一层的设备间。那里堆满了退役的服务器和网络设备,噪音大,没有监控——沈戈之前排查过整栋楼的监控系统,知道这个死角。

在那个嘈杂的房间里,她交代了自己的真实身份。

原名林蔚然,ETH硕士毕业后进入了一家叫盾安科技的民营安全公司。盾安有一个不公开的项目——追踪暗流。原因很简单:暗流三年前的攻击导致盾安的一个核心客户遭受了毁灭性打击,创始人方旭东因此决定投入资源追查暗流的技术特征。一年前盾安被收购,追踪项目被叫停,但林知微没有停。她通过一个中间人把自己的简历推进了国安系统的选调名单。

关于那个中间人是谁,她不肯说。

关于新加坡匿名邮件服务器的加密外联,她的解释是——那是盾安前同事建立的保险通道,用于在专案组内部发现危险时传递预警信息。接收方不是暗流。

沈戈问了最后一个问题:她敲莫尔斯电码时在敲什么。

林知微的表情出现了进入专案组以来第一次明显变化——嘴角微微牵动了一下,像是被戳穿了某种小秘密。她解释那是一种记忆辅助技巧,密码学研究需要大量记忆数字序列,她用莫尔斯电码的节奏辅助记忆,类似于记忆宫殿。至于具体内容,她拒绝透露。

沈戈盯着她看了三秒,然后转身走出了设备间。

他没有完全相信她。但她说的关于加密外联的解释,至少逻辑上是自洽的。一个前民营安全公司的研究员,带着自己的目的进入了国安体系——这种情况虽然罕见,但不是没有先例。他在心里给林知微打了一个标签:待观察,暂不信任。

真正让他在意的不是林知微的身份,而是她进入专案组的那个"中间人"。一个能把人安插进国安专案组的人,这个人本身的分量就值得深挖。如果这个中间人跟暗流在国安系统内部的那个"联络人"是同一个,那问题的性质就完全不同了。

晚上回到住处,沈戈打开电脑搜索盾安科技的公开信息。公司注册地址在深圳南山区,创始人方旭东在安全圈子里有些名气,发表过多篇关于工控安全的论文。他点进方旭东的学术主页,论文列表排列整齐,引用量不算特别高但质量扎实。看起来是个正经的技术型创业者。

但让沈戈停下来的,是另一条信息——盾安科技的核心客户名单里,有一家在三年前遭受过暗流攻击的企业:华北电网。

跟暗流这次攻击的目标一样。

如果暗流这次攻击不是重复,而是回归呢?三年前的攻击未完成的任务,现在回来完成了。而盾安科技作为三年前受害企业的服务方,对暗流的攻击手法了如指掌。

沈戈合上电脑,揉了揉太阳穴。线索越来越多,真相反而越来越模糊。

第七章 幽灵协议

沈戈决定独自追查"幽灵"的身份。

他没有把这个决定告诉老K,也没有告诉林知微。赵鹏的事是他心里的一根刺,他必须自己拔出来。

方法很笨,但有效:他把从柬埔寨服务器下载的94%数据全部重新过了一遍,不是看内容,而是看代码指纹。

每个程序员都有自己的代码指纹——变量命名习惯、缩进偏好、函数拆分逻辑、注释风格。这些东西就像笔迹,可以伪装但不能完全改变。赵鹏的代码风格沈戈再熟悉不过:他们一起写了两年代码,从底层驱动到上层应用,每一行代码都有对方的影子。

他在Rootkit的核心模块里找到了更多的线索。代码的架构设计采用了一种他在赵鹏毕设中见过的模式——"洋葱式分层",每一层只与相邻层通过严格定义的接口通讯,层与层之间不共享任何全局状态。这种架构在实际工程中很少见,因为它增加了开发复杂度,但在安全要求极高的场景下能有效防止单点突破导致整个系统沦陷。

赵鹏在读研的时候发明了这个架构。他的导师评价是"过于理想化,不适合工程项目"。

但暗流的Rootkit用了这种架构。

沈戈又花了两天时间做了一件更大胆的事——他通过暗流遗留的C2框架,写了一个隐蔽的回连模块。这个模块不是用来入侵的,而是用来通讯的。它伪装成正常的HTTPS流量,嵌入到暗流现有的通讯通道中,不触发任何告警。

然后他把这个模块通过深圳蜜罐服务器的残留后门,注入了暗流的通讯网络。

他在等回复。

三天后,回复来了。

不是通过暗流的正常通讯渠道——是通过一个加密的即时通讯频道,用的是他们以前一起开发的一个加密协议。赵鹏写的,只有他们两个人知道。

消息只有一行:

"老地方。"

老地方。

他们以前的"老地方"不是一个物理位置,而是一个网络地址——他们大二时在学校BBS上注册的一个私密板块,用只有他们俩知道的密钥加密。这个板块在毕业时就删除了,但他们在删除前备份了密钥——那是他们之间的"紧急联络通道"。

沈戈调出了备份密钥,登录了那个他三年没碰过的加密频道。

频道里有一条消息,时间戳是两小时前。

"我知道你会来找我。你一直是那个最先注意到代码指纹的人。"

沈戈打字:"你是谁?"

回复几乎是即时的:"你知道我是谁。你一直在回避那个答案。"

沈戈的手悬在键盘上方。

"赵鹏。"他打了这两个字。不是问句。

对面沉默了十秒。

"S.G.,三年了。"

S.G.——沈戈。他叫他S.G.,跟Rootkit注释里一样。

沈戈闭上眼睛。三年的空白、三年的悲痛、三年的"如果他还活着",在这一刻全部涌上来,又被他强行按下去。

"你怎么证明你是赵鹏?"他打。

"2019年,大二暑假。你在宿舍写了三天的破解算法,为了过学校的网络考试。我帮你写了测试用例,你请我吃了三天的麻辣烫。考试那天你拿了满分,教授以为你作弊。"

这些事情不可能从任何数据库里查到。

沈戈睁开眼,发现自己的手在抖。

"你还活着。"

"是的。"

"为什么不来找我?"

"因为我没有资格。"对方的回复停顿了很久,"沈戈,我需要告诉你一些事,但不能在这里说。这个频道不安全——暗流会监控所有加密流量。我需要你帮我一个忙。"

"什么忙?"

"我需要你信任我最后一次。像三年前那样。"

沈戈盯着屏幕。三年前的那次行动,赵鹏在通讯中断前说的最后一句话是:"沈戈,别查了,往——"

他没说完。现在沈戈想知道,他没说完的那个字是什么。

"你说。"

"明天晚上八点,用你电脑里的代理工具连这个地址——"对方发来了一串加密的IP和端口,"我会建立一个临时加密通道。十五分钟。超过十五分钟暗流就会发现。"

"为什么是十五分钟?"

"因为十五分钟之后,他们的自动巡检系统会扫描到这个临时通道的异常流量。"

"你怎么知道他们的巡检参数?"

"因为我写的。"

沈戈靠回椅背。赵鹏在暗流的核心位置——比任何人想象的都要深。他不是暗流的普通成员,他是暗流的技术架构师。

"赵鹏。"

"嗯?"

"三年前到底发生了什么?"

对面沉默了很久。沈戈能看到频道状态显示对方还在线,但没有任何文字输出。

一分钟后,回复来了:

"不是叛变。但我需要当面跟你解释。十五分钟不够。"

沈戈看着那行字,心跳声在耳朵里回响。

"明天见。"他打了这三个字,然后退出了频道。

他坐在那里,屏幕的蓝光映在脸上,整个房间安静得能听见机箱风扇的嗡鸣。

赵鹏还活着。

赵鹏在暗流。

赵鹏在找他。

这三个事实像三块石头,重重地砸在他心里那片三年来一直没有愈合的伤口上。

他拿起手机,翻到通讯录里一个标注为"K"的号码——老K。

拇指悬在拨号键上方,犹豫了十几秒。

最终他没有拨出去。

不是现在。他需要先见到赵鹏,先听他说完。然后再决定——这一切该交给谁。

第八章 重逢

第二天晚上七点四十五分,沈戈坐在了他的电脑前。

他做了充分的准备。电脑是全新的工作站,系统从零安装,没有接入内部网络。代理工具用了四层链式跳转,每一层都经过了独立的安全审计。他甚至在物理层面上做了防护——网线接口加装了一个硬件流量监控器,任何异常数据包都会触发自动断连。

七点五十九分,加密通道建立。屏幕上弹出了一个纯文本的聊天界面,风格像是上世纪九十年代的BBS——这是他们大三时候一起做的加密聊天工具的复刻版,赵鹏重新写了一遍。

对面的第一条消息是:我没有叛国。从来没有。

沈戈等着他继续。

赵鹏讲述了三年前那个夜晚的完整经过。行动中了埋伏,四人在撤退时被分割。赵鹏负责断后,没能跑出包围圈。暗流的人抓住了他,然后拍了他母亲的视频。赵鹏的母亲——一个独居在河北老家的老人,身体一直不好。暗流的条件很简单:配合工作,母亲安全;不配合,后果自负。

赵鹏选择了配合。但他说这不是屈服,而是卧底的开始。三年里他从内部摸清了暗流的全部架构——七个核心节点分布在四个国家。这次攻击国家电网是三号节点主导的,一个在越南的团队。他作为"幽灵",是暗流的技术架构师,整个组织的网络攻击能力建立在他写的工具链之上。

沈戈问他为什么不第一时间把情报送出来。赵鹏说他试过。他用两年时间建立了一条隐蔽通道,通过加密邮件联系了国安系统内部的一个中间人。但那个人告诉他"时机未到",让他继续潜伏。后来赵鹏意识到,这个人可能本身就是暗流的外围成员——他的联络反而暴露了自己的处境。

沈戈想到了林知微。那个通过"中间人"进入专案组的人。

赵鹏确认他知道盾安科技和方旭东。方旭东一直在追查暗流,但动机比表面看起来复杂得多。三年前暗流攻击华北电网的时候,盾安是电网的安全供应商,攻击成功意味着盾安的安全方案失败了。赵鹏叮嘱沈戈小心林知微——不是说她一定是危险的,但她知道的比她说的多。

沈戈提出了联手反攻的方案:赵鹏从内部打开核心节点的大门,他从外部渗透,两面夹击。

赵鹏的回复几乎是瞬间弹出的:我等的就是这句话。

但他紧接着说出了一件沈戈心里清楚但不愿面对的事——一旦动手,他在暗流的身份就彻底暴露。没有退路。身份暴露意味着他母亲的安全保障也没了。暗流会报复。

沈戈说可以安排保护。赵鹏说暗流的手段他不是没见过。然后他沉默了一会儿,打出最后一行字:但如果不做这件事,暗流会继续危害下去。下一次可能不只是国家电网。

沈戈的手指在键盘上悬了很久。他在想赵鹏的母亲——那个住在河北老家、身体不好的老人。她以为自己的儿子三年前就死了。如果她知道儿子还活着,而且正准备做一件可能再次"杀死"自己的事——她会怎么想?

他没有问这个问题。有些问题不该在这个时候问。

"我需要时间准备。"沈戈打字,"老K那边我得先沟通。"

"不要跟太多人说。"赵鹏回复,"你那个中间人的事我已经告诉过你了。在查清楚之前,谁都不能信。"

"包括林知微?"

"包括所有人。除了我。"

沈戈犹豫了一下,打出了"好"这个字。

加密通道在第十五分钟准时断开。

沈戈拿起手机,拨出了老K的号码。

"赵鹏没有死。"他说。

电话那头沉默了整整五秒。

第九章 猎杀

行动在四十八小时后启动。

老K在得知赵鹏还活着之后,用了一个小时消化这个信息。然后他做了一件让沈戈意外的事——他没有上报,而是直接调动了局里的最高权限资源。

"这事一旦走正常审批流程,至少两周。"老K的脸色比平时更沉,"我们没有两周。暗流如果察觉到幽灵出了问题,所有节点会在十分钟内进入自毁模式。"

他看着沈戈:"你确定你那个方案能行?"

"赵鹏从内部打开核心节点的大门,我从外部渗透。两面夹击,在他们反应过来之前拿到所有数据。"

"时间窗口?"

"十五分钟。赵鹏那边的自动巡检系统是十五分钟一个周期。"

老K吐了口气。"十五分钟。够了。也够死了。"

四十八小时的准备期内,沈戈几乎没有合眼。

赵鹏如约发来了暗流七个核心节点的详细信息——IP地址、网络拓扑、防御配置、管理员权限凭证。信息量巨大,沈戈不得不专门申请了一台高性能服务器来做数据分析。

七个节点分布在越南、柬埔寨、新加坡和菲律宾。其中三个是物理服务器集群,四个是云基础设施。每个节点都有自己的防御体系,但都共享一套由赵鹏设计的核心安全框架。

沈戈制定了分阶段攻击计划:赵鹏在内部解除三号节点的外围防御并制造虚假安全告警引开值守人员;沈戈从外部渗透核心数据库下载行动记录和成员信息;得手后利用管理员凭证向其他六个节点植入远程后门。

"这样即使三号节点行动失败,其他六个节点也已经在我们的监控之下了。"沈戈在向老K汇报时说。老K只问了一个问题:如果赵鹏那边出了问题呢?

沈戈没有回答。

行动开始。

沈戈的工作台上同时开着四个屏幕——主攻击终端、流量监控、通讯频道和应急断连面板。他的手指放在键盘上,等待着赵鹏的信号。

23:47,赵鹏的消息到了:"外围已清除。你有十五分钟。计时开始。"

沈戈的手指落下。

渗透代码像一把手术刀,精准地切入三号节点的网络边界。赵鹏从内部打开的通道是一个精心构造的防火墙例外规则,伪装成正常的系统更新流量。沈戈的渗透数据嵌入在这些"正常"流量中,安全系统完全没有反应。

第一层防线突破。耗时:47秒。

第二层是身份验证。暗流用的是多因子认证——密码、动态令牌、生物特征。赵鹏提前克隆了管理员的动态令牌种子,并将生物特征验证模块的日志系统指向了一个伪造的数据源。沈戈输入的验证信息被系统接受。

第二层防线突破。耗时:1分23秒。

第三层——核心数据库的网络隔离区。这里没有直接的网络连接,数据只能通过一个物理隔离的数据交换网关传输。赵鹏的方案是激活网关的一个隐藏维护接口,这个接口是他在设计系统时预留的后门。

网关接口激活。数据通道建立。

沈戈开始下载数据。

暗流的数据库比他预想的庞大得多——超过200TB的数据。200TB不可能在十五分钟内全部下载,沈戈按照优先级排序:最高优先级是组织架构和成员身份,其次是近期行动目标,最后是技术工具和攻击代码。

下载速度被限制在每秒50MB——再快就会触发流量异常告警。

进度条开始爬行。

"已下载12%。"沈戈报告。

"继续。"老K站在身后,声音压得极低。

时间在过去。沈戈的眼睛在屏幕和数据之间快速切换,同时监控着所有通道的安全状态。

六分钟。38%。

九分钟。67%。

十一分钟。81%。

第十三分钟——

"异常检测。"流量监控终端弹出了红色告警。

沈戈的心猛地一紧。他快速检查告警来源——不是三号节点内部的,而是来自暗流的其他节点。新加坡的一个监控节点检测到了三号节点的数据流量异常。

"他们发现了。"沈戈说。

"多少数据了?"老K问。

"81%。还需要四分钟。"

"赵鹏——"

通讯频道里赵鹏的声音传来,带着一种沈戈从未听过的紧迫感:"我看到告警了。我已经触发了一次误报覆盖,能争取两分钟。两分钟之后系统会进入强制审计模式,所有通道关闭。"

"两分钟。"沈戈咬着牙,手指在键盘上飞速调整下载策略。他放弃了第三优先级的技术文档,把所有带宽集中在最高和第二优先级上。

下载速度飙升到每秒120MB。

92%。

95%。

97%。

通讯频道里赵鹏的声音突然变了:"沈戈,他们不是在审计。他们在追踪你的渗透路径。我暴露了。"

沈戈的手指停了一瞬。

"你什么意思?"

"暗流的CTO——不是人类,是一个AI驱动的威胁检测系统。它分析了我的维护接口激活日志,发现激活方式跟我之前的操作模式不一致。它推断出内部有人配合外部入侵。它锁定了我的身份。"

"切断通道——"

"来不及了。"赵鹏的声音异常平静,"沈戈,听我说。数据到多少了?"

"97%。"

"够了。把通道切断,立刻。我把我的终端作为最后的跳板,帮你完成最后的数据传输,同时抹除你的渗透痕迹。"

"那样你会——"

"我知道。"赵鹏打断了他,"快。"

沈戈的手指在键盘上悬了一秒。那一秒里,三年的空白、重逢、和即将到来的永别全部压缩在一起。

然后他按下了回车键。

最后3%的数据涌入。同时,赵鹏的终端成为了一个诱饵——暗流的安全系统把所有注意力集中在这台被暴露的终端上,而沈戈的渗透通道在赵鹏的掩护下像水一样消散在网络深处。

"传输完成。通道已切断。"沈戈说。

通讯频道里传来赵鹏最后的声音。

"S.G.,帮我照顾我妈。"

然后是沉默。

频道断开。所有连接归零。

沈戈坐在屏幕前,一动不动。

老K的手放在他的肩膀上,力度很重。

"完成了。"老K说。

沈戈没有动。他在等——等通讯频道里再传来一个字。

但没有。

屏幕上的数据下载日志显示:100%完成。时间戳:00:02:17。

从行动开始到结束,总共十五分十七秒。

第十章 余波

暗流遭到了成立以来最沉重的打击。

三号节点的完整数据被成功获取后,沈戈和团队用了不到一周的时间完成了数据分析。结果触目惊心——暗流的组织规模远超此前的估计:核心成员超过六十人,分布在十二个国家,过去三年里在全球范围内发动了至少四十次网络攻击,涉及电力、天然气、水利、交通等多个关键基础设施领域。

更重要的是,从三号节点获取的管理员凭证被成功用于在其他六个节点植入后门。这意味着暗流的一举一动现在都在监控之下。

老K在行动结束后的第一天就上报了全部情况。上级的反应分成两派——有人对成果表示肯定,有人对行动过程中未经审批的越权操作提出质疑。老K扛下了所有责任,沈戈只被口头警告了一次。

林知微的处理更加微妙。

她主动向老K提交了完整的身份说明,包括她在盾安科技的真实角色、追踪暗流的时间线、以及进入专案组的全部过程。老K在跟上面反复沟通之后,做了一个折中的决定——林知微留在专案组,但权限降级,所有操作纳入监控。

"她帮了不少忙。"老K私下对沈戈说,"但规矩是规矩。她的底细没有完全干净之前,不能给她完全信任。"

沈戈没有为林知微说话。他自己也在消化赵鹏留下的信息。

行动结束后的第五天,沈戈收到了一个包裹。

包裹通过快递寄到他的住处,寄件人信息是一个他从未见过的名字和地址——位于云南的一个小城。包裹里只有一个U盘和一张手写纸条。

纸条上只有四个字:"我没事。—Z.P."

沈戈把U盘插进一台隔离的分析设备。里面是一个加密文件,密钥是他和赵鹏之间约定的紧急通讯协议。

文件解密后是一段文字记录。

赵鹏在记录中描述了他的逃亡路线。行动结束后,他在暗流的安全系统锁定他的身份后不到三分钟就撤离了物理位置。赵鹏提前准备了三条撤退路线,他选择了最危险但最不可能被追踪的那条——穿越缅北丛林进入中国境内。

"我在暗流三年,学到的最重要的一课是:最安全的 hiding place 是你最不想去的地方。"赵鹏在记录里写道,"暗流会搜遍所有常规的逃离路线——机场、港口、边境口岸。但他们不会想到有人会徒步穿越缅北的丛林。"

记录的最后一段:

"S.G.,数据送到了吗?我妈怎么样了?我拜托了老家的一个邻居阿姨定期去看她。她不知道我还活着,也不需要知道。对她来说,儿子三年前已经牺牲了。这样更安全。

我不能回国。暗流的残部会追杀我,我不能给他们线索指向国内的人。但我会继续在外面做事——暗流还有残余,其他几个节点的后门能让我持续监控他们。

你不用找我。我会联系你。用老办法。

照顾好自己。别太熬夜。你的胃病该看医生了。

—— 鹏"

沈戈把文件读了两遍。

然后他把U盘从设备上拔出来,锁进了抽屉最深处。

一周后,赵鹏的母亲收到了一个匿名包裹,里面是一件厚棉衣和一张没有署名的明信片。明信片上印着北京故宫的照片,背面只写了一句话:"妈,天冷了多穿点。"

沈戈不知道这件事是不是赵鹏安排的。但他查了那个包裹的物流信息——寄件地址在广州,用了至少四层匿名转发。

赵鹏确实还在活动。

又过了两周。

一个深夜,沈戈在工位上加班。专案组的工作已经从紧急追查转入常态监控,节奏慢了下来,但事情反而更多了——六个海外节点的数据分析、与国内其他安全部门的协调、暗流残余成员的追踪……

他的邮箱里收到了一封看似普通的垃圾邮件。

发件人地址是一串随机字符,主题是"Re: 系统通知"。沈戈打开邮件,正文是一堆乱码。

他用赵鹏教他的方式解码——每行的第一个字符,按顺序排列。

解码后的内容:

"暗流二号节点有新动作。目标:新加坡金融交易系统。防御配置已更新。附新配置。注意安全。——Z.P."

附件是一个加密的数据包。

沈戈看着这封邮件,嘴角微微动了一下。不是笑——是一种很复杂的表情,像是苦涩和欣慰搅在了一起。

他把附件下载下来,开始分析。

新加坡金融交易系统。暗流的二号节点。新的防御配置。

赵鹏还在战斗。在暗处。在远方。

沈戈拿起手机,给老K发了一条消息:"明天有个新情况要汇报。暗流有动静。"

老K秒回:"几点?"

"早上八点。"

"行。别熬夜了。"

沈戈放下手机。他看了一眼屏幕右下角的时间:凌晨一点三十二分。

赵鹏让他别太熬夜。赵鹏让他看胃病。

他还是打开了一个新的终端窗口。

屏幕上,代码和数据流交织在一起,像一张铺展开来的无形战场。这张战场没有国界,没有硝烟,但每一个字节都关乎生死。

沈戈把手指放在键盘上。

窗外,北京的夜空看不到星星。但在那些看不见的光纤深处,有一个他以为已经失去的人,正在和他并肩作战。

这一次,他们之间隔着的不再是生死。

只是距离。

—— 全文完 ——

沪ICP备16008431号-1

本站所有内容都已取得正版授权,且不适合未成年人观看。版权声明 - 投稿声明 - 自审制度 - 免责声明