模糊化SNMP版本2和3

模糊化SNMP版本2和3,snmp,fuzzing,Snmp,Fuzzing,我想对版本2和版本3的SNMP代理进行模糊测试。现有的开源模糊框架(Peach、Spike和其他)缺乏对将定义的数据模型转换为ASN.1-BER的支持,以便于代理理解。我只想创建一个模糊/格式错误输入的数据库,然后将它们提供给代理。 需要关于创建格式错误的输入的建议,或者是否有任何现有框架(我可能缺少)可以让我以最简单的方式实现这一点 在两者中,您可以实现ASN.1 DER编码器,然后将其定义为字段的编码器,因为每种类型的字段都在构造函数中接受一个编码器 此外,在Kitty的案例中,您可以使用已

我想对版本2和版本3的SNMP代理进行模糊测试。现有的开源模糊框架(Peach、Spike和其他)缺乏对将定义的数据模型转换为ASN.1-BER的支持,以便于代理理解。我只想创建一个模糊/格式错误输入的数据库,然后将它们提供给代理。 需要关于创建格式错误的输入的建议,或者是否有任何现有框架(我可能缺少)可以让我以最简单的方式实现这一点

在两者中,您可以实现ASN.1 DER编码器,然后将其定义为字段的编码器,因为每种类型的字段都在构造函数中接受一个编码器


此外,在Kitty的案例中,您可以使用已经实现的,它允许基于scapy的变异功能进行模糊化。

我认为您必须更加具体。“如何测试SNMP代理”的内容非常广泛@LightnessRacesinOrbit您能说出创建精心编制的snmp数据包的任何工具或方法吗?以何种方式精心编制?你只是想改变OID和VARBIND吗?Net SNMP的本机工具可以满足这一要求。还是要使用实际的错误PDU对代理进行压力测试?在这种情况下,您可以通过线路发送所需的字节,或者使用某种模拟器?这么多的选择,都取决于你的需要。@LightnessRacesinOrbit你说得对!数据包制作可以由Scapy完成,但我不想测试目标是否有任何特定的输入,而是基于某种变异策略变异PDU中的字段,然后监控每个变异输入的目标。我只想自己使用网络SNMP数据类型、几行C和网络连接来完成!当然,您“定义”这些测试的方式取决于您——您可以将其烘焙到代码中,或者在文本文件中提供一些人性化的描述,供代码解析。可能性是无穷的!那很有帮助。但你们不是在寻找添加ASN1吗。kitty源中的DER编码器?因为大多数协议都使用ASN.1。我们根据需要添加内容,并愉快地接受请求。