array(5) { ["chapterid"]=> string(8) "49409207" ["articleid"]=> string(7) "7300050" ["chaptername"]=> string(8) "第14章" ["content"]=> string(13805) "当天晚上七点,方远行办公室。

五个人第一次同时出现在这个十五平米的空间里。

方远行的办公室在工科楼B座五层走廊尽头,门牌上写着"503·网络安全课题组"。屋子不大,一张办公桌占了一半面积,另外一半被两排铁皮书架挤满了。书架上的书很杂——密码学教材旁边放着《TCP/IP详解》,再旁边是一排发黄的会议论文合集,最底层塞着几箱矿泉水和一袋没拆封的枸杞。窗户开了一条缝,外面法国梧桐的树冠刚好挡住视线,看不到楼下,只能看到树叶和一小块天。

林墨站在窗边——那是他习惯的位置,靠着暖气片。暖气片七月当然不热,但铸铁的表面凉凉的,靠上去比站着舒服。窗外法国梧桐的叶子在路灯下反着光,远处操场的灯还亮着。

苏晚晴坐在方远行桌子的左侧,笔记本电脑已经打开,屏幕亮度调到了最低。周可然坐在她旁边,帆布包放在脚边,手里拿着一个B5大小的笔记本和一支黑色签字笔——她记笔记的方式是最原始的,纸和笔。笔尖在纸上划过的沙沙声在安静的办公室里很清晰。

赵一鸣靠在书架旁,双手插在口袋里。他今天穿了一件黑色T恤,领口有点松,洗得太多次了。表情比选拔赛那天收敛了不少,没有那种满不在乎的劲儿了。左手腕的伤口已经结了痂,粉色的疤痕在日光灯下泛着微光,他不时无意识地摸一下。

陈逸飞坐在门口附近的椅子上——那个位置离门最近,进退自如。右腿搭在左腿上,双手交叉放在膝盖,姿态放松。但林墨注意到他的目光在所有人身上快速扫了一圈,然后落在方远行身上。

方远行坐在办公桌后面,面前摊着一份打印的选拔赛成绩单。他没有急着说话,而是用那种特有的沉默扫视了每一个人。不是看外貌,是看每个人站在这个房间里的方式——站姿、视线方向、手的位置、跟其他人之间的距离。他手里的圆珠笔在桌面上轻轻敲了两下,然后停了。

"坐。"方远行说。

赵一鸣和陈逸飞各自找了位置坐下。赵一鸣搬了把折叠椅放在书架和桌子之间的空隙里,坐下的时候椅子腿在地砖上刮了一声。陈逸飞没动,他就坐在门口那把椅子上。五个人加上方远行,六个人把办公室塞得有点拥挤。空调的嗡嗡声在沉默里显得格外清晰,出风口的白噪音底下还夹杂着走廊里某个实验室没关的仪器发出的嗡嗡声。

"从今天起,你们五个是SUST CTF校队的正式成员。"方远行的语速比平时更慢,每个字咬得很清楚,"校队名称沿用上一届的注册名——ZeroDay。队长,林墨。副队长,苏晚晴。"

赵一鸣抬了一下眉毛。"队长?他?"

"有问题?"方远行看了他一眼。

"没。"赵一鸣耸了耸肩,"就是觉得他话挺少的。队长不是得指挥吗?"

"话少的人看东西清楚。"方远行说,"你话多,但你在选拔赛的Misc题上花了十五分钟去解一个不存在的加密。"

赵一鸣的嘴闭上了。他摸了一下手腕上的疤,没再接话。

方远行把成绩单翻到背面。背面是手写的几行字,他的笔迹潦草但有力,每个字都压得很重:

ZeroDay 首发阵容(暂定):

Web + 逆向 → 林墨

Crypto + 流量分析 → 苏晚晴

Pwn → 赵一鸣

OSINT + 社工 → 陈逸飞

Crypto + Misc → 周可然

"五个人,四个方向。"方远行说,"Web、Pwn、Crypto、Misc各有专人。但CTF正式比赛的赛制是三到五人队伍,每个人可能需要覆盖多个方向。赵一鸣,你的Pwn是强项,但你在Web上的基本功也不差——选拔赛你手工注入的速度全场第一。你不能只会Pwn。"

赵一鸣点了一下头。这一次他没有反驳。

"陈逸飞。"方远行的目光移向门口方向,"你的技术在选拔赛里已经证明了。但你的方向定位是OSINT和社工——不是因为你只会这些,而是因为你在这些方向上的思维方式跟其他人不一样。你擅长从碎片里拼全貌。这是你最大的价值。"

陈逸飞微微点了一下头,没说话。他的表情在日光灯下很平静,看不出什么反应。

"周可然,你的密码学功底不需要我评价。但你在实战中的节奏还需要适应——CTF比赛不是学术论文,你不可能把每一道题都做到完美才提交。有时候七十分比一百分更重要,因为时间。"

周可然推了推眼镜。"我知道。"她的声音不大,但很稳。手里的笔在笔记本上写了什么,林墨看不到具体内容,只看到她的手腕动了两下就停了。

"苏晚晴负责战术指挥和流量分析。比赛中的分工调度由她决定。林墨负责技术方向的最终判断——解题路径、攻防策略、flag提交优先级。两人在比赛中的决策权对等,分歧时由林墨拍板。"

苏晚晴看了林墨一眼。林墨没有回应那个目光。方远行把"分歧拍板权"给了他,同时也把分歧的可能写进了明面。这不像信任,更像测试。

"现在说正事。"方远行从抽屉里拿出一个文件夹,抽出一叠纸。"华东赛区选拔赛,九月七号到八号,地点在上海。全国总决赛十月下旬,地点待定。从今天到赛区比赛,我们有七周。"

他把纸推到桌面中央。那是一份训练计划表,手写,字很小,挤在A4纸上:

第1-2周(7/22-8/4):分方向刷题 + 基础补强

- 每人每天至少5道题,方向不限

- 周末合练:模拟赛3小时

第3-4周(8/5-8/18):封闭特训

- 地点待定(需申请场地)

- 全天训练,每日8小时以上

- AWD攻防模式专项

第5-6周(8/19-9/1):模拟对抗赛

- 内部对抗 + 友谊赛(寻找对手队伍)

第7周(9/2-9/6):赛前调整 + 出发

"七周。"方远行说,"够不够把你们从一群散兵游勇变成一支队伍,我不知道。但这是你们拥有的全部时间。"

赵一鸣看着训练计划表,嘴角动了一下。"每天五道题?我Pwn方向刷了三百多道了,再刷——"

"你刷了三百道Pwn。"方远行打断他,"但你在选拔赛上花了十五分钟去解一个不存在的加密,又花了一小时没发现栈对齐差异。刷题量不等于实战能力。你的三百道题证明你会做Pwn,但不证明你会在比赛里做Pwn。"

赵一鸣不说话了。他把身体往折叠椅后面靠了靠,椅子发出一声吱呀。周可然的笔在纸上又写了一行。

"封闭特训的场地我来解决。"方远行继续说。他拿起茶杯喝了一口,杯壁上挂着枸杞,水已经泡成了淡黄色。"但这期间有一个问题——李德明。"

提到这个名字,办公室里安静了一瞬。空调的嗡嗡声突然变得很明显。

"李德明已经知道了校队重组的事。"方远行的语气没有波动,"昨天他在院务会上提出,CTF校队的训练活动属于课外科技实践,应纳入学院统一管理,训练场地和设备使用需经院方审批。这个提案被否决了——CTF是教育部认可的学科竞赛,不归院务会管。但他不会停。他会在你们训练期间找各种理由检查实验室、审计设备使用记录、甚至向教务处举报你们未经授权使用校园网络资源。"

"我们确实在未经授权地使用校园网络资源。"赵一鸣说了一句大实话。

"你们的端口镜像和流量监控是网络安全课程实验的一部分。"方远行说,"我已经把你们的操作记录补进了实验课程的文档里。从纸面上看,你们的所有行为都是课程实验的合法环节。但如果李德明找技术手段深入查——"

"他查不到。"林墨开口了。声音不大,但办公室里所有人都听到了。"镜像端口的配置日志我已经做了一次清洗,只保留了跟课程实验相关的条目。监控数据的存储机器是我的个人设备,不接校园网,不在学院资产清单上。"

方远行看了他一眼。那个眼神里有一丝东西——不是赞许,更像是确认。确认林墨在技术层面已经考虑到了这一步。

"但有一件事你们需要注意。"方远行把声音放低了一些,身体往前倾了一点。办公室里更安静了。"从现在开始,任何跟校园网渗透调查相关的讨论,只在你们五个人之间进行。不要在微信、QQ、校园邮箱里讨论。面对面,或者用加密信道。"

"为什么现在要加密?"苏晚晴问,"之前你和林墨、我之间没有这个要求。"

"因为人多了。"方远行说,"两个人保密容易,五个人保密难。而且——"他停了一下,手摸了一下茶杯的杯沿,"我今天上午收到了一封邮件。发件人是校园信息中心的自动告警系统。告警内容是:教务系统在昨晚检测到了异常的外部网络连接,目标IP指向一个未备案的域名——zdp-shadow.net。"

五个人同时安静了。赵一鸣的手从口袋里抽出来,放在扶手上。周可然的笔停了。

"信息中心的人能看到这个?"赵一鸣问。

"信息中心的自动告警系统能看到。但信息中心的人看不懂数据包层面的东西——他们只会看到一个DNS解析记录和一个外发连接,然后把它归类为可疑外联,要求教务系统管理员排查。问题是,教务系统的管理员——"

"就是那个忘了关debug接口的研究生。"苏晚晴说。

"对。他排查不了这种级别的攻击。他只能把debug接口关掉,然后向信息中心报告已处理。但回调钩子不在debug接口上——它在config_update接口上,那是另一个完全独立的模块。关掉debug接口对回调钩子没有任何影响。"

"所以信息中心会以为问题解决了,但实际上攻击者只是换了个接口继续运作。"林墨说。

"对。但这给了我们一个窗口——攻击者会以为他的回调钩子还没有被发现,因为信息中心的处理方式是关闭debug接口,不是清除钩子。在他的视角里,他的主动窃取通道还在运行。"

"你想让他继续以为自己是安全的。"周可然说。她说话的时候手里的笔在纸面上画了一条横线,像是给这句话画了下划线。

"对。所以从现在起,回调钩子不能动。你们可以监控它的外发流量,但不能阻断,不能修改,不能让攻击者察觉到任何异常。这是钓鱼。"

方远行说"钓鱼"这个词的时候,目光从五个人脸上依次扫过。在赵一鸣脸上停了不到一秒,在苏晚晴脸上也差不多。看周可然的时候稍长一点,大概两秒。看陈逸飞的时候——林墨数了一下——大概三秒。

那三秒可能意味着很多事,也可能什么都不是。

"现在,"方远行合上文件夹,"说说你们各自的情况。从赵一鸣开始。"

赵一鸣坐直了身体——这是他今天第一次表现出正式的姿态。折叠椅在他的重量下嘎吱响了一声。"赵一鸣,计算机学院大二,Pwn方向。自学两年,刷过BUU和攻防世界的Pwn题三百多道。技能栈:x86_64汇编、栈溢出、堆利用、格式化字符串漏洞。弱点——"他顿了一下,像是在说一个不愿意承认的事实,"比赛心态不好。容易钻牛角尖。"

"知道就好。"方远行说。

苏晚晴第二个。"苏晚晴,网络安全学院大三,密码学和流量分析。方老师课题组在编成员。技能栈:对称/非对称密码分析、TLS协议分析、网络流量特征提取。比赛经验:无正式CTF参赛记录。"

"周可然,网络安全学院大三,密码学方向。法国交流一学期,导师是侧信道攻击领域的Marie Lebrun教授。技能栈:分组密码分析、侧信道信号提取、信号处理。比赛经验:无。"

"陈逸飞。"轮到他的时候,他的声音跟平时一样平。"软件学院大三。方向比较杂——OSINT、社工、Web、Misc都能做。技能栈:信息检索、社会工程学、Python、Web渗透。比赛经验——"他停了一下,"无正式CTF记录。"

"无正式记录。"方远行重复了一下这四个字。办公室里安静了一秒。但方远行没有追问。他转向林墨。

"林墨。网络安全学院大三,方老师课题组。Web渗透和逆向分析。技能栈:Web全栈渗透、二进制逆向、Python/C/汇编。比赛经验——"方远行自己说到了这里,然后停下来,看着林墨。

"无。"林墨说。

方远行点了一下头。"五个人,零比赛经验。七周后你们要去华东赛区,跟至少二十支经验丰富的队伍竞争。其中有三支是常年全国前十的强队——华清大学的量子、上海交大的0ops、浙大的AAA。"

赵一鸣的喉结动了一下。"华清量子。"

"江北辰。"方远行说出了那个名字,"大四,量子队队长。连续两届全国赛个人赛冠军。他的Web和逆向能力——"他看了一眼林墨,"至少跟你在同一水平线上。但他的比赛经验是你的十倍。"

林墨没有回应这句话。方远行不会做没有目的的对比。他在给所有人设定参照系。

"训练计划从下周一开始。"方远行站起来,椅子在地砖上蹭了一声。这意味着会议结束。"在那之前,林墨和苏晚晴有一件事要处理——"他看向他们两个,"设备入库记录。2024年3月。"

苏晚晴微微点头。林墨的目光跟方远行对上了一秒。方远行已经知道了图书馆B3的事。

"散了。"方远行说。" ["create_time"]=> string(10) "1785963696" }