DOS/DDOS攻击方案

7 篇文章 0 订阅
1 篇文章 0 订阅

本文档介绍的方法仅供学习,测试使用,不要用来做违反当地法律法规的事情,否则后果自负

1.测试环境部署

被攻击方PC机两台,攻击方PC机一台,vpp模拟的路由器一台

1.1测试环境搭建

硬件环境:PC机一台

软件环境:虚拟机软件:VMware Workstation 16 Pro 16.1.1

                  被攻击方PC机:windows 10

                  攻击方PC机:Kail 5.10.28

1.2测试物理组网拓扑

 

1.3操作系统和软件版本

操作系统:受害者:windows10

         攻击者:Kail 5.10.28

hping3:3.0.0-alpha-2

DDos-Attack:https://github.com/Elsa-zlt/DDos-Attack

2.hping3攻击方法

2.0操作系统

        Kail 5.10.28

2.1攻击原理

        生成和解析TCP/IP协议数据包

2.2使用语法

        hping3 [选项] 目标主机

选项

参数

解释

-h--help

显示帮助信息

-v--version

查看版本信息

-c--count

发送数据包的数目

-i

--interval

发送数据包间隔的时间(uX X微妙,例如:-i u1000

--fast

等同于 -i u10000(每秒10个包)

--faster

等同于 -i u1000(每秒100个包)

--flood

尽最快发送数据包,不显示回复

-n--numeric

数字化输出,象征性输出主机地址

-q--quiet

静默模式,只显示最后的统计数据

-I--interface

指定要使用的网络接口

-V--verbose

详细模式

-D--debug

调试模式

-z--bind

将“ctrl+z”组合键与发送包的TTL值绑定,按一次TTL值加1

-Z

--unbind

取消绑定ctrl+z

--beep

对于接收到的每个匹配数据包蜂鸣声提示

模式选择

默认模式是:TCP

模式选择

解释

-0--rawip

原始IP模式,在此模式下Hping3会发送带数据的IP头。即裸IP方式

-1--icmp

ICMP模式,在此模式下Hping3会发送ICMP应答包

-2--udp

UDP模式,在此模式下Hping3会发送UDP报文到主机的0端口

-8--scan

扫描模式,扫描指定的端口

-9--listen

监听模式

IP模式参数:

参数

解释

-a

--spoof

源地址欺骗。伪造自身IP,对目的进行攻击,防火墙就不会记录你的真实IP了,但是回复数据包会被发送到错误的地方,所以接收不到回复

--rand-source

随机源地址模式,使用随机的源IP地址发送数据包。模拟具有不同源IP地址的大量数据流,从而对网络设备和防火墙的性能进行压力测试

--rand-dest

随机目的地址模式,需要一个数值型的IP地址(如10.0.0.x)作为目标主机,在攻击中x会被0-255替换。x.x.x.x则代表所有IPv4地址

注意:这种模式下需要指定网络接口

-t--ttl

指定TTL值(默认是64

-N--id

设置数据包中的ID字段(用于接收时排序),默认是随机值

-W--winid

使用windosw相同的ID(不同系统的ID不一样)

-r--rel

相对id字段(用于评估主机流量)当启用该选项时,hping3会显示数据包的ID递增情况,而不是直接显示ID值。特别是有丢包的情况下

-ffrag

分片。这对于测试IP堆栈在处理大量数据包分片时的性能非常有用。也可能绕过弱访问控制列表(ACL

-x--morefrag

启用此选项时,数据包的IP头部将设置More Fragments标志,表示该数据包是一个分片,并且还有其他后续分片。目标主机在重新组装数据包时,如果片段丢失或过多,则会发送ICMP Time Exceeded消息,暴露其分片处理性能问题

-y--dontfrag

设置不分段标志,逐渐增加数据包大小,直到发现网络传输MTU限制(是否收到ICMP Destination Unreachable消息),可以确定网络的MTU

-g--fragoff

设置分片偏移值。原始数据包分片时,每个分片都有自己的分片偏移值。通过设置分片偏移值,目标主机可以将所有分片正确地重新组装成原始数据包。测试网络设备对不同分片偏移的分片的处理能力

-m--mtu

设置虚拟最大传输单元,默认是16字节

-H--ipproto

设置IP协议字段,仅在RAW IP模式下使用

-G--rroute

记录路由。启用此选项后,hping3会在每个发送的数据包中包含RECORD_ROUTE选项,并在返回的数据包中显示路由缓冲区(route buffer)。RECORD_ROUTE选项允许数据包在传输过程中记录其经过的路由节点信息。IP头部只有足够的空间来存储九个路由节点信息

ICMP模式

参数

解释

-C

--icmptype

设置ICMP报文的类型,默认是ICMP Echo Request(回显请求)

-K

--icmpcode

设置ICMP报文的代码,默认是0

--force-icmp

该选项用于发送所有的ICMP类型的ICMP报文

--icmp-gw

设置ICMP重定向(ICMP Redirect)的网关地址,默认是0.0.0.0

--icmp-ts

--icmp--icmptype13的合体

--icmp-addr

--icmp--icmptype17的合体

UDP/TCP模式

参数

解释

-s--baseport

设置源端口,默认为随机源端口

-p--destport

设置目的端口,默认端口为0

-k--keep

保持源端口不变

-w--win

设置TCP窗口大小,默认是64

-O--tcpoff

设置伪造TCP数据偏移量

-Q--seqnum

收集目标主机生成的TCP序列号,分析TCP序列号的可预测性

-b--badcksum

发送错误的IP校验和和数据包,得到错误UDP/TCP校验和。但是许多系统会修复发送数据包的IP校验和

-M--setseq

设置TCP序列号

-L--setack

set TCP ack,不是 TCP ACK 标志位

-F--fin

set FIN flag

-S--syn

set SYN flag

-R--rst

set RST flag

-P--push

set PUSH flag

-A--ack

set ACK flag,设置 TCP ACK 标志位

-U--urg

set URG flagURG是紧急字段标识

-X--xmas

set X unused flag (0x40),标志位的第6位是未使用的标志位,被称为X标志位。X标志位没有特定的TCP功能,默认保持为0

-Y--ymas

set Y unused flag (0x80),意义同上

--tcpexitcode

发送所有TCP数据包后,将最后一个TCP数据包的“th_flags”字段作为hping3程序的退出码。这样可以使hping3的退出码反映出最后一个TCP数据包的状态(注意:使用此选项时需保证目标主机能响应TCP

--tcp-mss

用于启用TCP MSSMaximum Segment Size)选项,并设置给定的值作为MSS值。TCP MSS选项允许主机在建立TCP连接时向对方通告本地能够接收的最大TCP片段大小,以便对方主机将TCP数据段切分成合适大小的片段,以确保TCP数据传输的有效性和可靠性

--tcp-timestamp

启用TCP时间戳选项(TCP Timestamp Option),从而帮助猜测目标主机的HZ(时钟频率)和运行时间(uptime, 可以对目标主机进行性能分析和网络延迟估算等有用信息。

配置设置

参数

解释

-d--data

发送数据包的大小,默认为0

-E--file

发送指定文件内的数据

-e--sign

添加“签名”

-j--dump

转储为16进制数据包,在接收到响应数据包时将其内容以十六进制形式显示在输出中

-J--print

转出为可打印字符,在接收到响应数据包时将其内容以可打印形式显示在输出中

-B--safe

启用该选项时,如果在文件传输过程中发现有数据包丢失,hping3会自动重新发送丢失的数据包,以确保文件的每个部分都能被正确传输到目标主机。特别适用于在不稳定或复杂情况下的网络中

-u--end

在使用“-E”文件传输时,使用此选项,hping3会在传输完整个文件后通知已经达到文件末尾(EOF),并阻止对方接受更多的数据包

-T--traceroute

启用跟踪路由(traceroute)模式。hping3将发送多个ICMP数据包,每个数据包的TTL值从0开始递增。每经过一个网络跃点,数据包的TTL值会递增,当数据包到达目标主机时,目标主机将根据TTL值发送一个ICMP Time Exceeded响应,以指示数据包经过的路由路径。

--ttl n

--tr-keep-ttl

启用此选项,您可以在跟踪路由模式下保持TTLTime-to-Live)值固定,从而只监视路由路径中的一个跃点。

--tr-stop

一旦接收到第一个不是 ICMP time exceededICMP超时)的数据包,hping3 将立即退出

--tr-no-rtt

启用此选项,hping3将不会显示往返时间(RTT)信息。即使收到ICMP超时的响应,也不会计算RTT信息,适用于只对路由路径感兴趣的情况

实验功能

功能

解释

--apd-send

向目标主机发送使用APD描述的数据包。

使用APD格式,可以灵活地构造各种自定义的数据包,用于网络测试、探测、模拟攻击、安全评估等目的。

通过APD描述的数据包可以包含以下信息:

①源IP地址和目标IP地址

②源端口和目标端口

③协议类型(如TCP、UDP、ICMP等)

④不同协议头部的字段(如TCP标志、UDP长度、ICMP类型等)

⑤数据包的负载(Payload)

2.3测试

测试拓扑图

 

攻击者对受害者设备(192.168.2.120)发起攻击

 受害者网速缓慢,接近断开

 从攻击结果来看,大部分数据包都抵达了受害者主机

3.ddos_attack.py攻击方法

3.0操作系统

        Kail 5.10.28

3.1参考文档

基于Kali的一次DDos攻击实践_kaliddos攻击_钟良堂的博客-CSDN博客

3.2下载

git clone https://github.com/Elsa-zlt/DDos-Attack

3.3修改配置

        进入文件夹:

        cd DDos-Attack

        修改文件权限

        chmod +x ddos-attack.py

        根据python3和python2特性修改文件,例如print(“”)

3.4启动程序

        Python3 ddos-attack.py

3.5测试

测试拓扑图

 

攻击者发起攻击

 

 

注:此处的Port不是端口号,是线程数,线程数越大攻击效果越好,但是负载越大

受害者网速缓慢,接近断开

4.GoldenEye使用方法

4.0操作系统

Kail 5.10.28

4.1下载方式

下载

wget https://github.com/jseidl/GoldenEye/archive/master.zip

解压

unzip mater.zip

进入安装文件夹

cd GoldenEye-master

4.2启动程序

python3 goldeneye.py <目标IP> [选项]

(PS:这个程序的特点是采用随机IP,不会暴露自己的真实IP)

4.3选项解释

选项

解释

默认值

-u(--useragents)

包含要使用的用户代理的文件

随机生成

-w(--workers)

并发工作的数量

10

-s(--sockets)

并发套接字的数量

500

-m(--method)

HTTP方法,有get,post,random

get

-n(--nosslcheck)

不验证SSL整数

True

-d(--debug)

启动调试模式

false

-h(--help)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值