作者:hacker 日期:2022-11-06 分类:网站入侵
MDK3 是一款无线DOS 攻击测试工具linux洪水攻击软件,能够发起Beacon Flood、Authentication DoS、Deauthentication/Disassociation Amok 等模式的攻击,另外它还具有针对隐藏ESSID 的暴力探测模式、802.1X 渗透测试、WIDS干扰等功能”。
——虽然这几句话被转了N遍linux洪水攻击软件,但我们还是以这句话开头linux洪水攻击软件;今天就围绕以上提到的几种攻击模式进行简单的折腾下:
首先激活无线网卡至监听模式,然后输入mdk3 --fullhelp查看详细帮助内容
beacon flood mode:
这个模式可以产生大量死亡SSID来充斥无线客户端的无线列表,从而扰乱无线使用者linux洪水攻击软件;我们甚至还可以自定义发送死亡SSID的BSSID和ESSID、加密方式(如wep/wpa2)等。
详细命令如下:
mdk3 mon0 b
-n ssid #自定义ESSID
-f filename #读取ESSID列表文件
-v filename #自定义ESSID和BSSID对应列表文件
-d #自定义为Ad-Hoc模式
-w #自定义为wep模式
-g #54Mbit模式
-t # WPA TKIP encryption
-a #WPA AES encryption
-m #读取数据库的mac地址
-c chan #自定义信道
-s pps #发包速率
mdk3 --help b #查看详细内容
Authentication DoS:
这是一种验证请求攻击模式:在这个模式里,软件自动模拟随机产生的mac向目标AP发起大量验证请求,可以导致AP忙于处理过多的请求而停止对正常连接客户端的响应;这个模式常见的使用是在reaver穷据路由PIN码,当遇到AP被“pin死”时,可以用这个模式来直接让AP停止正常响应,迫使AP主人重启路由!
mdk3 mon0 a
-a ap_mac #测试指定BSSID
-m #使用有效数据库中的客户端mac地址
-c #对应 -a ,不检查是否测试成功
-i ap_mac #对指定BSSID进行智能攻击
-s pps #速率,默认50
Deauthentication/Disassociation Amok:
这个模式看名称就知道大概了:强制解除验证解除连接!在这个模式下,软件会向周围所有可见AP发起循环攻击......可以造成一定范围内的无线网络瘫痪(当然有白名单,黑名单模式),直到手动停止攻击!
mdk3 mon0 d
-w filename #白名单mac地址列表文件
-b filename #黑名单mac地址列表文件
-s pps #速率,这个模式下默认无限制
-c [chan,chan,chan,...] #信道,可以多填,如 2,4,5,1
Basic probing and ESSID Bruteforce mode:
基本探测AP信息和ESSID猜解模式
mdk3 mon0 p
-e ssid #待检测的ssid
-f filename #检测AP设置为隐藏的ssid列表文件
-t bssid #用bssid检测AP的信息
-s pps #速率,默认300
-b character set #设置字符集
802.1X tests:
802.1X 协议下的攻击测试
mdk3 mon0 x
0 - EAPOL Start packet flooding #EAPOL格式的报文洪水攻击
-n ssid
-t bssid #目标客户端的mac地址
-w WPA type
Set WPA type (1: WPA, 2: WPA2/RSN; default: WPA)
-u unicast cipher
Set unicast cipher type (1: TKIP, 2: CCMP; default: TKIP)
-m multicast cipher
Set multicast cipher type (1: TKIP, 2: CCMP; default: TKIP)
-s pps #速率,默认400
1 - EAPOL Logoff test #注销认证攻击
-t bssid #目标客户端的mac地址
-c bssid #目标ap的合法客户端mac
-s pps #速率,默认400
SYN洪水攻击 原理
SYN攻击
最近对SYN Flood特别感兴趣,看到一个关于SYN cookie firewall的文章,在google搜了一下,没中文的,翻译他一下
本文介绍了4个概念
一:介绍SYN
二:什么是SYN洪水攻击
三:什么是SYN cookie
四:什么是SYN cookie防火墙
C=client(客户器)
S=Server(服务器)
FW=Firewall(防火墙)
一:介绍SYN
SYN cookie是一个防止SYN洪水攻击技术。他由D. J. Bernstein和Eric Schenk发明。现在SYN COOKIE已经是linux内核的一部分了(我插一句
,默认的stat是no),但是在linux系统的执行过程中它只保护linux系统。我们这里只是说创建一个linux防火墙,他可以为整个网络和所有的网
络操作系统提供SYN COOKIE保护你可以用这个防火墙来阻断半开放式tcp连接,所以这个受保护的系统不会进入半开放状态(TCP_SYN_RECV)。当
连接完全建立的时候,客户机到服务器的连接要通过防火墙来中转完成。
二:什么是SYN洪水攻击?(来自CERT的警告)
当一个系统(我们叫他客户端)尝试和一个提供了服务的系统(服务器)建立TCP连接,C和服务端会交换一系列报文。
这种连接技术广泛的应用在各种TCP连接中,例如telnet,Web,email,等等。
首先是C发送一个SYN报文给服务端,然后这个服务端发送一个SYN-ACK包以回应C,接着,C就返回一个ACK包来实现一次完
整的TCP连接。就这样,C到服务端的连接就建立了,这时C和服务端就可以互相交换数据了。下面是上文的图片说明:)
Client Server
------ ------
SYN--------------------
--------------------SYN-ACK
ACK--------------------
Client and server can now
send service-specific data
在S返回一个确认的SYN-ACK包的时候有个潜在的弊端,他可能不会接到C回应的ACK包。这个也就是所谓的半开放连接,S需要
耗费一定的数量的系统内存来等待这个未决的连接,虽然这个数量是受限的,但是恶意者可以通过创建很多的半开放式连接来发动SYN洪水攻击 。
通过ip欺骗可以很容易的实现半开放连接。攻击者发送SYN包给受害者系统,这个看起来是合法的,但事实上所谓的C根本不会回应这个 。
SYN-ACK报文,这意味着受害者将永远不会接到ACK报文。
而此时,半开放连接将最终耗用受害者所有的系统资源,受害者将不能再接收任何其他的请求。通常等待ACK返回包有超时限制,所以半开放 。
连接将最终超时,而受害者系统也会自动修复。虽然这样,但是在受害者系统修复之前,攻击者可以很容易的一直发送虚假的SYN请求包来持续
攻击。
在大多数情况下,受害者几乎不能接受任何其他的请求,但是这种攻击不会影响到已经存在的进站或者是出站连接。虽然这样,受害者系统
还是可能耗尽系统资源,以导致其他种种问题。
攻击系统的位置几乎是不可确认的,因为SYN包中的源地址多数都是虚假的。当SYN包到达受害者系统的时候,没有办法找到他的真实地址
,因为在基于源地址的数据包传输中,源ip过滤是唯一可以验证数据包源的方法。
三:什么是SYN cookie?
SYN cookie就是用一个cookie来响应TCP SYN请求的TCP实现,根据上面的描述,在正常的TCP实现中,当S接收到一个SYN数据包,他返回
一个SYN-ACK包来应答,然后进入TCP-SYN-RECV(半开放连接)状态来等待最后返回的ACK包。S用一个数据空间来描述所有未决的连接,
然而这个数据空间的大小是有限的,所以攻击者将塞满这个空间。
在TCP SYN COOKIE的执行过程中,当S接收到一个SYN包的时候,他返回一个SYN-ACK包,这个数据包的ACK序列号是经过加密的,也就
是说,它由源地址,端口源次序,目标地址,目标端口和一个加密种子计算得出。然后S释放所有的状态。如果一个ACK包从C返回,
S将重新计算它来判断它是不是上个SYN-ACK的返回包。如果这样,S就可以直接进入TCP连接状态并打开连接。这样,S就可以
避免守侯半开放连接了。
以上只是SYN COOKIE的基本思路,它在应用过程中仍然有许多技巧。请在前几年的kernel邮件列表查看archive of discussions的相关详细
内容。
4,什么是SYN COOKIE 防火墙
SYN COOKIE 防火墙是SYN cookie的一个扩展,SYN cookie是建立在TCP堆栈上的,他为linux操作系统提供保护。SYN cookie防火墙是linux的
一大特色,你可以使用一个防火墙来保护你的网络以避免遭受SYN洪水攻击。
下面是SYN cookie防火墙的原理
client firewall server
------ ---------- ------
1. SYN----------- - - - - - - - - - -
2. ------------SYN-ACK(cookie)
3. ACK----------- - - - - - - - - - -
4. - - - - - - -SYN---------------
5. - - - - - - - - - ------------SYN-ACK
6. - - - - - - -ACK---------------
7. ----------- relay the -------
----------- connection -------
1:一个SYN包从C发送到S
2:防火墙在这里扮演了S的角色来回应一个带SYN cookie的SYN-ACK包给C
3:C发送ACK包,接着防火墙和C的连接就建立了。
4:防火墙这个时候扮演C的角色发送一个SYN给S
5:S返回一个SYN给C
6:防火墙扮演C发送一个ACK确认包给S,这个时候防火墙和S的连接也就建立了
7:防火墙转发C和S间的数据
如果系统遭受SYN Flood,那么第三步就不会有,而且无论在防火墙还是S都不会收到相应在第一步的SYN包,所以我们就击退了这次SYN洪水攻 击。
#最关键参数,默认为5,修改为0 表示不要重发
net.ipv4.tcp_synack_retries = 0
#半连接队列长度
net.ipv4.tcp_max_syn_backlog = 200000
#系统允许的文件句柄的最大数目,因为连接需要占用文件句柄
fs.file-max = 819200
#用来应对突发的大并发connect 请求
net.core.somaxconn = 65536
#最大的TCP 数据接收缓冲(字节)
net.core.rmem_max = 1024123000
#最大的TCP 数据发送缓冲(字节)
net.core.wmem_max = 16777216
#网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog = 165536
#本机主动连接其他机器时的端口分配范围
net.ipv4.ip_local_port_range = 10000 65535
为了处理大量连接,还需改大另一个参数:
# vi /etc/security/limits.conf
在底下添加一行表示允许每个用户都最大可打开409600个文件句柄(包括连接):
* – nofile 409600
已有5位网友发表了看法:
访客 评论于 [2022-11-07 00:22:30] 回复
- 7. ----------- relay the ------- ----------- connection ------- 1:一个SYN包从C发送到S 2:防火墙在这里扮演了S的角色
访客 评论于 [2022-11-06 17:11:09] 回复
一个扩展,SYN cookie是建立在TCP堆栈上的,他为linux操作系统提供保护。SYN cookie防火墙是linux的 一大特色,你可以使用一个防火墙来保护你的网络以避免遭受SYN洪水攻击。 下面是SYN cookie防火墙的原理 client firewall server -
访客 评论于 [2022-11-06 17:29:58] 回复
待检测的ssid -f filename #检测AP设置为隐藏的ssid列表文件 -t bssid #用bssid检测AP的信息
访客 评论于 [2022-11-06 16:51:47] 回复
ct 请求net.core.somaxconn = 65536#最大的TCP 数据接收缓冲(字节)net.core.rmem_max = 1024123000#最大的TCP 数据发送缓冲(字节)net.core.wmem_m
访客 评论于 [2022-11-06 20:48:23] 回复
ux洪水攻击软件;我们甚至还可以自定义发送死亡SSID的BSSID和ESSID、加密方式(如wep/wpa2)等。详细命令如下:mdk3 mon0 b -n ssid #自定义ESSID -