ref:一系列用於Fuzzing學習的資源彙總

ref:http://www.freebuf.com/articles/rookie/169413.htmlphp

一系列用於Fuzzing學習的資源彙總

secist2018-04-30共185833人圍觀 ,發現 2 個不明物體新手科普

本文主要是向你們推薦一系列,用於fuzzing和Exploit開發初始階段學習的資源合集,其中將包括相關的書籍,課程 – 免費或收費的,視頻,工具,教程,以及一些供你們練習使用的靶機應用。html

fuzzing書籍:

《模糊測試-強制性安全漏洞發掘》做者: 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

《IDA Pro – IDA Pro Book:全球最受歡迎的反編譯器非官方指南》shell

fuzzing課程/培訓視頻:

免費

紐約大學Poly(查看更多視頻) – 由Dan Guido免費提供。

Samclass.info(檢查項目部分和第17章) – 由Sam提供。

現代二進制開發(RPISEC) – 第15章 – 由RPISEC提供。

攻擊性計算機安全 – 第6周 – 由W. Owen Redwood和Xiuwen Liu教授提供。

付費

Offensive Security, CTP和高級Windows開發(AWE)

針對滲透測試的SANS 660/760高級Exploit開發

Exodus Intelligence – 漏洞開發大師班

視頻:

視頻主要談論fuzzing技術,工具以及最佳實踐。

 紐約大學Poly課程視頻

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視爲馬爾科夫鏈

DerbyCon 2016:Fuzzing基礎知識……或如何破解軟件

教程和博客

文章和博客解釋了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到利用:

從Fuzzing到0-day - Harold Rodriguez(@superkojiman)。

從崩潰到利用 - Corelan團隊。

Peach Fuzzer相關教程:

開始使用Peach

Peach Fuzzing第一部分 – corelan團隊Jason Kratzer

Peach Fuzzing第二部分 - corelan團隊Jason Kratzer

自動生成Peach pit文件/fuzzers - FrédéricGuihéry,Georges Bossert

AFL Fuzzer相關教程

Fuzzing工做流程; fuzz工做從開始到結束 – @BrandonPrry。

使用afl的persistent模式給capstone作模糊測試 – @toasted_flakes。

RAM磁盤以及從AFL Fuzzing中保存你的SSD

使用American Fuzzy Lop狩獵Bug

American Fuzzy Lop在真實案例中的高級使用

使用afl-fuzz隔離Python

Fuzzing Perl: American Fuzzy Lops的故事

使用AFL-Fuzz Fuzzing,一個練習示例(AFL vs Binutils)

Fuzzing的重要性?

Heartbleed是如何被找到的

使用American Fuzzy lop Fuzzing文件系統

使用AFL Fuzzing Perl/XS模塊

如何使用American Fuzzy Lop fuzz一個服務器 - Jonathan Foote

AFL研討會Fuzzing – 真正的漏洞帶來的一系列挑戰

libFuzzer Fuzzer相關教程

libFuzzer教程

libFuzzer研討會:「C/C++項目的現代fuzzing」

Spike Fuzzer相關教程

使用Spike Fuzzing查找溢出

使用Spike Fuzzing – samclass.info

FOE Fuzzer相關教程

使用FOE Fuzzing – Samclass.info

SMT/SAT solver教程

Z3 – 指南 – Z3入門指南:指南

工具

有助於fuzzing應用的工具

Cloud Fuzzers

在雲環境中幫助fuzzing測試的Fuzzers。

Cloudfuzzer – 雲fuzzing框架,能夠輕鬆在雲環境中運行自動化模糊測試。

文件格式Fuzzers

可幫助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項目中已有多種語法可用)。

網絡協議Fuzzers

可幫助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++代碼中的漏洞的高級跨平臺模糊測試框架。

污點分析

用戶輸入如何影響執行

PANDA(構建於頂級QEMU系統上的新一代動態分析平臺)

QIRA(QEMU交互式運行時分析器)

kfetch-toolkit – 執行高級記錄引用的工具

符號執行SAT和SMT求解器

Z3 - 屬於SMT Solver,用於斷定First Order Logic公式的可知足性。

SMT-LIB - 旨在促進SMT研究與開發的國際計劃。

參考

點擊連接瞭解更多信息:https://www.ee.oulu.fi/research/ouspg/Fuzzers

基本工具

針對exploit開發人員和逆向工程師的工具。

Debuggers

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/

來自Mozilla的PDF測試語料庫

MS Office文件格式文檔

模糊測試套件 – fuzzing引擎測試集。包括不一樣的已知bug,如Heartbleed, c-ares $100K bug等。

反Fuzzing

反Fuzzing介紹:縱深防護

相關文章
相關標籤/搜索