| 关键词: 文件 Carbon 分析 代码 数据库 位置 支持 内存 检查 |
摘要: Cerbero Suite是为x86/x64设计的一款交互式反汇编工具。最初的目的是为了让我们的用户能够检查内存转储中的代码以及shellcode。如今,市面上已有非常先进的反汇编工具,如IDA和Ghidra,在我看来尝试模仿其中的一种工具是没有意义的。这也是我设计该反汇编工具的原因,同时我也考虑了客户如何使用Cerbero Suite的问题。 软件功能: Windows Dmp文件(WINDMP) 内部结构检查 可用时全面检查内存 Windows休眠文件 内部结构检查 完全检查内存 Windows原始内存映像(WINMEM) 支持所有Windows版本 检查内存中的文件 支持Windows版本的所有系统符号 检测SSDT,IDT,GDT 软件简介: Cerbero Suite Advanced是一种专业且有用的恶意文件和文件类型分析工具。该软件支持主流文件类型,包括PE,Mach-O,ELF,Java,SWF,DEX,PDF,DOC,XLS,RTF,Zip等。该软件提供自动分析,交互式分析,反汇编分析,字节码反汇编等。它还具有Python3 SDK,扩展支持,c ++ / PDB结构导入器等。 特性介绍 Flat 反汇编视图 Carbon带有一个显示文件中所有指令的Flat 反汇编视图。我不排除将来可能会有图表视图,但它不是我优先考虑的事情。 递归反汇编 递归反汇编程序是解决代码被数据中断的情况所必需的。Carbon将尽可能的在较短时间内完成disassemble,并同时进行基本的分析工作。 速度 Carbon是多线程的,可以非常快速地处理大型的文件。这对于文件的初始分类非常有用。 以上是大约十分钟内对60 MB chrome DLL执行的分析。这是在虚拟机中运行的。未来的挑战将是保持速度,同时增加更多的分析段落。 x86/x64 支持 Carbon同时支持x86和x64代码。将来会支持更多架构。 实际上,Carbon的设计允许在相同的反汇编视图中混合架构。 不受限的数据库 一个项目在Carbon中可以包含无限个Carbon数据库。这意味着如果你正在分析包含10个可执行文件的Zip文件,那么这些文件中的每一个都可以拥有自己的数据库。 不仅如此:单个文件也可以有多个数据库,只需单击Carbon工具栏按钮或按“Ctrl+Alt+C”即可添加新的Carbon数据库。 如果你对分析不满意,那么你可以通过右键单击相关的摘要条目或选择它并按“Del”轻松删除它。 脚本 你只需几行Python代码就可以加载和disassemble一个文件。 分析完成后,我们可以修改和浏览其内部数据库的各个部分,或者我们可以创建一个视图并显示反汇编: 内部数据库使用SQLite,即使不使用SDK也可以轻松浏览和修改它。 Python 加载程序 在很早之前我就决定使用Python编写所有的文件加载程序。虽然这可能会使文件的加载速度稍慢(尽管不明显),但它允许用户自定义加载程序并添加功能,从而提供了极大的灵活性。添加新的文件加载程序也非常简单。 PE文件的整个加载程序大约有350行代码。这是原始文件的加载程序: 一旦熟悉了SDK,添加新的加载器将会非常的轻松简单。 Raw/PE 加载程序 初始文件的支持是针对PE和raw文件的。 例如,这是一些反汇编的shellcode。 在内存 PEs 中 其中一个主要的功能是分析内存中的PE文件。 这是内存中PE的代码: 当然,反汇编仅限于未被分页的内存页面,因此可能存在一些空白。 我们对这个功能不是特别了解,后续该功能也将随着即将发布的版本进行相应扩展。 交叉引用 当然,没有一个像样的反汇编程序可以缺少交叉引用这项功能: 我们还可以从设置中选择我们想要查看的交叉引用数: 重命名 我们可以在代码中命名和重命名任何位置或函数(允许重复)。即使ERROR没有指向同一位置,我们也可能有多个带有“jmp ERROR”实例的方法。 生成代码/取消定义 我们可以通过按“C”将未定义的数据转换为代码,或者相反,按“U”将代码转换为未定义的数据。 在这里,我们向shellcode添加了一个新的Carbon数据库。正如你所看到的,它最初都是未定义的数据: 在第一个字节按“C”后,我们得到一些初始指令: 但是,正如我们所看到的,突出显示的跳转无效。通过“jmp”之前的“jne”,我们可以看到我们实际上在“jmp”指令之后跳转了一个字节。所以我们要做的是在“jmp”上按“U”,然后在地址0xA的字节上按“C”。 之后,在0xA再次按“C”: 现在,我们就可以正确分析shellcode了。 函数 我们可以在任何我们想要的位置定义和取消定义函数。 例外 已支持x64异常。 注释 添加注释最重要的功能之一。 已标记的位置 你也可以通过按“Alt+M”标记位置或通过“Ctrl+M”跳转到标记的位置。 清单列表 从“Ctrl+1”到“Ctrl+4”的快捷方式可以为你展示反汇编中的各种列表。 Ctrl+1将显示入口点列表: Ctrl+2显示函数列表: Ctrl+3显示导入列表: Ctrl+4显示导出列表: 字符串 可以通过按“Ctrl+5”创建: 一旦我们跳转到一个字符串,我们就可以检查代码中使用它的位置: 反汇编本身将尝试识别字符串,并在适当时将它们显示为自生成的注释: 集成 我们已经将Carbon很好地融入到了Cerbero Suite的整个逻辑中。Carbon数据库保存在Cerbero Suite项目中,就像文件分析的任何其他部分一样。 虽然Carbon已经为标记的位置提供了支持,但没有什么可以阻止你使用书签来标记位置并跳回到它们。区别在于标记的位置特定于单个Carbon数据库,而书签可以跨数据库和不同的文件。 主题 一个好的主题同样非常的重要,至少对我而言是这样的。你可以在设置中切换颜色主题。第一个版本包含以下四个主题。 Light: Classic: Iceberg: Dasm: 后续也将添加更多的颜色主体,敬请期待! 上述内容不知道大家学习到了吗?网络世界的安全漏洞每天都会出现,安全知识和安全意识每个公民都应该了解和学习,有想学习网络安全技能的小伙伴可以随时私信我哦! |
| 本文出处: https://www.toutiao.com/a6808774957384860163/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|