机上娱乐系统运行Windows NT4,那是一款几乎拒绝访问尝试的操作系统。
信息安全公司Pen Test Partners(PTP)的研究人员在波音747客机的机上娱乐(IFE)系统中建立了持久shell,所利用的漏洞甚至可追溯到1999年。
这次攻击更多是出于好奇而非其他什么目的:在真正的航班上搞事情太难了,而且反正现在747乘客服务也极少见了。
PTP在关于这次攻击活动的文章中写道:“利用这个系统比我们预想中更具挑战性,其中大部分原因在于这个IFE已经25岁高龄,缺失了好些较新系统上我们觉得理应具备的功能,但我们确实成功了。”
这个IFE系统真的很古老,其管理服务器甚至运行在Windows NT4 SP3上。而Windows NT4 SP3是当今Windows Server构建的远祖。攻击目标的年龄给PTP的测试人员带来了麻烦:当他们尝试在目标系统上执行现代渗透测试工具时发现,NT4诞生得比远程桌面协议(RDP)等日常攻击界面还早。
简言之,很多现代工具和技术都无法使用。Metasploit工具挨个试过一遍,完败,完全没理由再尝试。甚至Kali Linux的前辈Backtrack也没用,让PTP总部里的研究人员颇为挠头。
PTP的博客作者感叹道:“这就是NT4令我们感到棘手的地方。P通常,攻击载荷会利用名为cscript的Windows内部函数执行。几乎所有版本的Windows系统都会将cscript用作执行脚本的工具,所以可以创建任何Visual Bacis、C#或其他脚本并用cscript执行。然而,NT4竟然没有包含cscript,这个操作系统早于cscript出现,看起来不可能在该系统上执行任何脚本了。”
IFE的NT4部署中还没有替代脚本工具,所以,研究人员常用的远程代码执行(RCE)也用不了。而且,IFE还是个独立工作站,并没有加入任何域,根本无法通过网络嗅探到其口令散列。
另一个问题是,现场实时测试该网络需要启动宿主飞机。用747的辅助动力装置(APU)启动飞机,意味着要给埋设在飞机尾部的饥渴喷气涡轮供油:典型747 APU每小时要烧掉300到400公斤Jet A1航空燃油,换句话说,每小时吞掉250美元。
PTP测试的机上娱乐(IFE)网络的NT4版本运行着Internet Information Services v4.0(IIS,其中漏洞十分古早,可追溯到2000年)。
经过一番字符编码的欺骗操作,研究人员在IFE上获取了一个目录遍历漏洞利用。PTP称,现代操作系统一般都使用UTF-8编码,将字符编码到单字节中而不是像UTF-16那样使用双字节。也就是说,他们的命令需要在部署前先重新编码。
“目录遍历攻击需要目标程序与Web服务器位于同一驱动器上。在我们的攻击实例中,我们需要system32文件夹与IIS位于同一个驱动器上。”这在实验室环境显然很好实现,但博客文章中并没有详细说明747上NT4 IFE系统的配置方式是否如此。
PTP用来获取持久shell访问权的第二个漏洞利用,是一个20年高龄的远程代码执行漏洞:CVE-1999-1011。PTP将之描述为使用“名为Microsoft Data Access Components(MDAC:微软数据访问组件)的程序包,通过IIS直接访问数据库对象。”
最终,研究人员使用Metasploit的TFTP服务器模块侵入了系统,获取了命令行访问权,以此获得了管理员口令的散列值并加以破解。PTP的博客文章中完整记录了渗透测试的详细情况。
尽管研究的目标是IFE系统,访问系统所必需的以太网端口却是在747飞机的厨房里:飞行过程中这一区域无人看管的时间极少超过数分钟。也就是说,在实践中,利用PTP发现的漏洞入侵747飞机是不可能的。
而且,尽管拒绝透露关于所涉系统和特定飞机的更多细节,PTP还是表示:此类IFE系统在今天仍然承担飞行任务的747飞机上已不再使用。对于老式Windows的爱好者来说,这是个不幸的消息——尽管他们可以安慰自己,软盘仍然是当今大型喷气式飞机的一部分。®
Pen Test Partners完整博客文章:
https://www.pentestpartners.com/security-blog/getting-a-persistent-shell-on-a-747-ife/
声明:本文来自数世咨询,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。