beSTORM之网络协议Fuzz入门教程
转载自FreeBuf.COM
本文将以SNMP协议为例介绍如何使用beSTORM进行网络协议Fuzz。
实验环境
Windows 7 X64 (IP:192.168.0.123)
beSTORM 3.7
被测机器:Centos (IP:192.168.0.120)
Perl 5
一、beSTORM架构简介
beSTORM的架构分为两个部分,一部分为Client,另一部分为Monitor。其中Client用于向被测程序发送畸形数据包;Monitor用于监控被测程序的状态,一旦发现被测程序出现异常立即记录下来,并发送给Client端,如下图所示。

二、配置Monitor
通常在Windows环境下的对被测程序的监控使用GUI版本的Monitor,如下图所示。

在Linux环境下对被测程序的监控利用gdb调试工具,gdb可以在被测程序发生异常时通知beSTORM的Client端。beSTORM提供一个Perl脚本(gdb_monitor.pl文件),该脚本将gdb作为被测程序的调试器,并且将运行信息通过UDP发送给beSTORM的Client端。
首先在beSTORM的安装目录下找到gdb_monitor.pl文件。该脚本共有4个参数,分别是:(1)host,指定beSTORM client的host。(2)port,指定beSTORM的client的UDP端口用于接收异常信息。(3)file,指定被测程序。(4)pid,指定需要附加进程的PID。

本文对远程服务器的SNMP协议进行Fuzz,首先查看SNMP协议161端口对应的进程,如下图所示,对应进程的PID为4670。

故pl脚本的执行命令如下:
perl gdb_monitor.pl --host 192.168.0.123 --pid 4670
0×3 配置beSTORM
(1)向导步骤1。首先新建beSTORM的工程,向导第一步如下图所示。这里选择“Advanced”。

(2)向导步骤2。注意在predefined modules中选择SNMP协议,Hostname or IP address编辑框中填写被测服务器的IP地址192.168.0.120。

(3)向导步骤3。

选中“Run in batch mode”(以批处理模式运行)复选框时,beSTORM发现首个错误后会继续运行。注意,在这种情况下,无论采用重新启动还是其他方法,都应从之前的错误中恢复被测程序。
选中“Make sure monitor is up before starting”(确保开始前开启监控器)复选框时,beSTORM收到测试环境发出的约定信号后才会开始测试。这样,beSTORM就可确定测试环境是否运行正常。
选中“Report connectivity issues as exceptions”(报告异常连接问题)复选框时,如果beSTORM无法接收测试环境发出的网络流量,即视为存在潜在问题或漏洞。这一功能会将所有网络问题识别为潜在漏洞,因此对于测试监控难度较大的环境(例如专用硬件设备)大有帮助。通过这种方式,beSTORM可以在后续的处理中轻松地发现同样的问题,并找出原因。
选中“Periodically test connection and report vulnerability upon failure”(定期测试连接并在出现故障时报告漏洞)复选框时,beSTORM会测试被测程序的操作,并对于非正常流量做出回应。如果没有出现预期响应,beSTORM会生成异常报告。
(4)向导步骤4。在步骤4可以查看本工程中的已有配置,可以手动修改相关配置。

(5)向导步骤5。SPS(Session per Second)即为每秒连接次数,请根据服务器性能设置。Host or IP address需要填写Monitor的IP地址,一般情况下,Monitor的IP地址与被测目标程序所在IP地址是一致的。

(6)向导步骤6。

beSTORM Client运行界面如下图所示。

0×4 Fuzz测试
配置完毕后,可以查看的此次Fuzz测试的架构,如下图所示。

当beSTORM Client开始发送畸形数据包时,可以配置tcpdump抓取到beSTROM发送到161端口的畸形数据包,tcpdump抓取结果如下图所示,抓取命令为:tcpdump –nn –i eth0 port 161。

此时可以坐等被测程序出现异常,Monitor可以检测到异常,并将异常发送给beSTORM Client。
ref: 《beSTORM – User Guide》
*本文作者:dolphin,转载自FreeBuf.COM
beSTORM之网络协议Fuzz入门教程的更多相关文章
- TCP/IP网络协议基础入门及实验
TCP/IP简介 提到网络协议栈结构,最著名的当属 OSI 七层模型,但是 TCP/IP 协议族的结构则稍有不同,它们之间的层次结构有如图对应关系: 可见 TCP/IP 被分为 4 层,每层承担的任务 ...
- 网络协议 HTTP入门学习
概述 Web 的诞生,源于三大技术的诞生,它们都是当年 Web 之父 Tim Berners-Lee 自己 开发的,世界上第一个网站诞生的时间是 1991 年,三大技术的诞生也就是在此之前的不久: 1 ...
- WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]
WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...
- 【RL-TCPnet网络教程】第22章 RL-TCPnet之网络协议IP
第22章 RL-TCPnet之网络协议IP 本章节为大家讲解IP(Internet Protocol,网络协议),通过前面章节对TCP和UDP的学习,需要大家对IP也有个基础的认识. (本章 ...
- 用http.get()简单实现网络验证防止客户不给尾款_电脑计算机编程入门教程自学
首发于:用http.get()简单实现网络验证防止客户不给尾款_电脑计算机编程入门教程自学 http://jianma123.com/viewthread.aardio?threadid=428 给软 ...
- GAN网络从入门教程(一)之GAN网络介绍
GAN网络从入门教程(一)之GAN网络介绍 稍微的开一个新坑,同样也是入门教程(因此教程的内容不会是从入门到精通,而是从入门到入土).主要是为了完成数据挖掘的课程设计,然后就把挖掘榔头挖到了GAN网络 ...
- GAN网络从入门教程(二)之GAN原理
在一篇博客GAN网络从入门教程(一)之GAN网络介绍中,简单的对GAN网络进行了一些介绍,介绍了其是什么,然后大概的流程是什么. 在这篇博客中,主要是介绍其数学公式,以及其算法流程.当然数学公式只是简 ...
- GAN网络从入门教程(三)之DCGAN原理
目录 DCGAN简介 DCGAN的特点 几个重要概念 下采样(subsampled) 上采样(upsampling) 反卷积(Deconvolution) 批标准化(Batch Normalizati ...
- GAN网络之入门教程(五)之基于条件cGAN动漫头像生成
目录 Prepare 在上篇博客(AN网络之入门教程(四)之基于DCGAN动漫头像生成)中,介绍了基于DCGAN的动漫头像生成,时隔几月,序属三秋,在这篇博客中,将介绍如何使用条件GAN网络(cond ...
随机推荐
- 修改HTTPS加密协议TLS1.0为TLS1.2
一:首先为什么要改为TLS1.2 因为各大浏览器相继发布声明将停止支持 TLS 1.0 和 TLS 1.1 https://www.cnblogs.com/jpush88/p/9846047.html ...
- Web UI开发神器—Kendo UI for jQuery数据管理网格编辑操作
Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...
- vue 想关工具 及组件
vue-cli vue的脚手架工具 (1) 安装通过 npm install -g vue-cil (2)常用模板 browserify - 拥有高级功能的 Browserify ...
- springboot后端controller参数接收
参考:https://blog.csdn.net/a532672728/article/details/78057218 get方法 : 1. http://localhost:8080/0919/t ...
- Python 10.1.1
- 删除harbor项目下的所有镜像
user= pswd= url= proid= REPOS=$(curl -s -X GET --header 'Accept: application/json' "${url}/api/ ...
- I have Flash Player installed, but I am unable to view Flash content in Chromium. How do I enable Flash Player to view this content?
I have Flash Player installed, but I am unable to view Flash content in Chromium. How do I enable Fl ...
- 五十五.ansible概述、ansible基础 、ad-hoc、批量配置管理
1.环境准备 (自动化工具,批量操作) 6台 2cpu,1.5G以上内存,20G硬盘,1网卡 1.1 基础环境准备 1)启动6台虚拟机,ansible.sh 2)真机配置yum仓库 ]# tar ...
- Codeforces 1243 D 0-1 MST
题面 隐隐感觉N年前做过一道类似的题. 很显然我们只需要考虑,仅有0边的子图有多少个连通块,然后这个数量减去1就是答案了(这个和kruscal过程等价). 然后其实就是妥妥的暴力了...因为1边数量非 ...
- P1558 色板游戏 状压线段树
P1558 色板游戏 状压线段树 题面 洛谷P1558 每次不同颜色覆盖一段区间,每次询问一段区间有多少种颜色 因为颜色数\(T\)很小,使用二进制表示状态当前区间有那些颜色,二进制第\(i\)位表示 ...