在安全领域总能看到新的攻击方式。上个月在比利时的布鲁塞尔举行的CERT-EU 会议上,Volexity介绍了一种攻击者维持持久性访问的方式,他们采用的方法是修改思科无客户端SSL VPNs(Web VPN)的登录页面,这是一种非常新颖的方式。攻击者可以成功在登录页面植入JavaScript代码,从而可以窃取员工的登录凭据来访问公司内部资源。
不同于传统方式,攻击者采用的这种方式对于持久性方面无疑更好。
思科无客户端SSL VPN (Web VPN)
思科无客户端SSL VPN (Web VPN)是一种基于web门户认证的思科自适应安全(Adaptive Security Appliance (ASA))设备。它完全不需要客户端,只需要用户通过浏览器访问。验证Web VPN用户后,它会根据用户权限加载相应插件,用户可以访问内部网络资源,浏览内部文件共享,用户还可以通过telnet,ssh,或者vnc访问内部资源。普通用户的界面应该类似于下图所示:
图示。 思科无客户端 SSL VPN的登录页面
这个页面肯定不是攻击者想要的,然而,Volexity发现了有部分组织在这个页面“受害”。这就引发了一个问题:攻击者是怎么做到的?猜测可能有几种方法:
CVE-2014-3393 Cisco ASA 远程认证绕过漏洞
Volexity早在2014年11月就追踪到对思科VPN登录页面滥用的情况存在。它看起来使用了CVE-2014-3393漏洞,这是思科无客户端SSL VPN门户的一个漏洞。漏洞是由于思科无客户端SSL VPN门户自定义框架对于验证检查的不当实现导致的。攻击者可以通过修改RAMFS缓存文件系统中的自定义对象来利用这个漏洞。该漏洞可导致攻击者绕过身份认证以及修改门户内容。
在之后的Ruxcon2014上,Stuart-Murik进一步做了一篇名为“打破砖块和管道;思科ASA系统就像超级马里奥”的演讲,同时也放出了一个metasploit模块,可以利用该模块进行攻击。
漏洞利用情况
尽管思科发布了补丁,但存在漏洞的组织可能并不会去更新补丁,因此恶意的logon.html就在那里,下图显示了思科VPN登录页面中被加入的JavaScript代码:
图。思科Web VPN中的恶意JavaScript
URL已打码处理,存放1.js的网站服务器是合法的,并且也有有效的SSL证书,所有通信都是加密传输的。1.js的内容实际上是XSS.js,其用途是窃取表单数据。这样,受害的组织进行的登陆行为都会将自己的登录凭据送给攻击者。这一攻击行动似乎影响到全球,Volexity 观察到了以下几个方面受到影响:
医疗行业
智囊团/非政府组织
大学及学术机构
跨国电子/制造
管理方案
理论上攻击者获取到了登录凭据后可以直接修改登录页面获取管理访问权限。实际上 Volexity在之前的几次攻击事件中也发现了攻击者获得安全设备,网络设备和其他重要的信息技术资源的访问权限。攻击者通常可以在受害者所在组织“合法”的安装键盘记录器之类的病毒,从而偷出一些文档,其中包含密码列表,而管理员可能会重复使用同一个密码。因此一旦拥有这些凭据,攻击者就相当于可以在受害者组织内部使用任何管理员或者高特权个人的权限。
Volexity猜测在某些情况下,攻击者为了修改登录页面。他可能会通过思科自适应安全设备管理器(Adaptive Security Device Manager (ASDM)),这是一个Java写的思科防火墙管理页面,可以通过web访问。这个页面应当使用访问控制列表(ACLs)进行严格控制,至少,不要开放到公网上。由于ACL的配置错误,攻击者可以很容易的访问该接口。
组织内部也应当检查VPN设置。为了验证VPN设置,你需要先登录到ASDM,在自定义页面中你可以看到类似于下图的管理界面:
图。 思科Web VPN自定义页面
攻击者要做的就是添加JavaScript或者HTML代码,或者直接上传文件。
以日本政府和高科技企业为目标
Volexity还观察到,其中最具针对性的攻击其目标是日本政府和高科技产业。在这些攻击活动中,很多日本组织的VPN系统被植入恶意JavaScript代码,代码中URL的格式看起来像是博客的形式。
图。 思科Web VPN中的Scanbox
这些攻击链接使用了一个javascript分析和开发框架Scanbox,下面的图片是Scanbox组件加载accounts.nttdocomo.mailsecure.cc后的处理代码:
图。 Scanbox键盘记录器
图。 Keylog和cookie传送URL
上面两张图只是一小段Scanbox键盘记录器代码。在日本政府和高科技产业的VPN系统中的Scanbox代码被用于记录用户的网络访问,这使得攻击者能够实时窃取凭证以及维持访问。Volexity已经在今年6月和JP-CERT进行了情报交流。
另外的主机名和域名
挖掘攻击者控制的mailsecure.cc域名后发现了更多有趣的主机:
account.mhi.co.jp.mailsecure.cc
booking.elinn-kyoto.com.mailsecure.cc
www.jimin.jp.mailsecure.cc
注意后缀cc。cc在日本是很常用的域名。攻击者使用合法的日本域名以使得流量融入合法流量。挖掘mailsecure.cc的whois信息发现了一个邮箱,westlife678s@hotmail.com,这样找出了攻击者持有的其他域名:
域 创建日期 截止日期 电子邮件
googlecontent.cc 2015-04-21 2016-04-21 westlife678s@hotmail.com
googleupmail.com 2014-07-31 2015-07-31 westlife678s@hotmail.com
googleusercontent.cc 2014-12-16 2015-12-16 westlife678s@hotmail.com
govmailserver.com 2014-11-26 2015-11-26 westlife678s@hotmail.com
mailsecure.cc 2015-01-19 2016-01-19 westlife678s@hotmail.com
novartis-it.com 2014-12-16 2015-12-16 westlife678s@hotmail.com
symantecse.com 2014-12-11 2015-12-11 westlife678s@hotmail.com
进一步研究这些域名也发现了有趣的子域名,再一次可以看出,这是针对日本的一次行动:
account.googlecontent.cc
accounts.googlecontent.cc
bak.googleupmail.com
docomo.symantecse.com
image.googleusercontent.cc
ja.googleupmail.com
japanese.symantecse.com
jp.googleupmail.com
jp.govmailserver.com
jpa.googleupmail.com
lh4.googleusercontent.cc
mail.googlecontent.cc
secure.symantecse.com
security.symantecse.com
serves.googlecontent.cc
service.googlecontent.cc
service.googleupmail.com
webmail.nira.or.jp.symantecse.com
www.googleupmail.com
www.govmailserver.com
恶意软件连接:PlugX
另一项跟踪也发现了恶意软件PlugX和它有重叠的回连IP地址:108.61.222.27和 104.207.142.124,下面的主机名并不在上面的列表中,然而基础设施是重叠的:
beservices.googlemanage.com
googleze.googlemanage.com
help.googlemanage.com
help.operaa.net
helpze.operaa.net
microsoft.operaa.net
microsofthy.operaa.net
microsoftno.operaa.net
microsoftoldcl.operaa.net
microsoftze.operaa.net
renkneu.operaa.net
services.googlemanage.com
services.operaa.net
siling.operaa.net
zeservices.googlemanage.com
双因素身份认证(2FA)
双因素身份认证也并不能防止上述攻击方式,如果攻击者想要改掉VPN登录页面的代码,他们需要做的只是两件事之一:
1.窃取会话cookie :已经测试过,可以有两个VPN会话使用相同的cookie,这意味着攻击者可以使用合法用户的会话,而合法用户也不会断开连接。
2.令牌盗取和重用:假设一个用户的2FA使用类似于数字的标记,攻击者可以劫持用户初次尝试验证然后快速重用。然后,攻击者可以设置一个cookie,防止后续被劫持。
结论
攻击者正在继续寻找新的方式来进行可持续访问。任何设备都可能会有类似的风险。因此,当你在网络中排查风险时,特别是发现入侵行为后进行应急响应时,一定要想尽一切办法。