第九章 入侵与失联
北京时间07:35(新泽西时间 19:35)CUA889飞机上
驾驶舱内,仪表盘的冷光映在机长赵子华紧绷的脸上,密密麻麻的航迹数据、高度指针和通讯频率,织成一张让人窒息的网。空调出风口吹着微凉的风,却压不住舱内的沉闷——通讯频道里只有刺耳的电流杂音,已经整整半小时,没有收到任何来自地面管制的指令。副机长许虎揉了揉发胀的太阳穴,起身推开驾驶舱门,舱门缝隙里漏进经济舱的微弱灯光和乘客的低语声,他脚步放轻,快步走向机舱中部的乘务服务站。
服务站的餐车整齐摆放着饮料和小吃,乘务员正低头整理餐食,见许虎过来,连忙点头示意。许虎随手拿起两瓶常温矿泉水,目光快速扫过经济舱:乘客们大多闭目养神,偶尔有几声低低的交谈,整体还算安稳——没有恐慌,没有骚动,这让他紧绷的神经稍稍舒缓了几分。确认无异常后,他攥着矿泉水,快步折返驾驶舱,轻轻带上舱门,将其中一瓶递到赵子华手边。
“我没错过任何指示吧?”许虎伸了个懒腰,后背的肌肉发出轻微的酸痛声,顺势坐回自己的座位,指尖无意识地摩挲着操纵杆,语气里带着一丝不易察觉的疲惫。他和赵子华搭档多年,跑中美航线几十趟,从未像今天这样,全程被诡异的沉默包裹。
赵子华接过矿泉水,没有拧开,目光依旧死死盯着航迹屏幕,眉头紧锁:“没有任何指示。你检查一下航行手册,对照当前航向和高度,看看改变航线后,燃油是否足够支撑到下一个备降场。”他的声音低沉,带着一种莫名的凝重——偏离标准航向075°,保持035°航向已经许久,燃油消耗必然比预设的多,这是他最担心的问题。
许虎立刻收起疲惫,翻开身旁厚厚的航行手册,指尖快速翻动书页,时不时抬头对照仪表盘上的燃油数据、航程参数,嘴里低声核算着。几分钟后,他的手指顿在书页上,脸色微微发白,语气里带着明显的不安:“子华,这不对劲。我们在这条航线上跑了几十趟,无论是平飞阶段还是过渡阶段,从来没有遇到过晴空颠簸的预警,可仪表盘上的颠簸提示一直在闪烁,而且……燃油消耗比正常情况多了近10%,这太奇怪了,我心里总觉得不踏实。”
赵子华缓缓点头,指尖在通讯器上轻轻按了几下,频道里依旧只有杂音。“我也觉得反常,”他沉声道,“已经30分钟没有新指示了,再等等看吧。按照当前航向和速度,预计20分钟后就进入雷克雅未克区域管制中心的管辖范围,到那里,应该会有新的航行指示。”话虽如此,他的眼神里却没有丝毫笃定,指尖不自觉地攥紧了矿泉水瓶,瓶身被捏出几道浅浅的印痕。驾驶舱内再次陷入沉默,只有仪表盘的滴答声、发动机的轰鸣声,还有两人略显沉重的呼吸声,交织在一起,透着说不出的诡异与不安。
北京时间07:35(新泽西时间 19:35)新泽西 纽瓦克 —— Ben 工作室
“哔哔——”刺耳的提示音突然打破工作室的寂静,Ben面前的监控屏幕上弹出“摄控异常”的红色弹窗。他立刻抬眼,目光死死锁定屏幕,画面里,CUA889的驾驶舱门被推开,副机长许虎走了出来,神色疲惫却依旧警惕。Ben的指尖在键盘上轻轻一点,切换了几个监控画面,全程紧盯着许虎的一举一动——看着他走向乘务服务站,看着他拿水,看着他扫视经济舱,直到许虎折返驾驶舱、关上舱门,他才稍稍松了口气。
就在这时,“咚咚咚——”一阵急促而激烈的敲门声突然响起,力道颇重,打破了这份短暂的平静。Ben的身体瞬间绷紧,眼神瞬间变得冰冷而警惕,下意识地握住桌下的匕首,缓缓起身,脚步放轻,一步步走向大门。他没有立刻开门,而是凑到猫眼上,仔细观察门外的情况——只见一个穿着外卖制服的年轻人,手里拎着一个披萨盒,正低头看着手机,神色平和,正是他半小时前点的外卖。
即便如此,Ben依旧没有放松警惕,又在猫眼里确认了一遍,确认没有异常、没有尾随人员后,才缓缓拧开反锁的门锁,只打开一条缝隙,伸出手接过披萨,快速扫码付钱,全程没有多说一句话,也没有让对方看清自己的脸。关上门的瞬间,他立刻反锁,将披萨放在桌上,紧绷的神经才稍稍舒缓。
这两天,他满脑子都是父亲和哥哥的身影,那些被陈国梁“背叛”的画面、家人离世的痛苦,一遍遍在脑海里回放,再加上操控CUA889的高强度操作,他几乎忘记了饥饿,忘记了自我。此刻,腹中的饥饿感汹涌而来,他拆开披萨盒,拿起一块,大口大口地吃了起来,眼神却依旧没有离开监控屏幕,依旧紧盯着CUA889的实时航迹——他不能有丝毫松懈,这场由他主导的“复仇游戏”,只能赢,不能输。
北京时间08:10(新泽西时间 20:10)上海浦海区国际机场 —— 警务楼指挥中心
刺耳的警笛声划破机场的清晨宁静,一辆白底黑字、印着“国安”“警察”字样的警车,鸣着警笛,从机场安全闸道飞速驶入,轮胎碾过地面,发出急促的摩擦声,径直停在机场警务办公楼前。车门被猛地推开,陈墨拎着笔记本电脑和U盘,快步走下车,眉头紧锁,神色凝重,指尖因为用力而微微发白——他的心里只有一个念头,找到Ben,阻止他,救回父亲,救回机上所有的人。
李爽和钱子豪紧随其后,两人手里也抱着各自的设备,眼神锐利,步履匆匆。早已等候在门口的干事立刻上前,语气急切:“快跟我来,吴组长已经在指挥中心等着你们了,情况非常紧急!”说完,便转身快步引领三人走进警务办公楼。
办公楼内一片肃静,只有急促的脚步声和电梯运行的叮咚声,空气中弥漫着淡淡的消毒水味,混合着一丝紧张压抑的气息。电梯直达二楼,门一打开,一股忙碌而紧张的气息扑面而来——一间宽敞的大会议室被改造成临时指挥中心,墙壁上挂着巨大的幕墙,上面清晰地显示着CUA889的实时航迹、当前位置、高度和航向,红色的航迹线偏离标准航线一大截,格外刺眼。
会议室里挤满了人,十多台电脑整齐排列,工作人员们围坐在电脑前,指尖在键盘上飞速敲击,发出密集而急促的噼啪声,有人对着电话大声沟通,语气急切而严肃,有人眉头紧锁地盯着屏幕,神色凝重,还有人手里拿着文件,快速穿梭在各个工位之间,整个指挥中心里,没有一丝多余的交谈,只有全力以赴的忙碌,每一个人的脸上,都写满了焦急与凝重——那是对机上300条生命的担忧,是对未知危机的警惕。
一位身着警服、面容沉稳的中年男人快步走了过来,目光落在陈墨三人身上,语气急切却依旧沉稳:“我就是吴卫国,这里是CUA889失联处置临时指挥中心。”他顿了顿,目光扫过幕墙,语气愈发凝重,“现在我们已知,CUA889上的乘客加空乘人员共300人,航班依旧在严重偏离正常航向,目前,我们与航班的所有通讯都已被切断,完全失去联系。”
吴卫国的目光定格在陈墨身上,语气带着一丝恳切,也带着一丝期许:“陈墨,我们查到,你已经成功进入航班的监控系统,现在,立刻将机内的实时画面展示在幕墙上,我们需要了解机上的真实情况,判断机组和乘客的状态。”随后,他又转向李爽和钱子豪,快速交代道:“你们两人也大致了解情况,目前航班已被一名位于新泽西纽瓦克的黑客(Ben)非法操控,你们的任务,就是尽快找出他的具体位置,我们会立刻联系美国警方,协助我们实施抓捕,阻止他继续操控航班。”
说完,吴卫国便引领三人来到离幕墙不远的三个工位前,电脑屏幕上已经调出了相关的追踪工具和航班数据。陈墨立刻放下设备,快速打开笔记本电脑,指尖在键盘上飞速敲击,眼神专注而坚定——他知道,时间就是生命,每多耽误一秒,机上的人就多一分危险。李爽和钱子豪也立刻投入工作,三人的键盘敲击声,融入了指挥中心的忙碌之中,成为拯救CUA889的希望之光。
北京时间08:25(新泽西时间 20:25)新泽西 纽瓦克 —— Ben 工作室
CUA889实时状态: - 当前位置:50°18′N,43°44′W - 实际航向:035° - 当前高度:11780 米(约 FL387)(平稳爬升至接近巡航高度) - 标准航路航向:075°(仍严重偏离) - 管制状态:即将进入雷克雅未克管制区,尚未完成管制交接
Ben放下手中的披萨,擦了擦嘴角,眼神再次变得冰冷而锐利,指尖重新落回键盘。他没有丝毫犹豫,打开端口扫描工具,快速输入雷克雅未克ACC的核心网段,指尖重重按下回车,屏幕上瞬间滚动起密密麻麻的扫描数据,绿色的代码、红色的端口提示、蓝色的漏洞标记,飞快地在屏幕上闪过。
他针对性地扫描着管制系统的关键端口,目光死死锁定那些可能存在漏洞的入口——空管系统虽有严格的防火墙和防护机制,但多年未更新的系统补丁、部分管理员遗留的弱口令、未及时封堵的老旧接口,都是他可乘之机。Ben的眼神锐利如鹰,死死盯着屏幕上跳动的端口信息和漏洞报告,指尖偶尔停顿,快速记录下关键数据,神情专注到极致,仿佛整个世界只剩下他和眼前的屏幕。
# 扫描雷克雅未克ACC核心网段,探测开放端口与系统漏洞
nmap -sS -Pn -p 21,22,80,443,5555,8888 194.14.128.0/24
# 调用漏洞扫描器,检测空管系统已知漏洞(重点针对ICS工业控制系统)
openvas -t 194.14.128.100 -o reykjavik_vuln.txt
扫描进度条飞速推进,工作室里只有键盘敲击的清脆声响和主机风扇的轻微转动声。几分钟后,扫描结果定格在屏幕上,一个关键信息让Ben眼中闪过一丝得意——雷克雅未克ACC的5555端口处于开放状态,这是其航迹数据交互的核心端口,专门用于接收和传输航班ADS-B数据、管制指令,是整个管制系统的“咽喉”;同时,漏洞扫描报告明确显示,该端口对应的系统存在SQL注入漏洞,且部分管理员账号仍使用弱口令,未启用多因素认证,这无疑是他突破防线的最佳突破口。
“找到了。”Ben低声自语,语气里带着一丝阴鸷的笑意,指尖在键盘上飞速敲击,快速编写注入脚本,将恶意代码伪装成正常的航迹数据,小心翼翼地绕过系统防火墙,试图悄无声息地侵入雷克雅未克ACC的核心数据库。他的脚本精准定位到数据库的权限表,通过构造恶意查询语句,篡改查询逻辑,全力获取管理员权限——一旦得手,他就能随意篡改CUA889的航迹数据、伪造管制指令,还能彻底切断陈墨等人的追踪链路,将CUA889牢牢掌控在自己手中。
# 利用SQL注入漏洞,获取雷克雅未克ACC管理员权限
import requests
url = "http://194.14.128.100:5555/dataquery"
payload = {"query": "SELECT * FROM atc_admin WHERE id='1' OR 1=1#"}
response = requests.post(url, data=payload, verify=False)
# 解析响应,提取管理员账号密码(MD5加密,用彩虹表破解)
admin_info = response.json()
admin_username = admin_info[0]["username"]
admin_password_md5 = admin_info[0]["password"]
屏幕上,响应数据缓缓刷新,管理员账号和加密密码被成功提取。Ben立刻调用彩虹表,指尖快速操作,短短几十秒,加密的管理员密码便被成功破解。他没有丝毫停顿,用破解的账号密码,直接登录雷克雅未克ACC的航迹管理后台——后台界面上,密密麻麻的航班数据、管制指令、空域划分信息一目了然,其中就包括CUA889的实时航迹,以及它即将进入该管制区的预警提示。
Ben快速植入后门程序,篡改数据交互链路,随后,他打开指令编辑窗口,调出早已编写好的虚假管制指令,反复校验无误后,静静等待着——等待CUA889正式进入雷克雅未克管制区的那一刻,按下发送键,将那道致命的指令,发送到CUA889的驾驶舱。
指令内容早已定格在屏幕上:
CUA889, clear ahead, turn right heading 055, descend and maintain FL350.
(CUA889,前方航路良好,右转航向 055,下降至FL350并保持)
北京时间08:25(新泽西时间 20:25)甘德区域管制中心 —— 雷达监控席
甘德管制中心的监控席上,气氛压抑到了极点,雷达屏幕上,CUA889的光点依旧朝着035°航向移动,偏离标准航线越来越远,通讯频道里依旧只有刺耳的电流杂音,没有任何来自机组的应答。管制组长紧紧握着电话,脸色凝重,语气急切地与雷克雅未克管制区的组长沟通着,声音里带着一丝不易察觉的恳求。
“我们已经完全失去与CUA889的所有联系,”管制组长的声音沙哑,带着疲惫,“我们已经要求所有接近CUA889航班航线的航班,同时启用高频频道呼叫机组,但始终没有任何回应。按照当前航迹和速度,预计不到20分钟,CUA889就会驶入你们的管辖区域,希望你们能提前做好准备,加大呼叫力度,务必尝试联系上机组,阻止航班继续偏离航向!”
电话那头,雷克雅未克管制区组长的声音还在断断续续地回应着,就在两人即将敲定联合呼叫方案的瞬间,“滋啦——”一阵刺耳的杂音突然响起,电话通讯被莫名切断,听筒里只剩下无尽的电流声。管制组长猛地皱起眉头,反复按动电话按键,试图重新拨通,却始终无法连接,脸上的凝重之色愈发浓重——他隐隐有种不好的预感,这场失联,或许比他们想象的还要复杂。