AFL——支持源码插桩的代码覆盖引导的Fuzzer,绝对是fuzzer领域的一大里程碑,虽然它也支持基于QEMU的闭源程序,但效果很差,且容易出错,由它衍生出来很是多afl分支版本,借助它已经被挖出很是多的漏洞,但它的变异策略其实有待提升。javascript
WinAFL——windows版本的afl,使用DynamoRIO
去插桩闭源程序以获取代码覆盖率信息,同时支持硬件PT获取覆盖率信息,但PT获取覆盖率其实并无插桩获取得全,但速度可能会快一些。html
AFLFast——加速版的AFL,Fuzzing速度确实会比原版快一些。python
Vuzzer——支持闭源程序的覆盖引导Fuzzer,使用LibDFT的pin工具实现数据流追踪,结合动静态分析,以获取更多的代码路径,好比比较语句中的比较值,它会先做记录,再将来变异时使用。git
PTfuzzer——Linux平台下的采用 Interl PT硬件支持的覆盖引导Fuzzer,因此它支持闭源程序。github
afl-unicorn——采用Unicorn模拟指令的AFL,支持Linux闭源程序
pe-afl——经过静态插桩实现针对Windows闭源程序的覆盖引导的AFL Fuzzer,支持用户层应用和内核驱动
kAFL——支持QEMU虚拟机下的系统内核Fuzzing的AFL,适用于Linux、macOS与Windows
TriforceAFL——基于QEMU全系统模拟的AFL,借助系统仿真器实现分支信息跟踪,支持Linux内核Fuzzing
ClusterFuzzer——Google开源的可扩展的Fuzzing基础设施
LibFuzzer——进程内覆盖率引导的开源的fuzz引擎库,属于llvm的一部分,在各大主流开源库中,以及Google内部最常常用的安全测试工具
OSS-Fuzz——基于LibFuzzer的开源软件Fuzzer集合,实现docker下自动下载、编译安装及运行
honggfuzz——Google开发的基于软硬件的覆盖驱动型Fuzzer,单纯暴力Fuzz的效果也挺好的,支持多平台,包括Linux\macOS\Windows\Android
KernelFuzzer——跨平台内核Fuzzer框架,不开源策略,只在其paper中说起变异策略,须要本身实现,支持Windows、OSX和QNX系统,但只提供Windows编译脚本
OSXFuzzer——基于Kernel Fuzzer的macOS内核Fuzzer
PassiveFuzzFrameworkOSX——经过Hook实现被动式的OSX内核Fuzzer
https://github.com/SilverMoonSecurity/PassiveFuzzFrameworkOSX
Bochspwn——基于Boch插桩API实现Double Fetches内核漏洞的检测
Bochspwn-reloaded——基于Boch插桩API实现内核信息泄露的检测
syzkaller——基于覆盖率引导的Linux内核Fuzzer,须要基于其模板语法实现API调用模板,提供给syzkaller进行数据变异,也曾被移植到其它平台
dharma——基于语法模板生成的Fuzzer,由Mozilla开源的用于Fuzz Firefox JS引擎
domator——Project Zero团队开源的DOM Fuzzer,用python实现基于模板生成的Fuzzer
Fuzzilli——基于语法变异的JavaScript引擎Fuzzer,先经过语法模板生成测试用例,再生成中间语法进行变异,结合覆盖率引导以触发更多代码路径
Razzer——内核竞争条件漏洞Fuzzer
ViridianFuzzer——用于Fuzzing Hyper-V hypercalls的内核驱动,由MWRLabs公司出品
ChromeFuzzer——基于grinder语法生成器改装的Chrome浏览器Fuzzer
funfuzz——Mozilla开源的JS fuzzer工具集合,主要用于Fuzz SpiderMonkey
Nightmare——一个具备web管理的分布式模糊测试套件
Grr——DECREE二进制的高吞吐量模糊器和仿真器
Randy——Python中的基于随机的模糊工具
http://ptrace-security.com/blog/randy-random-based-fuzzer-in-python/
IFuzzer——一个进化型的翻译模糊器
Dizzy——基于python的模糊框架
1.能够发送到L2以及上层(TCP / UDP / SCTP)
2.可以处理奇长度分组字段(无需匹配字节边界,所以即便单个标志或7位长字3.也能够表示和模糊)
4.很是容易的协议定义语法
5.可以作多包状态的彻底模糊,可以使用接收到的目标数据做为响应
Diffy——使用Diffy查找您的服务中的潜在错误
Wfuzz:
https://github.com/xmendez/wfuzz
Web应用程序HTTP://www.edge-security.com/wfuzz.phpSulley:
https://github.com/OpenRCE/sulley
Sulley是一个积极开发的模糊引擎和模糊测试框架,由多个可扩展组件组成。Sulley(IMHO)超过了此前公布的大所属模糊技术、商业和公共领域的能力。框架的目标是不只是能够简化数据表示,并且也能够简化数据传输和仪表。Sulley是以 Monsters Inc.的生物来命名的,由于,他是模糊的。写在python内的。
Sulley_l2:
有些人可能记得2008年发布的sulley_l2,它是sulley模糊框架的修改版本,加强了第2层发送功能和一堆(L2)模糊脚本。全部的blinking, rebooting, mem-corrupting引发了咱们的一些关注。从那之后,咱们继续写和使用这些模糊脚本,因此它的洞集合增加了。CERT Basic Fuzzing Framework (BFF)For linux, OSX
https://github.com/CERTCC-Vulnerability-Analysis/certfuzz
http://www.cert.org/vulnerability-analysis/tools/bff.cfm
cert基本模糊框架(BFF)是一个软件测试工具,它用于在linux和mac os x平台上运行的应用程序中寻找漏洞。BFF对消耗文件输入的软件执行突变性的模糊测试。(突变性模糊测试是采起形式良好的输入数据并以各类方式破坏它的行为,寻找致使崩溃的状况。)BFF自动收集致使了软件以独特方式使测试用例崩溃,以及利用崩溃来调试信息。BFF的目标是去最小化软件供应商和安全研究人员经过模糊测试有效地发现和分析发现的安全漏洞过程当中所须要的努力。
CERT Failure Observation Engine (FOE)For windows
The cert Failure Observation Engine (FOE) 是一个软件测试工具,它被用于在Windows平台上运行的应用程序中发现漏洞。FOE在消耗文件输入的软件上执行突变模糊测试。(突变性模糊测试是采起形式良好的输入数据并以各类方式破坏它的行为,寻找致使崩溃的状况。)FOE自动收集致使了软件以独特方式使测试用例崩溃,以及利用崩溃来调试信息。FOE的目标是去最小化软件供应商和安全研究人员经过模糊测试有效地发现和分析发现的安全漏洞过程当中所须要的努力。
DranzerFor ActiveX Controls.
https://github.com/CERTCC-Vulnerability-Analysis/dranzer
Dranzer是一个工具,使用户可以检查有效的技术,它用于模糊测试ActiveX控件
Radamsaa general purpose fuzzer
https://github.com/aoh/radamsa
Radamsa是一个用于鲁棒性测试的测试用例生成器,也称为fuzzer。它能够用来测试一个程序是否能够承受格式错误以及潜在的恶意输入。它经过制造文件来工做(有趣的不一样于一般给定的文件),而后将修改的文件提供给Target程序,或者这样或经过一些脚本。radamsa的主要卖点(而不是其余的模糊器)是:它是很是容易在大多数机器上运行,并且很容易从命令行脚本,这已经被用来找到程序中的一系列安全问题,并且你可能如今正在使用。
zzufApplication fuzzer
https://github.com/samhocevar/zzuf
zzuf是一个透明的应用程序输入模糊器。 它的工做原理是截取文件操做并更改程序输入中的随机位。zzuf的行为是肯定性的,使得它很容易再现错误。 有关如何使用zzuf的说明和示例,请参阅手册页和网站http://caca.zoy.org/wiki/zzuf
Backfuzz
https://github.com/localh0t/backfuzz
Backfuzz是一个用python写成的有着不一样协议(FTP,HTTP,IMAP等)的模糊工具。由于通常的想法是这个脚本有几个预约义的功能,因此谁想要编写本身的插件(为另外一个协议)就能够在一些行这样作。
KEMUfuzzer
https://github.com/jrmuizel/kemufuzzer
KEmuFuzzer是一个基于仿真或直接本地执行测试系统虚拟机的工具。 目前KEmuFuzzer支持:BHOCS,QEMU,VMware和virtualbox。
Pathgrind
https://github.com/codelion/pathgrind
Pathgrind使用基于路径的动态分析来fuzz linux / unix二进制。 它是基于valgrind被写在python内的。
Wadi-fuzzer
https://www.sensepost.com/blog/2015/wadi-fuzzer/ https://gitlab.sensepost.com/saif/DOM-Fuzzer
Wadi是基于web浏览器语法的模糊器。 这个语法用于描述浏览器应该如何处理Web内容,Wadi转向并使用语法来打破浏览器。
Wadi是一个Fuzzing模块,用于NodeFuzz fuzzing Harness并利用AddressSanitizer(ASan)在Linux和Mac OSX上进行测试。
万维网联盟(W3C)是一个国际组织,它开发开放标准以确保Web的长期增加。 W3C容许咱们搜索语法并在咱们的测试用例中使用。
Perf-fuzzer——用于Linux perf_event子系统的测试套件
HTTP/2 Fuzzer
https://github.com/c0nrad/http2fuzz
HTTP2模糊器内置于Golang。
QuickFuzz
QuickFuzz是一个语法模糊器,由QuickCheck,模板Haskell和Hackage的特定库生成许多复杂的文件格式,如Jpeg,Png,Svg,Xml,Zip,Tar和更多! QuickFuzz是开源的(GPL3),它可使用其余错误检测工具,如zzuf,radamsa,honggfuzz和valgrind。
SymFuzz
https://github.com/maurer/symfuzz
http://ieeexplore.IEEE.org/xpls/abs_all.jsp?arnumber=7163057
摘要?咱们提出了一个算法的设计,以最大化数量的bug为黑盒子突变性的模糊给定一个程序和种子的输入。主要的直观性的是利用给定程序 - 种子对的执行轨迹上的白盒符号进行分析,来检测输入的BIT位置之间的依赖性,而后使用这种依赖关系来为该程序种子对计算几率上最佳的突变比率。咱们的结果是有但愿的:咱们发现使用相同的模糊时间,这比8个应用程序中的三个之前的模糊器的平均错误多38.6%。
OFuzz
https://github.com/sangkilc/ofuzz
OFuzz是一个用OCaml编写的模糊平台。 OFuzz目前专一于在* nix平台上运行的文件处理应用程序。 OFuzz的主要设计原则是灵活性:必须容易添加/替换模糊组件(崩溃分类模块,测试用例生成器等)或算法(突变算法,调度算法)。
Bed
网络协议fuzzer。 BED是一个程序,旨在检查守护程序的潜在缓冲区溢出、格式字符串等。
Neural Fuzzer
https://cifasis.github.io/neural-fuzzer/
神经模糊测试工具是一种实验性模糊器,它被设计使用国家最早进的机器,从一组初始文件学习。 它分为两个阶段:训练和生成。
Pulsar
https://github.com/hgascon/pulsar
协议学习,模拟和状态模糊器
Pulsar是一个具备自动协议学习和模拟能力的网络模糊器。该工具容许经过机器学习技术来建模协议,例如聚类和隐马尔可夫模型。这些模型能够用于模拟Pulsar与真实客户端或服务器之间进行通讯,这些消息,在一系列模糊原语的结合下,让测试一个未知协议错误的实施在更深的状态协议。
D-bus fuzzer:
https://github.com/matusmarhefka/dfuzzer
dfuzzer是D-Bus模糊器,是用于经过D-Bus进行通讯的模糊测试过程的工具。它能够用于测试链接到会话总线和系统总线守护程序的进程。模糊器为客户端工做,它首先链接到总线守护进程,而后它遍历并模糊测试由D-Bus服务提供的全部方法。
Choronzon
https://census-labs.com/news/2016/07/20/choronzon-public-release/
Choronzon是一个进化型的模糊工具。它试图模仿进化过程,以保持产生更好的结果。 为了实现这一点,它具备评估系统的能力,用以分类哪些模糊文件是有趣的,哪些应该被丢弃。
此外,Choronzon是一个基于知识的模糊器。 它使用用户定义的信息来读取和写入目标文件格式的文件。要熟悉Choronzon的术语,您应该考虑每一个文件由染色体表示。用户应该描述所考虑的文件格式的基本结构, 优选文件格式的高级概述,而不是描述它的每一个细节和方面。那些用户定义的基本结构中的每个都被认为是基因, 每一个染色体包含一个基因树,而且它可以从中构建相应的文件。
Exploitable
'exploitable'是一个GDB扩展,它会按严重性分类Linux应用程序错误。扩展检查已崩溃的Linux应用程序的状态,并输出攻击者利用底层软件错误得到系统控制有多困难的总结。扩展能够用于为软件开发人员肯定bug的优先级,以便他们能够首先解决最严重的bug。
该扩展实现了一个名为“exploitable”的GDB命令。 该命令使用启发式来描述当前在GDB中调试的应用程序的状态的可利用性。 该命令旨在用于包含GDB Python API的Linux平台和GDB版本。 请注意,此时命令将没法在核心文件目标上正确运行。
Hodor
咱们想设计一个通用的模糊器,能够用来配置使用已知的良好的输入和分隔符,以模糊特定的位置。在一个彻底愚钝的模糊器和一些更聪明的东西之间,与实现适当的智能模糊器相比,表现着更少的努力。
BrundleFuzz
https://github.com/carlosgprado/BrundleFuzz
BrundleFuzz是一个用于Windows和Linux的分布式模糊器,使用动态二进制仪器。
Netzob
用于通讯协议的逆向工程、流量生成和模糊化的开源工具
syntribos
OpenStack安全组的Python API安全测试工具
dotdotpwn
目录遍历模糊工具KernelFuzzer
跨平台内核Fuzzer框架。DEF CON 24视频:
PyJFuzz
PyJFuzz - Python JSON Fuzzer
PyJFuzz是一个小的、可扩展的和现成可用的框架,用于模糊JSON输入,如移动端点REST API,JSON实现,浏览器,cli可执行和更多。
RamFuzz
单个方法参数的模糊器。
EMFFuzzer
基于Peach模糊框架的加强的元文件模糊器
js-fuzz
一个基于javascript的AFL启发的遗传模糊测试器。
2.模糊线束/框架使fuzzer提升:
FuzzFlow
Fuzzflow是来自cisco talos的一个分布式的模糊管理框架,它提供虚拟机管理,模糊做业配、可插拔变异引擎、前/后变形脚本、崩溃收集和可插拔崩溃分析。
fuzzinator
Fuzzinator是一个模糊测试框架,能够帮助你自动化任务,它一般须要在一个fuzz会话:
运行您最喜欢的测试生成器并将测试用例馈送到测试中的系统,
抓住和保存独特的问题,
减小失败的测试用例,
缓解错误跟踪器中的问题报告(例如,Bugzilla或GitHub),
若是须要,按期更新SUT
计划多个SUT和发电机,而不会使工做站超载。
Fuzzlabs
https://github.com/DCNWS/FuzzLabs
FuzzLabs在一个模块化的模糊框架中,用Python编写。 它使用了使人惊叹的Sulley模糊框架的修改版本做为核心引擎。 FuzzLabs仍在开发中。
Nodefuzz
https://github.com/attekett/NodeFuzz
对于Linux和Mac OSX。 NodeFuzz是一个用于网络浏览器和相似浏览器的应用程序的模糊器。 NodeFuzz背后有两个主要的想法:第一是建立一个简单、快速、不一样浏览器的fuzz方法。 第二,有一个线束,能够轻松地扩展与新的测试用例发生器和客户端仪器,无需修改核心。
Grinder
https://github.com/stephenfewer/grinder
对于windows
Grinder是一个自动化浏览器的模糊化和大量崩溃管理的系统。
Kitty
https://github.com/Cisco-sas/kitty
Kitty是一个开源的模块化和可扩展的模糊框架,使用python编写,灵感来自OpenRCE的Sulley和Michael Eddington(如今是Deja vu Security的)Peach Fuzzer。
Peach
http://community.peachfuzzer.com/
https://github.com/MozillaSecurity/peach
Peach是一个SmartFuzzer,可以执行基于生成和基于突变的模糊测试。
SDL MiniFuzz File Fuzzer
https://www.Microsoft.com/en-us/download/details.aspx?id=21769
对于Windows。 SDL MiniFuzz File Fuzzer是一个基本的文件模糊工具,旨在简化非安全开发人员对模糊测试的采用,这些非安全开发人员不熟悉文件模糊工具或从未在当前的软件开发过程当中使用它们。
Rfuzz
http://rfuzz.rubyforge.org/index.html
RFuzz是一个Ruby库,可使用快速HttpClient和wicked vil RandomGenerator轻松地从外部测试Web应用程序,它容许普通程序员天天使用先进的模糊技术。
Spike
http://www.immunitysec.com/downloads/SPIKE2.9.tgz
SPIKE是一个API框架,容许你编写模糊器。
Regex Fuzzer
http://go.microsoft.com/?linkid=9751929
DL Regex Fuzzer是一个验证工具,用于帮助测试正则表达式是否存在潜在的拒绝服务漏洞。它包含用指数时间执行的某些子句的正则表达式模式(例如,包含自身重复的重复的子句)能够被攻击者利用来引发拒绝服务(DoS)条件。SDL Regex Fuzzer与SDL过程模板和MSF-Agile + SDL过程模板集成,以帮助用户跟踪和消除其项目中的任何检测到的正则表达式漏洞。