Karta:一款新的二进制文件剖析和比照插件

访客4年前关于黑客接单1162

“Karta”(在德语中的意思是“map”)是IDA(一个静态数据反编译程序)的源码輔助二进制比照插件,该插件的开发设计是为了更好地比照一个十分大的二进制文件(一般 是固件文档)中的开源系统库的标记。针对这些每日都需要解决固件文档的人而言,反复反转net-snmp(一个完全免费的、对外开放源码的SNMP完成,之前称之为UCD-SNMP)十分浪费时间的。因此 ,大家急缺一种比照插件专用工具,来鉴别应用过的开源代码,并在IDA中全自动比照他们相匹配的标记。

大家最开始的开发设计关键是放到了迅速比照的全过程上,但结合实际,就发觉即便 她们尝试反向的二进制文件包括超出十万个涵数,也只是会比照一个包括300个涵数的库,而光这一全过程就必须等候好多个钟头。

事实上,出自于特性缘故而布署的启发式算法对比照結果也是有非常大危害。Karta的假阳性率极低,而真检出率很高。这促使它乃至能够用以比照大中小型二进制文件。

因而,有些人觉得Karta能够变成开发者辅助工具中的一个关键专用工具,并运用于下列情景:

1.侦查环节:明确二进制文件中应用的对外开放源码(包含他们的版本);

2.提升Clutter:比照应用的开源系统的标记,进而为反向工程省时省力;

3.搜索用例:应用已使用过的对外开放源码目录,在其中的标记早已在二进制文件中比照,便于在可实行或固件文档中轻轻松松搜索用例。

KARTA

如前所述,Karta是IDA*的源码輔助二进制比照插件,该插件有两个关键的主要用途:

1.标志:对静态数据编译程序的开放源码的准确版本开展标志;

2.比照:比照已标志的开放源码的标记;

Karta现在是开源系统的,我能在Github中寻找。

因为在不一样体系结构上编译程序开源系统库是比较复杂的事儿,因而大家一般 会根据让插件单独于系统软件运作来清除此繁杂的全过程。比如,假如我要比照libpng开源系统的1.2.29版本(它是我还在HP OfficeJet固件中应用的版本),我所要做的就是以Github拷贝它并在(文中应用的x86)机器设备上编译程序它。编译程序进行后,Karta能够形成叙述库的标准.json环境变量。应用此配备,即便 固件已编译程序为Big-Endian ARM Thumb方式,Karta插件如今还可以在固件中取得成功寻找库。

Karta由控制模块构成,IDA反编译控制模块能够被一切别的反编译控制模块更换。

找寻用例

尽管现阶段,我已经为详细介绍了好多个插件用例,但在受欢迎程序流程中搜索用例可能是最趣味的用例。下列是我还在研究过程中发觉的2个真正用例。

HP OfficeJet固件

因为在对HP发传真固件科学研究期内,我需要将用例作为调节漏洞( CVE-2017-9765 )。该漏洞容许 *** 攻击远程控制毁坏 SOAP Web 服务项目后台进程,并在受害人机器设备上实行随意编码。在进行Karta的开发设计以后,我回到固件并查验了Karta是怎样协助我开展漏洞科学研究的。

标志符插件会跟我说固件中应用的开源系统库是:

· libpng: 1.2.29

· zlib: 1.2.3

· OpenSSL: 1.0.1.j

· mDNSResponder: unknown

· gSOAP: 2.7

我能见到的确应用了gSOAP(编译程序专用工具出示了一个SOAP/XML 有关C/C 語言的完成,进而让C/C 語言开发设计web服务或客户端软件的工作中越来越轻轻松松了许多),迅速的CVE检索表明它包括一个重要的漏洞:CVE-2017-9765 。

在迅速编译程序了此版本的gSOAP的配备以后,我运作了比照器并导进了比照的标记。如下图所显示,我能见到易受攻击的编码涵数soap_get_pi与Karta比照。

反汇编的soap_get_pi涵数,与Karta比照

这对Karta插件而言是一个很好的信息,这代表着它能够在真正的情景中一切正常工作中(遗憾因为我仅仅在调节漏洞进行后才知道这一点)。

一般的闭源代码:TeamViewer

尽管在固件中轻轻松松寻找用例很便捷,但在Windows PC上应用的日常程序流程中,完成这一点就难以了,为何?在阅读文章Project Zero在WebRTC上的 *** 文章时,我发现了她们在一个名叫libvpx的库中发觉了一个漏洞:CVE-2018-6155,它能够进攻VP8视频编号技术性源码,进而危害了VP8库libvpx而不是WebRTC中的编码。因而,该漏洞有可能危害应用除WebRTC以外的全部别的库的程序流程。

这看上去很趣味,由于Project Zero尤其强调这一漏洞“有可能危害应用除WebRTC以外的全部别的库的程序流程”。因为我还在计算机上安装了TeamViewer,看上去它应当应用同样的开源系统库,让我来看一下。

因此,我还在IDA中打开了TeamViewer.exe,并在剖析全过程中运行它。因此,我都专业安装了全新版本的libvpx(1.7.0),为它撰写了一个简易的标志符,并将其加上到Karta中。因为IDA进行这一剖析的時间太长了,我立即将其终止,并运作Karta的标志符插件。从这当中明确的对外开放源码包含:

· zlib: 1.2.5

· mDNSResponder: unknown

· libjpeg: 9a

· libvpx: 1.6.1

TeamViewer不但应用libvpx(转码软件开发包),并且全是2017年1月的旧版本。

下列是Google公布的补丁下载,在其中我很感兴趣的涵数是vp8_deblock,以下所显示。

vp8_deblock涵数的编码精彩片段,易受CVE-2018-6155进攻

如今让IDA修复剖析过程,随后再次编译程序libvpx版本1.6.1的Karta配备。配备进行后,在IDA进行对二进制文件的剖析以后,我运作了Karta的比照器插件。以下所显示,比照器发觉了易受攻击的涵数:

Karta的比照数据显示它与易受攻击的涵数相对性比(用深蓝色突显)

在我将結果导回IDA以后,我能根据数据变量定义清晰地认证它是恰当的比照。

相关文章

专业黑客前100名(2020年黑客排行榜)

专业黑客前100名(2020年黑客排行榜)

目前中国顶尖黑客是谁? 1、而且这个中国第一黑客是,袁仁广,人称袁哥,从事漏洞挖掘和漏洞攻防研究近20年,国内公认的顶级白帽黑客。从小喜欢数学,1997年毕业于山东大学数学系。2、截至2023年,中国...

移动话费之查询篇

移动话费之查询篇

                                                                叮咚叮咚,一声脆响的声响从手机上里传出来,满怀欣喜认为是男友或是女友发...

如何强制登录别人微信(不用密码登录别人微信)

每日要闻如何强制登录别人微信(不用密码登录别人微信)你好,不用密码那也要验证注册时的手机号码登录的,即手机验证码登录没密码登录别人的微信 有别人的微信帐号和密码,不能登录他的微信,还必须要知道验证码...

专业定位找人(专业找人公司)

能接触到对方手机的话可以提前安装软件实现,只有号码的话只能靠定位系统,建议你网上找下安寻GPS在线定位系统,网友反馈误差还可以。 私人很难定位找人,只有公安机关才能定位别人。如果你受骗了,可以在腾讯网...

荷兰瓦赫宁根大学算名校吗(荷兰瓦赫宁根大学历史介绍)

荷兰瓦赫宁根大学算名校吗(荷兰瓦赫宁根大学历史介绍)

瓦赫宁根大学及研究中心(Wageningen University & Research,简称WUR)始建于1876年,是荷兰最早提供农业教育的院校。 一百年来,瓦大致力于培养农业、食品科...

黑客帝国3下载地址,找黑客查看老婆的微信聊天记录,找黑客盗号先盗后付款

import java.util.regex.Matcher;实验东西:我国菜刀125.76.227.70比方什么password username点击页面下方的 [我赞同] 进行下一步;(不赞同不可...