下面,以某型号路由器为例,基于Boofuzz框架,介绍对常见网络协议进行fuzz的方法。 除了网络协议外,也可以采用类似的思路对其他协议如BLE、串口协议等进行fuzz。 Boofuzz框架简介 由于Sulley框架目前已经停止更新维护,而Boofuzz框架是Sulley的继承者,除了修复一些bug之外,还增加了框架的可扩展性。 下面对Boofuzz框架进行简单介绍: ? 来源: Fuzzing Sucks! Introducing the sulley fuzzing framework. 笔者目前尚未对使用的Boofuzz框架进行更新。在最新的 commit 中,对 web 界面进行了改进,显示的信息更丰富。 相关链接 boofuzz: Network Protocol Fuzzing for Humans: https://github.com/jtpereyda/boofuzz Fuzzing Sucks
本文选取的FUZZ框架为boofuzz(其余广泛流传的文章中均以sulley、Peach为例),boofuzz的详细信息下载地址https://github.com/jtpereyda/boofuzz。 Boofuzz是Sulley模糊测试框架的继承者。除了修复了许多错误,boofuzz还提升了可扩展性。 支持任意通信媒介; 6.内置支持串行模糊测试、以太网、IP层和UDP广播; 7.更好地记录测试数据——统一、彻底、清晰; 8.测试结果通过CSV导出; 9.方便的安装体验; 先需要在脚本运行的PC机上安装boofuzz
boofuzz 与wfuzz不同,boofuzz是一个python的fuzz框架,其前身是sulley。boofuzz比较灵活,支持多种协议fuzz,但需要开发者对所测试协议格式较为了解。 Host-Line-Value") s_static("\r\n", name="Host-Line-CRLF") s_static("\r\n", "Request-CRLF") 这是boofuzz
协议专用生成工具 针对特定协议的生成式模糊测试工具: SPIKE:用于网络协议模糊测试 Sulley:网络协议模糊测试框架 Boofuzz:Sulley的现代化替代版本 2.3 文件格式模糊测试 2.3.1 通用网络模糊测试工具 Boofuzz:现代化网络协议模糊测试框架 Burp Suite Intruder:Web应用协议模糊测试 OWASP ZAP Fuzzer:开源Web应用模糊测试工具 2. Boofuzz使用示例 # Boofuzz基本使用示例 from boofuzz import * def main(): # 创建会话 session = Session(target 分析目标服务 netstat -tulpn | grep server_name strings server_binary | grep -i protocol 5.2.2 网络模糊测试设置 使用Boofuzz 框架设置网络模糊测试: # fuzz_server.py from boofuzz import * def main(): # 创建会话 session = Session(
对于服务端的Fuzz,最简单就是使用boofuzz一类工具进行Fuzz,但是对于客户端,就需要另一种方法进行Fuzz。UMAS协议如下图所示: ?
工具建议:可使用 http-fuzz 工具(如 Boofuzz)进行协议层模糊测试,但需控制范围以防压垮服务。
boofuzz- Sulley框架的分支和继承。 Spike - 一个fuzzer开发框架。 Metasploit框架 - 通过辅助模块包含一些fuzzing功能的框架。
查看:afl, Radamsa, Sulley, boofuzz, Coverity Scan, Valgrind, sanitizers 网络分段 你是否已将你的后端与你的前端及负载均衡器正确分离?
# 使用Fuzzing框架(如AFL、BooFuzz等)进行漏洞挖掘# 示例代码可以在相应的Fuzzing框架文档中找到自动化安全运维1.
内部的fuzz流程与其他的协议fuzz框架(如Boofuzz,Kitty)类似,也提供了在不同阶段对请求数据进行动态修改、对目标进行监控等功能。 以master分支为例,主要模块的说明如下。
/target_program @@ Boofuzz # 使用Boofuzz进行网络模糊测试 from boofuzz import * def main(): session = Session
网络协议模糊测试工具 Sulley:网络协议模糊测试框架 Boofuzz:Sulley的现代化继任者 SPIKE:网络协议模糊测试工具 Peach Fuzzer:支持网络协议测试的框架 4.
Binwalk、FACT、Firmadyne 协议分析:Wireshark、Scapy、Packet Sender 漏洞扫描:针对特定设备和协议的定制扫描 模糊测试:AFL、American Fuzzy Lop、Boofuzz