欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

DEFCON 26 | 利用传真功能漏洞渗透进入企业内网(Faxploit)

来源:本站整理 作者:佚名 时间:2018-09-05 TAG: 我要投稿
T.30扩展
在Pahse B阶段,传真猫会进行功能交换,所以它可以找出能支持的最佳传输方式。为此,我们编写了一个简单脚本对这些使用ITU T.30标准的消息进行了语法分析,下图为对数字识别信号(DIS)的解析结果:

看似我们测试的一体机支持ITU T.81 (JPEG) 格式,也就是说,它能发送彩色传真。而在分析彩色传真的处理代码过程中,我们有了另外的新发现:接收到的数据按原样存储到.jpg文件中,与.tiff文件中标头由接收端创建的不同,这里的.jpg我们可以对整个文件进行控制。
我们基于标准对这种传真行为进行了检查后发现,由于JPEG格式非常复杂,其标头Header(也称为标记maker)确实是通过电话线发送的,接收端负责处理它们并决定保留下什么。一些标头可能不受接收端支持,会被丢弃,如COM的其它标头则会被忽略。在我们对固件和开源代码的测试检查中,接收内容总会被无过滤地转储到一个文件中保存,这也就成了攻击者的一个很好的“猎物”。
打印彩色传真
概括来说,当目标打印机接收到一个彩色传真,它就会简单地无安全过滤地,把其内容转储到一个.jpg文件中,通常来说,这个文件位于%s/jfxp_temp%d_%d.jpg。然而,接收传真只是第一步,接下来还需要打印传真,为此打印模块需要首先确认接收文件的长度和宽度,所以,还要进行一个基本的语法分析。
JPEG解析器
存在一些说不清的原因,这种特定固件的开发者倾向于把主流开源项目中实现的模块功能进行重新编写,改善优化,也就是说,他们不会用开源的libjpeg标准库,转而是用自己的 JPEG 解析器。从攻击者角度来说,这就是一个可以利用的点,在开发者自己开发的复杂文件格式解析器中来发现可利用的漏洞,似乎也不是没有可能。JPEG解析器原理非常简单:
先检查图像开始SOI标记:0xFFD8
循环分析各个支持标记
完成以上步骤后向调用者返回相关数据
这不,我们就以此为突破口,发现了以下两个漏洞。
CVE-2018-5925 – COM标记解析缓冲区溢出漏洞
根据ITU T.30 standard标准,COM标记 (0xFFFE)是一种大小可变的文本字段,这种文本字段一般用来代表文本类型的注释说明。从这个点上,我们希望发现某种解析漏洞。比较搞笑的是,根据ITU T.30 标准来看,这种COM标记应该要被传真接收端丢弃才是。然而,我们却在其中发现了以下漏洞:

解析模块会解析一个低字节序或小端模式的2字节长度字段,并反复执行从传真文件中复制数据到一些全局数组中的操作。貌似数组中的每个条目都有2100字节的大小,而我们的构造的长度字段可以高达64KB,这就给了我们一个大容量的可控缓冲区溢出区域。
CVE-2018-5924 – 解析DHT标记时的堆栈缓冲区溢出漏洞
由于上一个漏洞的发现是标准实现中不应支持的标记所导致的,所以,我们继续把关注点扩展到了其它标记身上。在解码文件的数据帧时,DHT标记(Difine Huffman Table) 定义了一个特定的霍夫曼表来使用。而且,这个DHT标记漏洞涉及到的函数比上个漏洞函数还简单容易一些:

可以看到存在一个读取16字节的初始解析循环,这是因为每个字节代表了一个长度字段,所有这些字节最后累积成为一个总的长度变量
存在一个全0填充的256字节本地备用堆栈
第二个解析循环会使用之前的长度字段,从传真文件中拷贝数据到本地堆栈缓冲区中
一个简单的计算就能知晓具体的漏洞成因:16 * 255 = 4080 > 256,也就是说,我们可以构造一个大容量可控且无限制的堆栈缓冲区溢出,这是多好的一个漏洞啊。
创建漏洞利用代码
对比以上两个漏洞,由于DHT标记解析漏洞相对容易实现。在Devil’s Ivy漏洞中,其中的调试exploit利用代码,也是利用了一个堆栈溢出漏洞,那么这里我们也是一样,仅只需要对调试exploit作出一些小修改即可。
自动化Payload – 实现图灵机机制
我们可以使用同样的网络加载器来构造调试exploit。然而,当前的攻击向量有一个主要的优势:完整的攻击Payload可以存储在传真发送的“JPEG”中,鉴于它不对传真内容执行任何安全过滤检查,因此我们可以把整个Payload都存储在发送文档中,不需要担心它是否会被转储为一个非法的JPEG文件。
而且文件的fd文件描述符也存储在可访问的全局变量中,所以, 我们编写了一个基于文件的加载器,该加载器会从文件中读取Payload,然后把它加载到内存中去。之后,每次Payload想要用输入执行任务时,它就会从同一文件中读取输入并按照其中的指令实现任务操作。为此,我们构建了一个基本的图灵机机制来从发送传真中读取输入并实现操作。
通过网络传播
入侵控制一台企业打印机也不错,但是我们想做的远不只这些。实际上,如果能通过打印机来控制整个企业内网,那影响和威胁就就非常之大了。所以,我们利用我们漏洞分析团队之前的研究结果,综合了NSA武器 – “永恒之蓝”( Eternal Blue)和“双脉冲星”(Double Pulsar),应用于此次传真漏洞的基于文件的图灵机中来。
我们的漏洞Payload具备以下功能特点:
可以控制多功能一体机的LCD显示屏 – 这是一种打印机完全控制权的体现
检查多功能一体机的网络是否为连通状态
使用NSA“永恒之蓝”( Eternal Blue)和“双脉冲星”(Double Pulsar)武器,攻击目标内网受害主机,实现入侵控制。
由此,我们通过传真漏洞远程实现企业内网的多功能一体机入侵控制,并以此为据点,可向企业内网深入进行横向渗透。

上一页  [1] [2] [3] [4]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载