VxHunter:针对VxWorks设备的固件分析工具

栏目: Python · 发布时间: 5年前

内容简介:VxHunter是这次我们在BlackHat AISI 2019中进行演讲议题中所使用到的工具。主要用于针对基于VxWorks操作系统的嵌入式设备进行固件分析及构造基于串口命令行的调试工具,项目的地址是https://github.com/dark-lbp/vxhunter。(1)固件分析工具(firmware_tools)VxHunter的固件分析工具是IDA Pro及Ghidra这两个逆向工具的插件脚本,主要的功能是自动分析加载的VxWorks固件(VxWorks image)的内存加载地址并进行Reb

1、什么是VxHunter

VxHunter是这次我们在BlackHat AISI 2019中进行演讲议题中所使用到的工具。主要用于针对基于VxWorks操作系统的嵌入式设备进行固件分析及构造基于串口命令行的调试工具,项目的地址是https://github.com/dark-lbp/vxhunter。

2、VxHunter主要功能介绍

(1)固件分析工具(firmware_tools)

VxHunter的固件分析 工具 是IDA Pro及Ghidra这两个逆向工具的插件脚本,主要的功能是自动分析加载的VxWorks固件(VxWorks image)的内存加载地址并进行Rebase,识别内嵌符号表后修复函数名。下面是VxHunter在Ghidra这个近期非常热门的开源逆向工具中的使用方法。

首先我们需要使用正确的处理器类型加载VxWorks镜像到Ghidra中。

VxHunter:针对VxWorks设备的固件分析工具

成功加载后会提示是否需要进行分析,此时选择No,因为目前我们并不知道这个VxWorks固件的正确加载地址。

VxHunter:针对VxWorks设备的固件分析工具

随后就可以利用Ghidra中的脚本管理器(sc ript Manager)执行我们的VxHunter脚本,执行过程如下所示。VxHunter会自动去分析这个文件Rebase到正确的加载地址并根据符号表开始修复函数名。

VxHunter:针对VxWorks设备的固件分析工具

脚本执行完成后的效果如下图所示,此时我们就可以开始进行静态分析了,比如找找硬编码账号啥的^_^。

VxHunter:针对VxWorks设备的固件分析工具

(2)串口命令行调试工具(serial_debuger)

VxWorks不同于Linux,无法通过上传静态编译的GDB等工具进行调试,通常来说要调试VxWorks系统必须要在编译VxWorks固件时编入例如WDB之类的调试功能。然后大部分情况下市面上的VxWorks设备都没有编入调试功能,这也导致了我们无法去分析设备漏洞的真正原因及危害。VxHunter就是设计来解决这个问题的,这个工具基于 Python 编写,主要通过设备的串口命令行的内存读写指令,将基于汇编代码的调试shellcode写入到设备内存中后通过封装好的Python调试函数进行下断点,查看VxWorks task信息等一系列的操作。

具体可以参考我们在BlackHat的议题PPT

(https://github.com/dark-lbp/vxhunter/blob/master/docs/Dive%20into%20VxWorkis%20Based%20IoT%20Device%20-%20Debug%20the%20Undebugable%20Device%20-%20resize.pdf)

在PPT中有对串口调试工具的原理以及CVE-2018-19528漏洞的分析。

这个 YouTube视频 是利用VxHunter调试CVE-2018-19528漏洞的Demo演示。

3、总结

基于VxWorks的嵌入式系统在工业控制及IoT领域都有着广泛的应用 在航空航天、工业控制、网络通讯及医疗领域VxWorks系统都有广泛的应用,然而针对VxWorks相关的安全研究文章及工具都非常缺乏,这次开源VxHunter也希望能借此机会抛砖引玉吸引更多安全研究人员来关注VxWorks系统的安全性。

# 相关链接 #

* Ghidra项目地址 -

https://github.com/NationalSecurityAgency/ghidra

* 相关议题 -

https://www.blackhat.com/asia-19/briefings/schedule/#dive-into-vxworks-based-iot-device-debug-the-undebugable-device-13834

* VxHunter项目地址 - https://github.com/dark-lbp/vxhunter

* 调试Demo - https://www.youtube.com/watch?v=ulO8MsoDLLk

声明:本文来自银河安全实验室,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。


以上所述就是小编给大家介绍的《VxHunter:针对VxWorks设备的固件分析工具》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Effective Modern C++

Effective Modern C++

Scott Meyers / O'Reilly Media / 2014-12 / USD 49.99

Learn how to program expertly with C++ with this practical book from Scott Meyers, one of the world's foremost authorities on this systems programming language. Scott Meyers takes some of the most dif......一起来看看 《Effective Modern C++》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器