热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PyREBox恶意软件监控组件对恶意软件进行逆向分析

思科Talos团队发布了PyREBox,一个用Python脚本编写的基于QEMU的逆向分析沙箱的开源工具。代码覆盖率模块静态分析可以提供完整的代码视图,但无法预知某段代码是否会执行

思科Talos团队发布了PyREBox,一个用Python脚本编写的基于QEMU的逆向分析沙箱的开源工具。


代码覆盖率模块

静态分析可以提供完整的代码视图,但无法预知某段代码是否会执行,因此需要与动态分析进行结合,通过追踪文件的执行,获得其执行路径。

有两种方法,一是插桩记录程序运行指令的地址,二是设置断点来跟踪执行。该模块是通过跟踪QEMU转换块的执行情况实现的。

该模块生成两个不同的输出文件:一个二进制跟踪文件和一个文本摘要。二进制跟踪文件可以导入IDA,使用不同的颜色对已执行的基本块和未执行的基本块进行标记。文本摘要文件提供了对已执行区域的粗粒度总结,当执行从一个虚拟地址描述符(VAD,windows内部结构,以树形记录不同内存区域)区域转移到另一个VAD区域时,会显示执行转换。


API跟踪模块

跟踪恶意软件调用普通的windows DLL来理解样本的行为。

该模块有两种模式,精简模式和完整模式。如果启用了精简模式,它只会记录API函数调用,但是它不会检查函数调用的参数,而完整模式则会在每次发生API函数调用时检查堆栈和寄存器。完整模式会利用包含有关API参数数量、名称和数据类型信息的数据库。完整模式下生成的分析信息可以写在文本文件中,也可以保存在二进制文件中,然后在IDA中加载,以便将文本信息可视化。一旦这些信息被导入到IDA中,就有两种方法来可视化它:一个是具有搜索功能的专用选项卡;一个是针对每个跟踪呼叫显示的上下文菜单。


内存监控模块

在执行样本期间,该组件会跟踪不同的内存相关事件,包括:



  • 进程的创建;

  • 远程进程内存读写;

  • 内存共享(共享内存区域);

  • 文件读写;

  • 文件映射到内存中;·

  • 内存分配;

  • 内存访问权限的更改;

分析人员可以根据监控的事件来了解样本的内存相关行为,重点关注这些缓冲区的解压缩、过程创建和过程注入

该模块最终输出两份报告,第一份报告包含所有与上述类别相关的事件,而第二个报告则只会对所收集到的信息进行简单摘要,这些信息包括:



  • 开始和注入过程;

  • 由这些进程加载的模块/ DLL;

  • 每个进程的VAD区域,包括heuristics(是指在入侵检测中使用AI思想),那些包含潜在注入代码、异常权限以及访问权限的更改;

  • 内存映射(映射文件和内存共享);

  • 内存注入;

  • 文件操作;

摘要信息可以有助于分析人员对恶意软件引导程序的快速理解。

许多恶意软件家族都包含必须部署在系统内存中的组件,即会对系统内存进行修改。


内存自动转储模块

可配置,可以转储进程内存,包括主模块、加载的DLL以及其他内存区域(如堆、栈和分配的缓冲区)。转储内存的时间则必须由分析人员进行选择,并在主JSON配置文件中配置。可配置的选项包括:



  • 在进程退出时转储内存;

  • 在调用某个API函数时转储内存;

  • 在执行某个地址时转储内存;

一旦内存转储和有关进程的内存区域的相关信息被创建,我们就可以在IDA中手动加载经过转储的片段,并对正在进行的进程进行静态分析。也就是特定分析这些转储的片段,看看它们能搞什么鬼。



推荐阅读
  • 该大学网站采用PHP和MySQL技术,在校内可免费访问某些外部收费资料数据库。为了方便学生校外访问,建议通过学校账号登录实现免费访问。具体方案可包括利用学校服务器作为代理,结合身份验证机制,确保合法用户在校外也能享受免费资源。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • Python SDK,即Python软件开发工具包,是为开发者提供的一系列工具和库,旨在简化使用Python进行应用程序开发的过程。它不仅包括了基本的编程接口,还涵盖了各种实用工具和示例代码,帮助开发者更高效地构建和测试软件。通过使用Python SDK,开发者可以轻松集成复杂的功能模块,提高开发效率和代码质量。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 该问题可能由守护进程配置不当引起,例如未识别的JVM选项或内存分配不足。建议检查并调整JVM参数,确保为对象堆预留足够的内存空间(至少1572864KB)。此外,还可以优化应用程序的内存使用,减少不必要的内存消耗。 ... [详细]
  • 在当前的软件开发领域,Lua 作为一种轻量级脚本语言,在 .NET 生态系统中的应用逐渐受到关注。本文探讨了 Lua 在 .NET 环境下的集成方法及其面临的挑战,包括性能优化、互操作性和生态支持等方面。尽管存在一定的技术障碍,但通过不断的学习和实践,开发者能够克服这些困难,拓展 Lua 在 .NET 中的应用场景。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • 本文探讨了Android系统中支持的图像格式及其在不同版本中的兼容性问题,重点涵盖了存储、HTTP传输、相机功能以及SparseArray的应用。文章详细分析了从Android 10 (API 29) 到Android 11 的存储规范变化,并讨论了这些变化对图像处理的影响。此外,还介绍了如何通过系统升级和代码优化来解决版本兼容性问题,以确保应用程序在不同Android版本中稳定运行。 ... [详细]
  • K3Cloud 平台字符串解密技术详解与应用
    在 K3Cloud 平台中,配置文件内的敏感信息如密码会被加密处理。通过深入研究,我们发现可以通过 Kingdee.BOS.Api 提供的接口对这些加密字符串进行解密。本文详细介绍了这一解密技术的具体实现方法及其应用场景,为开发者提供了宝贵的参考和实践指导。此外,还探讨了该技术在数据安全和系统管理中的重要性,以及如何在实际项目中高效地应用这些技术,确保系统的稳定性和安全性。 ... [详细]
  • 电脑放大快捷键全解析,掌握更多实用键盘操作技巧
    在日常使用电脑时,虽然快捷键种类繁多,但常用的关键组合其实并不多。熟练掌握这些常用的快捷键能够显著提高工作效率。本文将详细介绍一些实用的电脑放大快捷键,并分享更多高效的键盘操作技巧,帮助用户更好地利用电脑功能。 ... [详细]
  • Windows 7集成IE11:离线安装包与系统补丁全面解析
    在将Internet Explorer 11集成到Windows 7系统中时,需预先安装多个关键系统补丁,包括KB2731771、KB2786081、KB2834140、KB2670838、KB2729094和KB2888049。这些补丁不仅确保了系统的兼容性和稳定性,还为IE11的顺利安装提供了必要的支持。此外,建议在安装过程中遵循官方文档中的步骤,以避免潜在的兼容性问题。 ... [详细]
author-avatar
张兵在江湖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有