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等。