0


Manul:一款强大的跨平台覆盖引导模糊测试工具

Manul:一款强大的跨平台覆盖引导模糊测试工具

manul Manul is a coverage-guided parallel fuzzer for open-source and blackbox binaries on Windows, Linux and MacOS 项目地址: https://gitcode.com/gh_mirrors/man/manul

项目介绍

Manul 是一款基于 Python 编写的开源覆盖引导模糊测试工具,支持在 Windows、Linux 和 macOS(测试版)上对开源和黑盒二进制文件进行并行模糊测试。Manul 通过覆盖引导的方式,能够高效地发现目标程序中的漏洞,并已在多个知名软件中发现了多个 CVE 漏洞。

项目技术分析

Manul 的核心技术在于其覆盖引导模糊测试(Coverage-guided Fuzzing)能力。它支持两种类型的插桩方式:

  1. AFL 插桩模式:通过 afl-gccafl-clang-fast 对目标程序进行插桩,并结合 Address Sanitizer 以提高测试效果。
  2. DBI(动态二进制插桩)模式:无需对目标程序进行插桩,而是通过 DynamoRIO 框架对黑盒二进制文件进行模糊测试。Manul 还支持持久化内存模糊测试模式,进一步提升模糊测试的效率。

此外,Manul 还集成了

Radamsa

模糊测试工具,提供了多种模糊测试策略,并通过配置文件灵活调整测试参数。

项目及技术应用场景

Manul 适用于以下场景:

  • 安全研究:用于发现和分析软件中的安全漏洞,特别是针对开源和黑盒二进制文件。
  • 软件测试:在软件开发过程中,通过模糊测试发现潜在的错误和异常行为。
  • 逆向工程:辅助分析和理解二进制文件的行为,特别是在缺乏源代码的情况下。

项目特点

  1. 跨平台支持:Manul 支持 Windows、Linux 和 macOS,适用于多种开发和测试环境。
  2. 覆盖引导:通过覆盖引导的方式,能够更高效地发现程序中的漏洞。
  3. 并行测试:支持多线程并行模糊测试,大幅提升测试效率。
  4. 灵活配置:通过配置文件和命令行参数,用户可以灵活调整模糊测试的策略和参数。
  5. 集成 Radamsa:集成了 Radamsa 模糊测试工具,提供多种模糊测试策略。
  6. 持久化内存模糊测试:支持持久化内存模糊测试模式,进一步提升模糊测试的效率。

快速开始

要开始使用 Manul,只需按照以下步骤操作:

  1. 安装依赖:pip3 install psutil
  2. 克隆项目并初始化测试环境:git clone https://github.com/mxmssh/manulcd manulmkdir inmkdir outecho "AAAAAA" > in/test
  3. 运行模糊测试:python3 manul.py -i in -o out -n 4 "linux/test/test_afl @@"

对于 Linux 用户,还需要安装

Radamsa

sudo apt-get install gcc make git wget
git clone https://gitlab.com/akihe/radamsa.git && cd radamsa && make && sudo make install

结语

Manul 作为一款功能强大的覆盖引导模糊测试工具,不仅支持多种平台和插桩方式,还提供了灵活的配置选项,能够帮助用户高效地发现软件中的漏洞。无论你是安全研究人员、软件测试工程师,还是逆向工程师,Manul 都能为你提供强大的支持。赶快尝试一下吧!

manul Manul is a coverage-guided parallel fuzzer for open-source and blackbox binaries on Windows, Linux and MacOS 项目地址: https://gitcode.com/gh_mirrors/man/manul

标签:

本文转载自: https://blog.csdn.net/gitblog_00498/article/details/142512866
版权归原作者 柯轶芊 所有, 如有侵权,请联系我们删除。

“Manul:一款强大的跨平台覆盖引导模糊测试工具”的评论:

还没有评论