首页
/ malWASH v2.0:让恶意软件“隐身”的动态多样化引擎

malWASH v2.0:让恶意软件“隐身”的动态多样化引擎

2024-09-09 05:12:48作者:郜逊炳

项目介绍

malWASH 是一款动态多样化引擎,旨在执行任意程序而不被动态分析工具检测到。简而言之,它是一个能够使现有恶意软件逃避所有现有行为和动态分析检测方法的恶意软件引擎。需要注意的是,malWASH 是一个研究项目,目前尚不稳定。其目标是证明这种新一代恶意软件的可能性。为了在实际环境中使用,还需要大量的额外工作。

malWASH 与 Visual Studio 2010 编译器配合使用效果最佳。用户可以创建自己的程序,使用 VS 编译后在 malWASH 中使用。*.pdb 文件有助于 IDA 分析,因此推荐在可用时使用。

项目技术分析

malWASH 的核心思想是将目标恶意软件切割成小模块,然后在其他进程的上下文中执行这些模块,从而将原始恶意软件的行为隐藏在一系列良性进程的行为中。调度器负责连接这些模块,并在不同进程之间传递状态。尽管 malWASH 确保了执行的程序保持持久性,从而使任何移除过程变得复杂,但良性进程的执行并未受到影响。

详细的运行机制可以参考相关的论文(https://nebelwelt.net/publications/files/16WOOT.pdf),该论文发表在 Usenix WOOT'16 上。源代码编写良好,易于理解,注释中包含了许多未在论文中提及的信息。

项目及技术应用场景

malWASH 主要应用于以下场景:

  1. 恶意软件研究:研究人员可以使用 malWASH 来测试现有动态分析工具的检测能力,评估其对新型恶意软件的适应性。
  2. 安全测试:安全专家可以使用 malWASH 来模拟恶意软件的行为,从而测试和改进防御系统。
  3. 教育培训:在网络安全课程中,malWASH 可以作为教学工具,帮助学生理解恶意软件的动态行为和检测技术。

项目特点

  1. 动态多样化:malWASH 通过将恶意软件切割成小模块并在不同进程中执行,实现了动态多样化,从而逃避动态分析工具的检测。
  2. 持久性:malWASH 确保执行的程序保持持久性,增加了移除的难度。
  3. 易于集成:与 Visual Studio 2010 编译器配合使用效果最佳,用户可以轻松创建和编译自己的程序。
  4. 开源透明:源代码开放,注释详细,便于理解和修改。

如何运行 malWASH

  1. 创建一个目录 malWASH_intr 并复制 code_1code_2 文件。
  2. malwash_splitter.plw 插件复制到 IDA 插件目录。
  3. 使用 IDA 6.3 加载目标二进制文件并运行插件。
  4. 配置参数并编译源文件。
  5. 以管理员身份运行生成的可执行文件,观察加载器的进度。

注意事项

  1. 远程键盘记录器是验证 malWASH 是否有效的好样本。
  2. 确保注入代码在 32 位应用程序中运行。
  3. 如果程序崩溃,可能是共享地址的问题,可以尝试修改并重新编译。
  4. 当前版本不稳定,可能在某些环境中无法运行。

通过 malWASH,您可以深入了解恶意软件的动态行为和检测技术,同时也可以为网络安全研究提供有力的工具支持。欢迎加入 malWASH 社区,共同探索恶意软件的奥秘!

登录后查看全文
热门项目推荐