【作者投稿】SOCKSTRESS攻击原理与防御

SockStress攻击正好与Syn-Flood攻击原理相悖,它正是利用建立TCP/IP三次握手连接来实现拒绝服务攻击,而且与Syn-Flood不同它并非通过耗尽服务器的TCP连接数来让正常用户的正常请求无法响应,而是直接耗尽服务端的内存、CPU等资源让受害者宕机,属于非对称的资源消耗攻击,这种攻击方式的危害性极大,而且一旦遭受分布式攻击是几乎不能被抵御的。

0x01. SOCKSTRESS攻击原理


上篇文章已经给大家介绍过TCP/IP的握手过程了,所以这里就只讲一下SOCKSTRESS的攻击原理。

1.首先,攻击者大量请求建立三次握手连接

2.成功建立ESTABLISHED之后,攻击者会将数据包中window的值置为0(window的意思代表client这边一次可以接受的数据大小,置为0之后表示client没有window来接受server发来的数据,然后server就会分配内存来维持TCP连接直到client有空闲的window与之通信),然而攻击者可不会维持什么连接,他只会不断的请求TCP连接耗尽server的资源

3.当server这端维持连接达到一定数量之后,内存、CPU甚至是SWAP分区都会被耗尽,系统命令不能正常执行,想要恢复server唯一的办法就是断网

[*]下面是attacker发向server的一个ACK包,window被置为了0

0x02. SOCKSTRESS攻击实战


这次的实战步骤比较简单,但是危害巨大,笔者会用自己的靶机演示,大家不要去攻击网络上的任何服务器。

环境准备:

SOCKSTRESS攻击脚本 kali linux metasploit靶机 IP=192.168.1.104

攻击流程:

1.下载Github上面的SOCKSTRESS攻击脚本并安装

git clone https://github.com/defuse/sockstress && cd sockstress/ && make

2.设置防火墙规则,过滤发送给server的REST包(不过滤的话server就会断开连接)

iptables -A OUTPUT -p TCP --tcp-flags rst rst -d xx.xx.xx.xx -j DROP

3.运行SOCKSTRESS攻击脚本,攻击靶机的80端口

./sockstress xx.xx.xx.xx:80 eth0 -p payloads/http -d 100

4.查看一下靶机可以看到内存和CPU已经被耗得差不多了,靶机的web服务已经访问不了,如果再多攻击一会可能就直接宕机

0x03. 防御措施


对于SOCKSTRESS这种攻击方式我们可以设置防火墙规则,限制server在一定时间内与同一个IP建立TCP连接的数量,这样即使有大量的连接发过来也不会对server有太大的影响,但是这仅限于DoS,如果是DDoS的话那么就只有升级server的性能了。

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

可以看到由于我们设置了防火墙规则,一台kali对靶机的攻击效果微乎其微(因为30秒内server只与kali建立10个TCP连接),但是如果是DDoS那么结果也是可想而知。

0x04. 结语


不太懂安全的人会认为发布攻击方法是在破坏互联网的稳定性,但这实在是片面的态度,理解攻击原理才是防御攻击最好的方式。让笔者最后再引用一句SOCKSTRESS作者的话:Pretending a problem doesn't exist won't make it go away.

原文发布于微信公众号 - 信安之路(xazlsec)

原文发表时间:2017-09-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

无线宝宝wifi热点共享软件刷流量行为分析

近日,腾讯反病毒实验室截获到了大量通过传入特殊参数实现刷流量行为的恶意程序,经过回溯发现,这些恶意程序均是由某wifi热点共享软件下载并解密运行进行传播,感染量...

2388
来自专栏FreeBuf

你的Outlook真的安全?一条恶意规则远程攻陷你的工作站!

背景 当前,构建恶意Outlook规则的限制条件都比较苛刻,至少需要访问被入侵系统的交互GUI,或者拥有登录凭证,而且还要求攻击方直接与Exchange服务器进...

3687
来自专栏信安之路

Linux 应急响应流程及实战演练

当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵...

7983
来自专栏pythonlove

DNS服务器的基础应用及主从同步

域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互...

2112
来自专栏云知识学习

Linux服务器被入侵和删除木马程序过程

然后进入另一个ps的目录,看到有如下几个命令,然后我有查询了一下系统的这几个命令,发现都变得很大,都达到了1.2M,这些系统命令文件肯定是都被替换了。

1K13
来自专栏阿北的知识分享

浅谈csrf攻击以及yii2对其的防范措施

今天北哥就给大家普及下csrf是啥?如果你已经知道了可以直接拉文章到底部点个赞。:smile:

2016
来自专栏逸鹏说道

某厂2016实习招聘安全技术试题答案及解析

0×00 前言 鉴于曾经做过某厂招聘-安全技术笔试题目,故留此一记,以作怀念。 此外,网上也有公布的相关的答案,但是其中有些题目稍有错误或者解释不全,当然我也有...

1.4K4
来自专栏小白安全

web渗透思路及总结

(一)针对网站程序,不考虑服务器。 一、查找注入,注意数据库用户权限和站库是否同服。 二、查找XSS,最近盲打很流行,不管怎样我们的目的是进入后台。...

8227
来自专栏魏艾斯博客www.vpsss.net

FTP 软件使用教程

4555
来自专栏云计算教程系列

使用PSAD检测CVM入侵

网络入侵检测的应用程序可以监控可疑流量并测试安全漏洞的网络接口。在本文中,我们将配置一个名为psad工具来监控我们的防火墙日志,并确定是否有问题。

3025

扫码关注云+社区

领取腾讯云代金券