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

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

“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以后,我能根据数据变量定义清晰地认证它是恰当的比照。

相关文章

五金建材包括什么东西(五金建材选购技巧分享

五金建材包括什么东西(五金建材选购技巧分享

装修房子,用到的装修材料有许多种,其中大类分为主材与辅材,而五金件则属于辅材的一种,不仅仅是装修用的到,生活中有什么东西坏了,也是要去五金店购买安装的,对于大家来讲并不陌生的,可能只知道自己要买什么,...

中国最早的黑客的徒弟(中国第一位黑客是谁)

中国最早的黑客的徒弟(中国第一位黑客是谁)

本文导读目录: 1、中国有哪些有名的黑客? 2、黑客是谁创始的 3、中国十大黑客排名是什么?有什么事迹? 4、目前中国顶尖黑客是谁? 5、中国黑客第一人是谁? 6、中国的第一位著名...

怎么查看别人的微信聊天记录不让别人知道 微信

Quaful@水木清华简单研究了一下3721的机制,写在这里,作为心得笔记吧。大部分收获都来自Softice + 反汇编,不一定适用于某些版本。1. CnsMin.dll的驻留方式3721的核心文件:...

易黑客(易语言黑客)

易黑客(易语言黑客)

本文导读目录: 1、网银和证券网上交易是一个意思吗 2、学易语言适合做黑客么? 3、个别政府网站易受黑客攻击谁之过? 4、易语言黑客皮肤 5、麒麟系统电脑易被黑客攻击 6、什么情况...

用手机黑客刷qq币,黑客大曝光 无线网络安全 第3版,黑客如何攻击网站

4.54 现在使用crontab创建一个定时任务,即每隔1分钟从/var/backups里面备份/html一次。 00020678 D __data_start在原中止标志图画(左面)中,中止标志能够...

圣斗士黄金十二宫篇(圣斗士星矢在线看全集)

圣斗士黄金十二宫篇(圣斗士星矢在线看全集) 黄金圣斗士,是日本漫画家车田正美代表作《圣斗士星矢》中的12个人物。他们身穿黄金圣衣,在雅典娜的圣斗士中占有最高地位。他们镇守通往雅典娜所在的神殿的黄道1...