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

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

来源:本站整理 作者:佚名 时间:2018-09-05 TAG: 我要投稿

但接入调试器之后,我们才发现其调试接口的默认权限是受限的,不能有效地执行我们的预设命令:

这看起来是需要提权才行了,但提权就得需要漏洞啊,那就来找找看吧!
匹配已知漏洞
寻找已知漏洞
当你要exploit一种特定固件时,首先的方法就是去看看它使用了哪些开源代码,对比不同版本,尽可能地找到能用的CVE。这项工作1天已经足够了,对于调试目的来说也是绰绰有余。有两种方法来判断使用的开源代码:
在固件逆向代码中使用字符串查找,从中找出关键字符串
从厂商网站中查找一些产品的开源代码认证信息
另外,要发现这些开源代码漏洞有几种方法:
在CVE库中查找与其代码库相匹配的漏洞
用熟悉的漏洞进行验证
关注US-CERT每周发布的CVE更新消息
gSOAP工具包调试漏洞 – CVE-2017-9765
在开源代码分析中,我们发现其中使用了gSOAP库,经分析确认,gSOAP库曾存在“魔鬼绿萝”(Devil’s Ivy)的CVE-2017-9765漏洞,是早前在监控摄像头开源软件中爆出的0-day漏洞,曾影响了全球大量IoT设备。以下为该漏洞代码段的反编译代码:

利用该漏洞,向多功能一体机发送超过2Gb的XML数据时,将造成整型下溢,最终会导致栈缓冲区溢出,可执行任意代码,能实现对目标多功能一体机的完全控制。
但是,该漏洞的利用存在两个前提限制:
漏洞利用代码的传输需要耗费大量时间,优化后,传输时间还是在7分钟左右
只能在IDA和每次尝试失败时产生的基本串行转储环境下来开发这个漏洞
对Devil’s Ivy的CVE-2017-9765漏洞利用
该漏洞可以触发栈缓冲区溢出,但存在一些限制型字符。这种字符如下:
不可打印的: 0×00 – 0×19
‘?’对应的: 0x3F
该漏洞的一个好处是溢出无限制,也就是说,我们可以把整个漏洞利用链发送到目标设备的栈区中进行攻击。
但在嵌入式环境中,我们需要注意的是其CPU的各种缓存可能会对漏洞触发造成影响。CPU中接收到的数据包会存放在数据存储区 Data Cache (D-Cache),而执行指令则会在Instruction Cache (I-Cache)中进行。也就是说,即使没有NX位支持,由于CPU会通过 I-Cache 执行代码,那么我们也不能直接在栈缓冲区中实现漏洞Payload的触发。
如何才能绕过以上这些各种限制呢?我们需要用到一种包含以下部分的Bootstrapping算法利用:
可以刷新D-Cache 和 I-Cache 的基本的ROP(面向返回的编程)控制
加载到调试器网络加载端的解码shellcode
整个调试器可以通过网络发送到加载端
在此,我们就不展开详谈漏洞利用链构造过程,如果你感兴趣请自己尝试测试。接下来,我们来说说漏洞利用的各种载体。
Scout调试器
我们构建的调试器是一个基于指令的网络调试器,它支持基本的内存读写请求,还能扩展支持特定固件指令。我们使用调试器从多功能打印机中提取了其内存,然后对它进行了一些扩展测试。
一旦调试器被配置了附带固件API函数,如memcpy、sleep和send等地址后,由于它是位置无关的,所以调试器就可以加载任意地址。Scout Debugger下载地址:https://github.com/CheckPointSW/Scout
ITU T.30 – Fax协议
多功能一体机如果支持传真功能,那么也一定能支持涉及传真设备的ITU-T G3协议标准,该标准定义了传真发送端和接收端的基本功能,以及协议的不同实现阶段,如下图所示:

我们重点来看上图的Phase B和Phase C,Phase B负责发送端和接收端之间的协商(握手),而Phase C则根据协商规定进行数据帧传输。数据帧利用面向比特的高级数据链路控制协议(HDLC),通过电话线来进行传输,如下图所示:

挖掘攻击向量
发送TIFFs
存在一种误解,也就是传真只是一种简单地TIFF报文发送手段。实际上,T.30协议能发送页面,且Phase B阶段协商的参数中就已经包括了页面长度和宽度,而且,Phase C阶段则主要是传输页面的数据行。也就是说,传真最终的输出是一个包含IFD标签的TIFF文件,IFD标签在该过程中用于构建协商用的元数据,.TIFF文件中包含有接收到的页面行。
尽管.tiff解析器存在很多漏洞,但很多都是在IFD标签的解析代码漏洞,而且我们这里的研究用例中,这些IFD标签都是由多功能打印一体机自己创建的,这里唯一会对我们的页面内容执行的处理过程就是,打印过程中打开其压缩内容。
TIFF压缩
不幸的是,.tiff格式使用的压缩机制有多个名字,因此首先需要把它们找出来。以下是它们的一个基本映射关系:
TIFF Compression Type 2 = G3 without End-Of-Line (EOL) markers
TIFF Compression Type 3 = G3 = ITU T.30 Compression T.4 = CCITT 1-D
TIFF Compression Type 4 = G4 = ITU T.30 Compression T.6 = CCITT 2-D
由于传真基本是黑白颜色的,所以,压缩机制实际上是一种使用了固定霍夫曼表的黑白代码行程编码方式(RLE)。因此,我们再对T.4 和 T.6 的代码压缩机制进行分析,没发现什么可以利用的漏洞。

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

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