专栏首页FreeBufGhidra:这个来自NSA的软件逆向工程工具终于来啦!

Ghidra:这个来自NSA的软件逆向工程工具终于来啦!

是的,大家没有看错!Ghidra完全出自NSA之手,它是一款软件逆向工程(SRE)框架,由美国国家安全局研究理事会负责开发、升级和维护。这款框架包含了一整套功能齐全的高级软件分析工具,可以帮助广大研究人员在各种常见系统平台上进行源代码分析,其中包括Windows、macOS和Linux。

Ghidra项目(下载)地址

GitHub代码库:https://github.com/NationalSecurityAgency/ghidra Ghidra官方网站:http://ghidra-sre.org/ 工具下载:https://pan.baidu.com/s/1pQ2WhjnfVK9OgfIf6eucpg 提取码: hn5s(解压密码:123)

Ghidra的功能非常强大,它不仅能够帮助用户对软件进行反编译、编译和逆向分析,而且还可以让网络安全研究人员更好地了解其网络和系统中存在的潜在漏洞。更值得一提的是,除了这些功能之外,Ghidra还包含了上百种其他的分析功能,可以算是非常强大了,不愧是出自NSA之手。

它提供了用户友好的图形化操作界面,而且支持多种处理器指令集以及可执行文件格式。除此之外,它还支持用户交互和自动化这两种模式。当然了,有些用户可能还需要根据自己的需要来开发Ghidra插件组件,Ghidra同样是支持的,用户可以使用Java或Python来开发自己需要的组件或脚本。

Ghidra旨在解决复杂的软件逆向工程任务,并为分析团队提供额外的功能扩展支持。

就在今年三月份举办的2019年RSA大会上,美国国家安全局首次公开介绍并演示了这款软件的使用,并且将Ghidra作为开源工具开放给了大众使用。

Ghidra的主要特点

1、 提供了一整套软件分析工具,可在各种系统平台上进行代码分析,支持Windows、macOS和Linux;

2、 功能包括反汇编、汇编、反编译、图形化和脚本支持,以及数百个其他的高级功能;

3、 支持各种处理器指令集以及可执行文件格式,可以在用户交互或自动化模式下运行;

4、 用户可以使用开放的API接口开发自己的Ghidra插件组件或脚本;

Ghidra采用Java语言开发,支持跨平台使用,适用于Windows、macOS和Linux,并且提供了友好的图形用户界面(GUI)。Ghidra还可以对主流操作系统的二进制文件进行分析,这里还包括了Android和iOS在内,支持分析的代码有x86、Arm、PowerPC、MIPS、Sparc32/64 和其它处理器代码。

工具演示视频

视频内容

后话

值得一提的是,美国国家安全局在21世纪初期就已经开发了Ghidra,而且在过去的十多年时间里,美国国家安全局以及其他的美国政府机构都一直在使用这款工具。不过,Ghidra的存在并不是严格意义上的国家机密,不过人们也只是在2017年初才知道这回事的。为什么呢?很多同学应该都记得吧?当时维基解密曾公布了著名的Vault7,泄露文档中就提到了这个名叫Ghidra的工具。

泄密文档链接:https://wikileaks.org/ciav7p1/cms/page_51183656.html

值得一提的是,NSA对外声称(保证)他们并没有在开源的Ghidra代码中安插任何形式的后门,因为NSA表示他们希望通过Ghidra的开源来助力全球的网络安全研究工作。但实际上,也有研究人员认为这种行为/言论纯粹是“此地无银三百两”。

因为有一位研究人员@hackerfantastic就发现,Ghidra开启JDWP并以调试模式在监听端口18001时,将允许我们实现远程代码执行,而且这名研究人员还提供了漏洞的PoC截图,这就非常尴尬了。

但是研究人员还表示,大家只需要修改一下代码就可以搞定了,而且他还强调称这只是一个漏洞,而不是NSA植入的后门。

*参考来源:NSA,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

本文分享自微信公众号 - FreeBuf(freebuf),作者:Alpha_h4ck

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • RSA大会Keynotes议题Highlight | RSA 2017专题

    RSA Conference 2017(信息安全大会)已于上周在旧金山顺利落幕。作为信息安全行业的年度盛事,本届大会吸引了来自全球的众多顶尖学者和安全厂商。大会...

    FB客服
  • 一记组合拳,批量SSH弱密码爆破检测工具分享

    SSH登录密码的破解工具已然有许多,但偶尔还是存在不能满足任务需求的情况。比如,批量地对IP列表里的IP地址进行SSH登录破解,现有的工具直接使用起来总觉得不方...

    FB客服
  • Facebook反垃圾实践:人工治理与机器算法齐飞

    2016年末,Facebook上的假新闻帮助特朗普胜选的消息,将这家社交网站推到一个尴尬的境地,迫使它上线一个“争议(Disputed)标签”功能,用来标记被认...

    FB客服
  • js中的深浅拷贝

    js中的深浅拷贝 js中有深拷贝、浅拷贝一说,所谓的深浅拷贝是针对value类型为引用类型(函数、对象、数组)而言的,大概理解的就是: 浅拷贝: 拷贝出...

    用户1141560
  • 2000! | 看上去如此简单的面试题,让太多“前端”英雄好汉折戟

    HTML5学堂-码匠:求某个数字的阶乘,很难吗?看上去这道题异常简单,却不曾想里面暗藏杀机,让不少前端面试的英雄好汉折戟沉沙。 面试真题题目 如何求“大数”的阶...

    HTML5学堂
  • java-reflection

    以上方法返回值的类型是一个 Class 类,此类是Java反射的源头,实际上所谓反射从程序的运行结果来看也很好理解,即可以通过对象反射求出类的名称。

    Remember_Ray
  • 学过框架的必看—Java反射

    反射作为 Java 的高级特性,很多框架中都用到了反射的知识,如 Spring,Hibernate等,通过配置就可以动态干预程序的运行,那么什么是反射呢?

    Wizey
  • python对大文件的增量读取

    对于很多大文件的增量读取,如果遍历每一行比对历史记录的输钱或者全都加载到内存通过历史记录的索引查找,是非常浪费资源的,网上有很多人的技术博客都是写的用for循环...

    py3study
  • Bugly升级SDK适配Android N

    用户1130025
  • 【LeetCode】155. 最小栈

    设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。

    韩旭051

扫码关注云+社区

领取腾讯云代金券