内容简介:Fuzzowski的设计核心理念,就是想让任何一个网络安全从业人员都会第一选择去使用它,该工具可以帮助研究人员对网络协议进行模糊测试,并且能够在整个测试过程中给我们提供帮助。除此之外,该工具还允许研究人员定义链接,并帮助识别服务的崩溃。1、基于Sulley Fuzzer实现数据收集功能【2、基于BooFuzz部分功能【
Fuzzowski
Fuzzowski的设计核心理念,就是想让任何一个网络安全从业人员都会第一选择去使用它,该 工具 可以帮助研究人员对网络协议进行模糊测试,并且能够在整个测试过程中给我们提供帮助。除此之外,该工具还允许研究人员定义链接,并帮助识别服务的崩溃。
功能介绍
1、基于Sulley Fuzzer实现数据收集功能【 GitHub传送门 】
2、基于BooFuzz部分功能【 GitHub传送门 】
3、 Python 3
4、非随机性
5、需要指定创建数据包的类型(SPIKE fuzzer风格)
6、允许使用参数创建元数据包,可指定注入点
7、提供功能强大的命令行终端
8、允许跳过引起错误的参数
9、自动化
10、提供完整可视化的可疑数据包内容
11、可将PoC存储为Python脚本
12、提供监控模块帮助实现数据收集
协议实现
1、LPD(Line Printing Daemon):完整实现 2、IPP (Internet Printing Protocol):部分实现 3、BACnet(Building Automation&Control networks Protocol):部分实现 4、Modbus(ICS communication protocol):部分实现
工具安装
virtualenv venv -p python3 source venv/bin/activate pip install -r requirements.txt
工具使用帮助
usage: python -m fuzzowski [-h] [-p {tcp,udp,ssl}] [-b BIND] [-st SEND_TIMEOUT] [-rt RECV_TIMEOUT] [--sleep-time SLEEP_TIME] [-nc] [-tn] [-nr] [-nrf] [-cr] [--threshold-request CRASH_THRESHOLD_REQUEST] [--threshold-element CRASH_THRESHOLD_ELEMENT] [--ignore-aborted] [--ignore-reset] [--error-fuzz-issues] [-c CALLBACK | --file FILENAME] -f {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw} [-r FUZZ_REQUESTS [FUZZ_REQUESTS ...]] [--restart module_name [args ...]] [--restart-sleep RESTART_SLEEP_TIME] [--monitors {IPPMon} [{IPPMon} ...]] [--path PATH] [--document_url DOCUMENT_URL] host port █ █ ████████ ██████████ ██ ████ ██ ██ ████ ██ ████ ████ █ ████████████ █ █ ██████████ █ Fuzzowski Network Fuzzer █ █ █ █ � Fuzzers, inc. ██ ██
位置参数:
host 目的主机 port 目的端口
可选参数:
-h, –help 显示帮助信息与退出
连接参数:
-p {tcp,udp,ssl}, –protocol {tcp,udp,ssl} 协议(默认为tcp) -b BIND, –bind BIND 端口绑定 -st SEND_TIMEOUT, –send_timeout SEND_TIMEOUT 设置send() 超时(默认为5s) -rt RECV_TIMEOUT, –recv_timeout RECV_TIMEOUT 设置recv() 超时(默认为5s) –sleep-time SLEEP_TIME 测试睡眠间隔 (默认为0) -nc, –new-conns 数据包测试后建林新的连接 -tn, –transmit-next-node 发送模糊节点图中的下一个节点
崩溃选项:
–threshold-request CRASH_THRESHOLD_REQUEST 在跳过请求之前设置请求中允许的崩溃数 (默认为9999) –threshold-element CRASH_THRESHOLD_ELEMENT 在跳过原语之前,设置该原语中允许的崩溃次数 (默认为3) –ignore-aborted 忽略ECONNABORTED 错误 –ignore-reset 忽略ECONNRESET 错误 –error-fuzz-issues 当模糊节点中存在任何连接问题时作为错误记录
模糊测试选项:
-c CALLBACK, –callback CALLBACK 用回调生成器将回调地址设置为fuzz而不是普通的突变 –file FILENAME 使用文件内容进行模糊变异
模糊测试器:
-f {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}, –fuzz {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw} 可用协议 -r FUZZ_REQUESTS [FUZZ_REQUESTS ...], –requests FUZZ_REQUESTS [FUZZ_REQUESTS ...] 待测协议,默认为全部 dhcp: [opt82] ipp: [http_headers, get_printer_attribs, print_uri_message, send_uri, get_jobs, get_job_attribs] lpd: [long_queue, short_queue, ctrl_file, data_file, remove_job] telnet_cli: [commands] tftp: [read] raw: ['\x01string\n' '\x02request2\x00' ...]
重启选项:
–restart module_name [args ...] 重启模块: run: ‘<executable> [<argument> ...]‘ smartplug: 开启或关闭smartplug teckin: <PLUG_IP> –restart-sleep RESTART_SLEEP_TIME 设置崩溃后的睡眠秒数 (默认为5)
监控器选项:
–monitors {IPPMon} [{IPPMon} ...], -m {IPPMon} [{IPPMon} ...] 监控器模块: IPPMon: 向目标发送get-attributes IPP消息
其它选项:
–path PATH 设置基于HTTP的待测协议路径 (默认为/) –document_url DOCUMENT_URL 为print_uri设置Document URL
工具使用样例
使用默认参数,对get_printer_attribs IPP操作进行模糊测试:
python -m fuzzowski printer1 631 -f ipp -r get_printer_attribs --restart smartplug
演示视频: https://asciinema.org/a/0RMDMrJWiFo4RoRwAjx61BXDY
使用IPP的元功能来对指纹协议(Finger Protocol)进行模糊测试:
python -m fuzzowski printer 79 -f raw -r '{{root}}\n'
演示视频: https://asciinema.org/a/Pch0JbkNK97dgrCUMK8iIfJv5
使用IPP的元功能来对指纹协议(Finger Protocol)进行模糊测试,但使用的是一个文件:
python -m fuzzowski printer 79 -f raw -r '{{root}}\n' --file 'path/to/my/fuzzlist'
项目地址
Fuzzowski:【 GitHub传送门 】
* 参考来源: nccgroup ,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- LAPSToolkit:一款功能强大的LAPS环境安全审计与渗透测试工具
- PTAA:一款功能强大的紫队自动化渗透测试工具
- FFM:功能强大的开源渗透测试工具,帮你开启自由攻击模式的“新大陆“
- 一款功能强大的 PHP 开发框架
- XRay - 一款功能强大的安全评估工具
- Lazydocker:一款功能强大的Docker管理套件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Docker——容器与容器云
浙江大学SEL实验室 / 人民邮电出版社 / 2015-9-1 / 89.00元
本书从实践者的角度,在讲解Docker高级实践技巧的同时,深入到源代码层次,为读者梳理出Docker容器技术和基于Docker的容器云技术(如Kubernetes)的实现方法和设计思路,帮助读者理解如何在实际场景中利用Docker解决问题并启发新的思考。全书包括两部分,第一部分深入解读Docker容器技术,包括Docker入门、架构总览、Docker容器核心原理解读,以及Docker高级实践技巧;......一起来看看 《Docker——容器与容器云》 这本书的介绍吧!