ref:http://www.freebuf.com/articles/rookie/169413.htmlphp
本文主要是向你们推荐一系列,用于fuzzing和Exploit开发初始阶段学习的资源合集,其中将包括相关的书籍,课程 – 免费或收费的,视频,工具,教程,以及一些供你们练习使用的靶机应用。html
《模糊测试-强制性安全漏洞发掘》做者: Michael Sutton, Adam Greene, Pedram Amini。前端
《软件安全测试Fuzzing和zhi’laing质量保证》做者:Ari Takanen, Charles Miller, and Jared D Demott。python
《开源Fuzzing工具》做者: Gadi Evron and Noam Rathaus。linux
《Python灰帽子》做者:Justin Seitz。c++
注意:如下书籍中的相关章节专一于Fuzzing。git
《Shellcoder手册:发现和利用安全漏洞》(第15章节)做者:Chris Anley, Dave Aitel, David Litchfield等。github
《iOS黑客手册 – 第1章》做者:Charles Miller, Dino DaiZovi, Dion Blazakis, Ralf-Philip Weinmann, Stefan Esser。web
纽约大学Poly(查看更多视频) – 由Dan Guido免费提供。
Samclass.info(检查项目部分和第17章) – 由Sam提供。
现代二进制开发(RPISEC) – 第15章 – 由RPISEC提供。
攻击性计算机安全 – 第6周 – 由W. Owen Redwood和Xiuwen Liu教授提供。
付费
Offensive Security, CTP和高级Windows开发(AWE)
视频主要谈论fuzzing技术,工具以及最佳实践。
Fuzzing 101 (Part 1) - Mike Zusman。
Fuzzing 101 (Part 2) - Mike Zusman。
Fuzzing 101 (2009) - Mike Zusman。
Fuzzing – Coursera软件安全课程 – 由马里兰大学提供
Youtube上各类有关fuzzing的探讨和演示文稿播放列表 – 这些视频中有不少不错的内容
浏览器bug狩猎 – 最后一我的的回忆录 – Atte Kettunen
文章和博客解释了fuzzing的方法,技术和最佳实践。
有效的文件格式Fuzzing – Mateusz“j00ru”Jurczyk @Black Hat 2016欧洲,伦敦
过去一年的Windows内核字体fuzzing第一部分红果 - 谷歌的Project Zero的一篇惊人的文章,描述了如何进行fuzzing和建立fuzzers。
过去一年的Windows内核字体fuzzing第二部分技术 - 谷歌的Project Zero的一篇惊人的文章,描述了fuzzing和建立fuzzers须要什么。
fuzzing项目中有趣的bug和资源 – 来自fuzzing-project.org。
Fuzzing工做流程; fuzz工做从开始到结束 – @BrandonPrry。
用AFL和libFuzzer轻松介绍C++代码fuzzing - Jeff Trull。
15分钟fuzzing介绍 - MWR安全。
注意:fuzzing.info已经为咱们整合了许多优秀的资源,我不会重复他们的工做。我将会添加一些他们错过的论文。Fuzzing Papers - fuzzing.info
Fuzzing Blog - fuzzing.info
Fuzzing中出现崩溃的根本缘由分析 - Corelan团队。Root cause analysis of integer flow -Corelan团队。
Creating custom peach fuzzer publishers - Open Security Research。
在Fuzzing大型开源项目以前须要考虑的七件事 – Emily Ratliff。
从Fuzzing到0-day - Harold Rodriguez(@superkojiman)。
从崩溃到利用 - Corelan团队。
Peach Fuzzing第一部分 – corelan团队Jason Kratzer
Peach Fuzzing第二部分 - corelan团队Jason Kratzer
自动生成Peach pit文件/fuzzers - FrédéricGuihéry,Georges Bossert
Fuzzing工做流程; fuzz工做从开始到结束 – @BrandonPrry。
使用afl的persistent模式给capstone作模糊测试 – @toasted_flakes。
Fuzzing Perl: American Fuzzy Lops的故事
使用AFL-Fuzz Fuzzing,一个练习示例(AFL vs Binutils)
使用American Fuzzy lop Fuzzing文件系统
如何使用American Fuzzy Lop fuzz一个服务器 - Jonathan Foote
使用Spike Fuzzing – samclass.info
使用FOE Fuzzing – Samclass.info
SMT/SAT solver教程
Z3 – 指南 – Z3入门指南:指南
有助于fuzzing应用的工具
在云环境中帮助fuzzing测试的Fuzzers。
Cloudfuzzer – 云fuzzing框架,能够轻松在云环境中运行自动化模糊测试。
可帮助fuzzing文件格式的Fuzzers,如PDF,MP3,SWF等
MiniFuzz – Wayback Machine连接 – Microsoft提供的基本文件格式模糊测试工具。(Microsoft网站上再也不提供)。
BFF from CERT - 用于文件格式的基本模糊测试框架。
AFL Fuzzer(仅适用于Linux)- American Fuzzy Lop Fuzzer 由Michal Zalewski aka lcamtuf发布
Win AFL- Linux下的智能模糊测试神器afl-fuzz的Windows版本
Shellphish Fuzzer – AFL的Python接口,容许注入测试用例和其余功能。
TriforceAFL – AFL的修改版本,它支持源代码不可用的应用程序的模糊测试。
Peach Fuzzer – 一款智能模糊测试工具, 普遍用于发现软件中的漏洞和缺陷,它有两种主要模式,基于生长的模糊测试和基于变异的模糊测试。
MozPeach - 由Mozilla Security提供的peach 2.7。
失败观察引擎(FOE) – 针对Windows应用程序的基于文件突变的fuzz测试工具。
rmadair - 基于文件突变的fuzz测试工具,使用PyDBG来监测感兴趣的信号。
honggfuzz - 一个易于使用的fuzzer以及有趣的分析选项。支持基于代码覆盖的feedback-driven fuzzing。同时支持GNU/Linux,FreeBSD,Mac OSX和Android系统。
zzuf – 一个透明应用程序输入fuzzer。它经过拦截文件操做并更改程序输入中的随机位来工做。
radamsa – 通用型fuzzer和测试用例生成器。
binspector - 二进制格式分析和模糊测试工具
grammarinator – 基于ANTLR v4语法的文件格式模糊测试工具(ANTLR项目中已有多种语法可用)。
可帮助fuzzing使用基于网络协议(如HTTP, SSH, SMTP等)的应用程序Fuzzers。
Peach Fuzzer – 一款智能模糊测试工具, 普遍用于发现软件中的漏洞和缺陷,它有两种主要模式,基于生长的模糊测试和基于变异的模糊测试。
Sulley- 由多个可扩展组件组成的fuzzer开发和模糊测试框架。
boofuzz- Sulley框架的分支和继承。
Spike – 一个fuzzer开发框架。
Metasploit框架 – 经过辅助模块包含一些fuzzing功能的框架。
Nightmare – 带有Web管理的分布式模糊测试套件,支持使用网络协议进行模糊测试。
其余的一些fuzzers,如内核fuzzers,通用型fuzzer等。
Choronzon – 一个革命性的基于知识库的模糊测试。
QuickFuzz – 是一个语法模糊器,由QuickCheck,模板Haskell和Hackage的特定库生成许多复杂的文件格式,如Jpeg,Png,Svg,Xml,Zip,Tar等。
gramfuzz – 一种基于语法的模糊器,可让您定义复杂的语法来为文本和二进制数据格式建模。
KernelFuzzer – 跨平台的内核Fuzzer框架。
honggfuzz – 一个易于使用的fuzzer以及有趣的分析选项。支持基于代码覆盖的feedback-driven fuzzing。同时支持GNU/Linux,FreeBSD,Mac OSX和Android系统。
Hodor Fuzzer - 另外一种通用型fuzzer。
libFuzzer- C/C++编写的目标进程内覆盖引导渐进式fuzzing引擎。
syzkaller - 一款针对Linux内核进行模糊测试的开源工具。
ansvif – 用于查找C/C++代码中的漏洞的高级跨平台模糊测试框架。
用户输入如何影响执行
kfetch-toolkit – 执行高级记录引用的工具
Z3 - 属于SMT Solver,用于断定First Order Logic公式的可知足性。
SMT-LIB - 旨在促进SMT研究与开发的国际计划。
点击连接了解更多信息:https://www.ee.oulu.fi/research/ouspg/Fuzzers
针对exploit开发人员和逆向工程师的工具。
Windbg – windows平台下强大的用户态和内核态调试工具。
Immunity Debugger- 专门用于加速漏洞利用程序的开发,辅助漏洞挖掘以及恶意软件分析。
OllyDbg – 一个新的动态追踪工具。
Mona.py(windbg和Immunity dbg的插件)
x64dbg – 用于Windows的开源x64/x32调试器。
Evan的调试器(EDB)- gdb前端。
GDB – Gnu调试器 – 最喜欢的Linux调试器。
PEDA – 针对GDB的Python Exploit开发助手。
Radare2 – 用于逆向工程和二进制文件分析的框架。
IDA Pro- 最好的反编译软件
binnavi – 二进制分析IDE,注释控制流程图和调用反编译代码的图形。
Capstone – Capstone是一个轻量级的多平台,多架构反编译框架。
ltrace – 用来跟踪进程调用库函数的状况。
strace – 跟踪系统调用和信号。
Exploit-DB - https://www.exploit-db.com(经过搜索相关的应用漏洞,并自行下载漏洞应用及EXP重现漏洞)
PacketStorm - https://packetstormsecurity.com/files/tags/exploit/
Fuzzgoat - 用于测试fuzzers的漏洞C程序。
https://files.fuzzing-project.org/
模糊测试套件 – fuzzing引擎测试集。包括不一样的已知bug,如Heartbleed, c-ares $100K bug等。