16 KiB
Fuzzing 大合集
这是一个在学习 fuzzing 的最初阶段最好的有关 fuzzing 的资源合集(书籍、课程、视频、教程等等)
Table of Contents
Awesome Fuzzing Resources
## 书籍 *关于 fuzzing 的书籍*-
Fuzzing: Brute Force Vulnerability Discovery 作者: Michael Sutton, Adam Greene, Pedram Amini
-
Fuzzing for Software Security Testing and Quality Assurance 作者: Ari Takanen, Charles Miller, and Jared D Demott
-
Open Source Fuzzing Tools 作者: Gadi Evron and Noam Rathaus
-
Gray Hat Python 作者: Justin Seitz
Note: 下列书籍中的部分章节也描述了 fuzzing
- The Shellcoder's Handbook: Discovering and Exploiting Security Holes ( Chapter 15 ) 作者 Chris Anley, Dave Aitel, David Litchfield 等
- iOS Hacker's Handbook - Chapter 1 作者: Charles Miller, Dino DaiZovi, Dion Blazakis, Ralf-Philip Weinmann, and Stefan Esser
IDA Pro - The IDA Pro Book: 世界上最流行的反汇编工具的非官方指导书
## 课程与 fuzzing 有关的课程/培训
### 免费NYU Poly ( see videos for more ) - Dan Guido 出品的免费指导
Samclass.info ( check projects section and chapter 17 ) - Sam 出品
Modern Binary Exploitation ( RPISEC ) - Chapter 15 - RPISEC 出品
Offensive Computer Security - Week 6 - W. Owen Redwood 和 Prof. Xiuwen Liu 出品
### 付费 ( $$$ ) [Offensive Security, Cracking The Perimeter ( CTP ) and Advanced Windows Exploitation ( AWE )](https://www.offensive-security.com/information-security-training/)SANS 660/760 Advanced Exploit Development for Penetration Testers
Exodus Intelligence - 漏洞挖掘大师级课程
## 视频NYU Poly Course videos (from Dan Guido)
Fuzzing 101 (Part 1) - Mike Zusman 出品
Fuzzing 101 (Part 2) - Mike Zusman 出品
Fuzzing 101 (2009) - Mike Zusman 出品
Fuzzing - Software Security Course on Coursera - 马里兰大学出品
### 关于 Fuzzing 的会议讨论/教程 [Youtube Playlist of various fuzzing talks and presentations ](https://www.youtube.com/playlist?list=PLtPrYlwXDImiO_hzK7npBi4eKQQBgygLD) - 列表内有许多优质内容Browser bug hunting - Memoirs of a last man standing - Atte Kettunen 出品
Coverage-based Greybox Fuzzing as Markov Chain
## 教程解释 fuzzing 方法、技术与最佳实践的教程与博客
[2016 文章]
Effective File Format Fuzzing - Mateusz “j00ru” Jurczyk @ Black Hat Europe 2016, London
A year of Windows kernel font fuzzing Part-1 the results - Google Zero 项目的最佳论文,描述了如何进行 fuzzing 以及如何构建一个 fuzzer
A year of Windows kernel font fuzzing Part-2 the techniques - Google Zero 项目的最佳论文,描述了如何进行 fuzzing 以及如何构建一个 fuzzer
Interesting bugs and resources at fuzzing project - fuzzing-project.org 出品
Fuzzing workflows; a fuzz job from start to finish - @BrandonPrry 出品
A gentle introduction to fuzzing C++ code with AFL and libFuzzer - Jeff Trull 出品
15 分钟介绍 fuzzing - MWR Security 出品
Note: Folks at fuzzing.info 收集了很多非常有用的链接,我没有重复他们的工作,我只是整理了 2015 年到 2016 年间他们没有收录的文章 Fuzzing Papers - fuzzing.info 出品
Fuzzing 博客 - fuzzing.info 出品
Root Cause Analysis of the Crash during Fuzzing - Corelan Team 出品 Root cause analysis of integer flow - Corelan Team 出品
Creating custom peach fuzzer publishers - Open Security Research 出品
在 Fuzzing 大型开源项目前要考虑的 7 件事 - Emily Ratliff
从 Fuzzing 到 Exploit
从 fuzzing 到 0-day - Harold Rodriguez(@superkojiman) 出品
从 crash 到 exploit - Corelan Team 出品
Peach Fuzzer 相关教程
Peach 上手指南 使用 Peach 进行 Fuzzing Part 1 - Jason Kratzer of corelan team 出品 使用 Peach 进行 Fuzzing Part 2 - Jason Kratzer of corelan team 出品 Peach pit 文件的自动生成 - Frédéric Guihéry, Georges Bossert 出品
AFL Fuzzer 相关教程
Fuzzing 工作流程,包含 fuzz 的始末 - @BrandonPrry 出品
使用 AFL persistent 模式对 capstone 进行 Fuzzing - @toasted_flakes 出品
RAM disks and saving your SSD from AFL Fuzzing
Segfaulting Python with afl-fuzz
Fuzzing Perl: A Tale of Two American Fuzzy Lops
使用 AFL-Fuzz 进行 Fuzzing 的实例( AFL vs Binutils )
Spike Fuzzer 相关教程
Fuzzing with Spike to find overflows
Fuzzing with Spike - Samclass.info 出品
FOE Fuzzer 相关教程
Fuzzing with FOE - Samclass.info 出品
SMT/SAT 求解器教程
Z3 - A guide - Z3 快速上手指南
## 工具文件格式 Fuzzer
那些帮助对像 pdf, mp3, swf 等文件格式进行 fuzzing 的 Fuzzers
MiniFuzz - Microsoft 出品的基础文件格式 fuzzing 工具
BFF from CERT - 基础文件格式 fuzzing 框架
AFL Fuzzer (Linux only) - Michal Zalewski aka lcamtuf 开发的 Fuzzer
Win AFL - Ivan Fratic 开发的针对 Windows 二进制程序 fuzzing 的 AFL 分支版本
Shellphish Fuzzer - 一个操纵 AFL 的 Python 接口,可以简单的写入测试用例与其他功能
TriforceAFL - 一个 AFL 的修正版,支持应用源码无法获得情况下的 fuzzing
Peach Fuzzer - 帮助创建传统 dumb 以及小型 fuzzer 的框架
MozPeach - 由 Mozilla Security 开发基于 peach 2.7 版本的分支版本
Failure Observation Engine (FOE) - 基于畸形文件的 Windows 程序 Fuzzing 工具
rmadair - 基于畸形文件的 fuzzer,使用 PyDBG 来监视感兴趣的信号
honggfuzz - 支持反馈驱动、基于代码覆盖率的通用、易用型 Fuzzer
zzuf - 一个透明应用输入 fuzzer,可以拦截文件操作、改变程序输入的随机位
radamsa - 通用的 fuzzer,测试用例生成器
### 网络协议 Fuzzer那些帮助对像 HTTP, SSH, SMTP 等网络协议进行 fuzzing 的 Fuzzer
Peach Fuzzer - 帮助创建传统 dumb 以及小型 fuzzer 的框架
Sulley - Michael Sutton 开发,包含多个可扩展组件的 Fuzzer 开发与 Fuzzing 测试框架
boofuzz - Sulley 框架的继任者
Spike - 像 sulley 的 fuzzer 开发框架,是 sulley 的前身
Metasploit Framework - 通过 Auxiliary 模块使其具有了 fuzzing 能力的框架
Nightmare - 一个带有 Web 管理界面的分布式 fuzzing 测试套件,支持对网络协议进行 fuzzing
rage_fuzzer - 未知协议包 fuzzer
### 杂项,内核 Fuzzer,通用 Fuzzer [KernelFuzzer](https://github.com/mwrlabs/KernelFuzzer) - 跨平台内核 Fuzzer 框架honggfuzz - 带有分析选项的通用、易用型 fuzzer
Hodor Fuzzer - 曾经是另一个通用的 fuzzer
### 流分析(用户输入如何影响执行)PANDA ( Platform for Architecture-Neutral Dynamic Analysis )
QIRA (QEMU Interactive Runtime Analyser)
### 符号执行 + SAT/SMT 求解器 [Z3](https://github.com/Z3Prover/z3)参考
我没有把全部的东西都纳进来,比如 AxMan,请参考以下链接获取更多信息 https://www.ee.oulu.fi/research/ouspg/Fuzzers
### 基本工具(通用)调试工具
Windbg - 漏洞利用者常用的调试器
Immunity Debugger - Immunity Sec 出品的调试器
OllyDbg - 逆向工程师的常见选择
Mona.py ( Plugin for windbg and Immunity dbg ) - 漏洞利用开发者的绝佳工具
x64dbg - 开源 Windows x64/x32 调试器
Evan's Debugger (EDB) - Front end for gdb.
GDB - Gnu Debugger - 最好的 Linux 调试器
PEDA - Python 开发的 GDB 辅助程序
Radare2 - 逆向工程与程序分析的框架
#### 反汇编工具反汇编工具、反汇编框架等
IDA Pro - 最好的反汇编工具
binnavi - 二进制程序分析 IDE,注释反汇编代码的控制流图与调用图
Capstone - Capstone 是一个轻量、跨平台、多架构支持的反汇编框架
#### 其他ltrace - 库调用拦截
strace - 系统调用拦截
## 存在漏洞的应用程序 Exploit-DB - https://www.exploit-db.com (搜索、选取漏洞,有些提供了程序下载,可以通过你选择试用的 fuzzer 对利用进行复现PacketStorm - https://packetstormsecurity.com/files/tags/exploit/
Fuzzgoat - Vulnerable C program for testing fuzzers.
fuzzing 期间种子样本文件
https://files.fuzzing-project.org/
MS Office file format documentation
## 反FuzzingIntroduction to Anti-Fuzzing: A Defence In-Depth Aid
## 贡献感谢下列人员对这个项目的贡献: