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過程模板集成,以幫助用戶跟蹤和消除其項目中的任何檢測到的正則表達式漏洞。