免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 网站相关 > 网站安全 > 超强ddos工具SSL DOS攻击测试详解

超强ddos工具SSL DOS攻击测试详解

时间:2011-12-05 10:04来源:未知 整理:寂涯网络 点击:

前言
 
德国黑客组织“The Hacker’s Choice”发布了工具THC SSL DOS,与传统DDoS工具不
同的是,只需要一台执行单一攻击的电脑就能迅速消耗服务器资源,造成服务器拒绝服务。 
这个攻击方式的本质是消耗服务器的CPU资源,在协商加密算法的时候服务器CPU的开销
是客户端的 15 倍左右。而Renegotiating机制让攻击者可以在一个TCP连接中不停的快速重
新协商,如果建立多个连接则服务端的压力更为可怕,而且这种攻击建立的连接数很少导致
难以被察觉。为了深入了解其工作原理及其产生的效果,本文试图通过搭建攻击演示环境来
进行一次模拟演示。
当前国内对于这个拒绝服务攻击的介绍相对较少,但是对于其攻击原理的阐述已经有几
篇高质量文章,本文就相对忽略对其攻击本质的阐述,重点放在服务器搭建以及对如何才能
构成有效攻击,同时触发此攻击。
说明
 
从漏洞形成原因中,我们看到 Renegotiating机制可以让攻击者在一个TCP连接中不停
的快速重新协商,由此可知,我们可以通过禁用Renegotiating机制来实现延缓此类拒绝攻
击。但是其只能相对延缓,仍然不能彻底解决问题。如果通过客户端模拟多次请求连接,则
依然会出现服务器端消耗资源过大的情况。由于德国黑客组织提供的工具THC SSL DOS目前
只针对Renegotiations  Enabled的情况,因此本文就提供如何在常用服务器工具中选择能够
实现Renegotiations Enabled的工具来搭建Https访问环境。根据笔者的搭建测试,发现
IIS6.0、IIS7.0 是默认Renegotiations不启用的,经过用指令(For IIS 6: cscript
adsutil.vbs set \w3svc\0\SSLAlwaysNegoClientCert True)启用后,测试依然失败。
经过多次探索始终没能找出原因,兴许是Windows的特殊机制,导致我在测试过程中发
现该类服务器并不受该攻击工具的影响。笔者转而换Windows2003 搭配集成有Openssl的
Apache服务器进行测试,经过多次测试及查阅漏洞相关资料获知,Openssl 0.9.8L编译后关
闭Renegotiating,而其后一个版本 0.9.8M中则重新启用了Renegotiating但是实现了
Secure Renegotiation。笔者测试后发现,在Openssl 0.9.8.L及其以上版本中测试时提示
同样是ERROR: Target has disabled renegotiations 由此确定Openssl选择0.9.8L以下版
本,对于Apache则无版本要求。
环境搭建
 
经过前番的工作准备,我们开始本次测试之旅
工具设备如下:
Windows2003虚拟机一台
apache_2.2.11_win32_x86_openssl_0.9.8i(是个集成了Openssl的Apache服务器)
thc-ssl-dos-1.4-win-bin(攻击测试工具)
BT4 虚拟机(生成证书用)
Wireshark(抓包分析使用)
搭建流程:安装Apache实现Http访问制作证书实现Https访问 
首先,安装 Apache 服务器,能够实现 Http 访问 ,
apache_2.2.11_win32_x86_openssl_0.9.8i 点击安装即可。装好后可以尝试访
问:http://127.0.0.1则证明可以http访问正常。
其次,加载mod_ssl模块实现Https访问,步骤如下:
1.进入目录C:\Apache\conf(Apache安装在C:\Apache 的情况,其他情况相应改变路
径),修改httpd.conf,
#LoadModule ssl_module modules/mod_ssl.so    LoadModule ssl_module
modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf  Include conf/extra/httpd-ssl.conf
2.进入目录C:\Apache\conf\extra\ 修改httpd-ssl.conf, 
SSLCertificateFile"C:/Apache/conf/server.crt"SSLCertificateFile
"C:/Apache/conf/ssl.crt/server.crt" ,
SSLCertificateKeyFile"C:/Apache/conf/server.key"SSLCertificate KeyFile"C:
/Apache/conf/ssl.crt/server.key"
#SSLCACertificatePath "C:/Apache/conf/ssl.crt"SSLCACertificatePath  
"C:/Apache/conf/ssl.crt"
#SSLCACertificateFile"C:/Apache/conf/ssl.crt/ca-bundle.crt"SSLCACertifica
teFile"C:/Apache/conf/ssl.crt/cacert.pem"
3.在C:\Apache\conf\ 新建文件夹命名为ssl.crt
如果此时尝试重启Apache则会提示报错,通过查看C:\Apache\logs下的error.log可以看到
报错SSLCertificateFile: file 'C:/Apache/conf/ssl.crt/server.crt' does not exist or
is empty这是因为我们的证书文件还没有。
接下来,我们就是生成证书文件,来实现Https访问,一般的Linux系统是集成了Openssl
的,可以直接在Linux系统下制作证书。我制作证书选择的系统是BT4
首先说些概念: 

本页地址 http://www.jybase.net/wangzhananquan/20120320804.html

百度搜索更多

谷歌搜索更多

顶一下
(4)
50%
踩一下
(4)
50%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com