快捷搜索:  网络  后门  CVE  渗透  木马  扫描  黑客  as

beSTORM之收集协定Fuzz入门教程

本文将以SNMP协定为例先容怎么样使用beSTORM进行收集协定Fuzz。

实验环境

Windows 7 X64 (IP:192.168.0.123)

                   beSTORM 3.7

被测机器:Centos (IP:192.168.0.120)

                  Perl 5

1、beSTORM架构简介

beSTORM的架构分为两个部分,一部分为Client,另一部分为Monitor。其中Client用于向被测程序发送畸形数据包;Monitor用于监控被测程序的状态,一旦发现被测程序出现异常立即记录下来,并发送给Client端,以下图所示。

beSTORM架构_v2.png

二、设置Monitor

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

beSTROM_Monitor.png

在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。

gdb_monitor.pl_mosaic.png

本文对遥程服务器的SNMP协定进行Fuzz,起首查看SNMP协定161端口对应的进程,以下图所示,对应进程的PID为4670。

查看161端口对应的进程_mosaic.png

故pl脚本的执行命令以下:

perl gdb_monitor.pl --host 192.168.0.123 --pid 4670

0×3 设置beSTORM

(1)向导步骤1。起首新建beSTORM的工程,向导第一步以下图所示。这里选择“Advanced”。

beSTORM_Wizard_1.png

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

beSTORM_Wizard_2.png

(3)向导步骤3。

Wizard_3.png

选中“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可以查看本工程中的已有设置,可以手动修改相干设置。

beSTORM_Wizard_4.png

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

beSTORM_Wizard_5.png

(6)向导步骤6。

beSTORM_Wizard_6.png

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

beSTORM_Main_run.png

0×4 Fuzz测试

设置完毕后,可以查看的此次Fuzz测试的架构,以下图所示。

beSTORM_Architecture_mosaic.png

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

tcpdump_mosaic.png

此时可以坐等被测程序出现异常,Monitor可以检测到异常,并将异常发送给beSTORM Client。

ref: 《beSTORM – User Guide》 

*

您可能还会对下面的文章感兴趣: