一、简介

随着越来越多的互联网通信使用传输层安全的协议,调查发现使用TLS加密通信的恶意软件数量也在一年内翻了一番。

过去十年,传输层安全一直是互联网通信的隐私和安全的最大贡献者之一。TLS加密协议用于保护越来越多的互联网、消息和应用数据流量的安全。安全的HTTP (HTTPS) web协议、StartTLS电子邮件协议、Tor匿名网络和基于OpenVPN协议的虚拟专用网络都利用TLS来进行加密和封装,保护它们在传输过程中不被窃取或修改。

在大规模互联网监控被揭露之后,TLS的使用已经增长到可以覆盖大部分互联网通信。根据谷歌的浏览器数据,HTTPS的使用已经从2014年的40%增长到2021年3月的98%。

因此,恶意软件运营商为了逃避检测,采用TLS也就不足为奇了。过去一年,使用TLS来隐藏通信的恶意软件急剧增长。2020年,Sophos检测到的通过互联网与远程系统通信的恶意软件中,有23种使用TLS,如今这一比例接近46%。

2021年前三个月的恶意软件通信细目

还有相当一部分TLS通信使用的不是默认的443端口,例如恶意软件使用Tor或SOCKS代理通过非标准端口号。Sophos查询了与443、80和8080以外的端口上恶意互联网通信相关的主机名的证书透明度日志,发现49%的主机拥有由证书颁发机构(CA)颁发的TLS证书。其他手工检查的一小部分使用了自签名证书。

但恶意软件对TLS使用的增长,很大一部分原因是因为使用了合法的网络和云服务,这些服务受到TLS保护,如Discord、Pastebin、Github和谷歌的云服务,它们通常被用来存放恶意软件和被窃取的数据,甚至作为僵尸网络和其他恶意软件的命令和控制服务器。除此之外,还与Tor和其他基于TLS的网络代理的使用增加有关,这些代理用于封装恶意软件与攻击者之间的恶意通信。

2021年前三个月TLS恶意软件“callhome”流量目标细分

从恶意流量占比来看,与谷歌云服务的通信,占恶意TLS通信的9% ,印度的BSNL紧随其后。在2021年3月,使用Cloudflare托管的恶意软件使用量激增,它占当月检测到恶意TLS流量的4%。Sophos 报告了9700多个与恶意软件相关的Discord链接,许多是针对discord的,目标是窃取用户凭证,而另外一些是信息窃取和木马传递。

总体而言,将近一半的恶意TLS通信被发送到了美国和印度的服务器上。

过去一年,TLS在勒索软件攻击中使用的增加,尤其是手动部署的勒索软件,一部分原因是攻击者使用了利用HTTPS的模块化攻击工具。但是,Sophos每天检测到的恶意TLS通信中,绝大多数来自最初的恶意软件:加载程序、卸载程序和基于文档的安装程序会返回受保护的的网页,以检索它们的安装包。

Sophos发现TLS仍然占总流量的2%以上,Sophos将其分类为恶意软件“callhome”,在三个月内,56%的C2服务器(由DNS识别的主机名)恶意软件使用HTTPS和TLS。其中,近四分之一的基础设施位于谷歌的云环境中。

二、意外安装包

恶意软件通信通常分为三类:下载其他的恶意软件,窃取数据,检索或发送指令来触发特定的功能(命令和控制)。所有这些类型的通信都可以利用TLS加密来逃避防御者的检测。但与恶意软件相关的大部分TLS通信都是第一类,发送程序、加载程序和其他恶意软件来感染目标系统,使用TLS逃避基本的有效载荷检查。

在恶意软件中利用TLS的复杂性并不高,因为支持TLS的基础设施可以免费提供恶意软件或代码片段。通常,Droppers程序和加载程序使用合法的网站和云服务内置的TLS支持,以进一步掩盖流量。例如,来自Bladabindi RAT传输器试图从Pastebin页面检索其有效负载。(该页面已不存在。)

试图通过TLS从Pastebin检索第二阶段代码的Bladabini RAT传输器的TLS通信

Sophos的研究人员观察到基于powershell的LockBit勒索软件通过TLS从谷歌文档电子表格以及其他网站获取额外的脚本。此外,还观察到AgentTesla的一个传输器(将在本报告后面讨论)通过TLS访问Pastebin来检索代码块。虽然谷歌和Pastebin通常会迅速关闭其平台上托管的恶意软件文档和站点,但许多C2源在一次垃圾邮件活动后就被抛弃了,攻击者会重新创建新的源来进行下一次攻击。

有时恶意软件会以这种方式在一次攻击中使用多个服务。例如,某个恶意软件,将第二阶段恶意载荷托管在Discord上,第二阶段恶意载荷又通过GitHub下载后续阶段恶意载荷。

从Discord和GitHub捕获的恶意软件数据包

恶意软件下载流量实际上占Sophos观察到的基于TLS的C2流量的大部分。例如,在2021年2月,恶意软件下载流量占了TLS C2流量的90%以上——这个数字与2021年1月至3月期间与类似恶意软件相关的静态C2检测的数据非常吻合。

三、秘密通道

恶意软件运营商可以使用TLS来混淆命令和控制流量。通过发送HTTPS请求或通过基于TLS的代理服务连接,恶意软件可以创建一个反向shell,允许将命令传递给恶意软件,或允许恶意软件检索脚本块或特定功能所需的密钥。命令和控制服务器可以是远程专用的web服务器,也可以基于合法云服务中的一个或多个文档。例如,Lampion银行木马使用谷歌Docs文本文档作为一个密钥的来源来解锁它的一些代码,删除文档就会成为致命开关。通过利用谷歌Docs, Lampion背后的攻击者能够隐藏对恶意软件的控制通信,并通过使用一个可信的主机逃避基于信誉的检测。

(目前此文档已被删除)攻击者利用谷歌文档存放Lampion银行木马的密钥

恶意软件可以利用同样的连接来窃取敏感信息,将用户凭证、密码、cookie和其他收集到的数据传给恶意软件的操作人员。为了隐藏数据窃取,恶意软件可以将其封装在一个基于TLS的HTTPS POST中,或通过TLS连接将其导出到一个云服务API,如Telegram或Discord的“bot”API。

四、SystemBC

攻击者如何恶意使用TLS的一个例子是SystemBC,这是一个多功能的恶意通信工具,在最近的一些勒索软件攻击中被用到。一年前发现的SystemBC的第一个样本,主要是作为一个网络代理,为攻击者创建了一个相当于虚拟专用网络连接的网络,该网络连接基于SOCKS5远程代理连接,使用tls加密,为其他恶意软件提供隐藏的通信。但是恶意软件一直在发展,最近SystemBC的样本是功能更全面的远程访问木马(rat),一旦部署,就为攻击者提供了一个持久的后门。除了充当网络代理之外,SystemBC的最新版本可以发送Windows命令,传递和运行恶意脚本、可执行程序。

然而,SystemBC并非完全隐身。它产生了许多非TLS、非Tor流量。Sophos最近分析的样本有一个TCP“心跳”,SystemBC RAT会通过49630端口连接到硬编码的控制服务器。

第一个TLS连接是对IPify代理的HTTPS请求,IPify是一种API,可用于获取受感染系统的公共IP地址。但是这个请求不是在标准HTTPS端口443上发送的,而是在端口49271上发送的。这种非标准端口的使用是特征的开始。

SystemBC使用TLS和HTTPS连接到IPify以获取系统的公网地址

然后SystemBC尝试获取关于当前Tor网络共识的数据,通过一个HTTP GET请求从端口49272和49273连接到硬编码的IP地址。SystemBC使用这些链接来下载关于当前Tor网络配置的信息。

SystemBC收集Tor网络数据

接下来,SystemBC与Tor网关建立TLS连接。同样,它使用另一个非标准端口:49274。在Sophos分析的样本中,它试图通过标准端口上的一个打开的HTTP请求获取另一个恶意程序。

这个样本下载到的文件henos.exe是另一个后门,它通过标准端口(443)上的TLS连接到一个Telegram频道——这表明SystemBC背后的攻击者正在发展其战术。SystemBC 可能还会继续发展,因为它的开发人员解决了HTTP和TLS的混合使用以及其在某种程度上可预测的非标准端口的问题,这些非标端口很容易导致SystemBC被识别。

五、AgentTesla

与SystemBC一样,agenttesla(信息窃取者),在某些情况下还可以充当RAT。活跃了七年多的AgentTesla最近进行了更新,可以使用Tor匿名网络来隐藏TLS的流量。

AgentTesla在最近的一个下载程序中使用了TLS,因为开发人员使用合法的web服务在Pastebin和一个名为Hastebin的类似服务中存储以base64格式编码的恶意软件块。第一阶段的下载程序进一步试图通过patching Windows的反恶意软件接口(AMSI)来逃避检测,以防止对下载的代码块进行合并和解码时在内存中被检出。

从AgentTesla的安装程序中捕获试图通过TLS连接到Pastebin的数据包

AgentTesla本身的Tor附加内容 可用于隐藏HTTP上的通信。在AgentTesla中还有另一个可选的C2协议,可能是受到TLS保护的Telegram Bot API,使用一个HTTPS服务器来接收消息。然而,AgentTesla的开发者并没有在恶意软件中实现HTTPS通信(至少现在是这样)——它没有执行TLS握手。Telegram接受发送到其bot API的未加密HTTP消息。

六、Dridex

Dridex是另一个长期存在的恶意软件家族。Dridex最初于2011年被发现,主要是一个银行木马,但它已经发生了很大的变化。它可以通过下载的模块加载新功能,其方式类似于Trickbot木马。Dridex模块可能会在受感染的系统中一起下载,或者稍后由主加载器模块检索。每个模块负责执行特定的功能:窃取凭证、窃取浏览器cookie数据或数字证书、记录键盘输入或截屏。

Dridex的加载程序已经更新,以隐藏通信,并使用TLS对其进行封装。它使用端口443上的HTTPS从C2服务器下载其他的模块,并将收集到的数据提取到C2服务器。另外,可以使用RC4对被泄露的数据进行加密,以进一步隐藏和保护数据。Dridex还有一个备用的命令和控制(C2)服务器基础设施,如果原来的C2服务器宕机,可以允许安装的恶意软件故障转移到备份。

这些更新使Dridex成为一个持续的威胁,Dridex是使用TLS通信的最常见的恶意软件家族之一。

七、Metasploit和Cobalt Strike

进攻性安全工具长期以来一直被恶意攻击者和安全专业人员使用。这些商业和开源工具,包括模块化的Cobalt Strike和Metasploit工具包,是为渗透测试和“红队”安全评估而开发的,但它们因其灵活性而受到勒索软件组织的欢迎。

在过去的一年中,使用攻击性安全平台衍生的工具进行手动部署勒索软件的攻击在激增,攻击者使用这些工具来执行脚本,收集网络上其他系统的信息,提取额外的凭据,并传播勒索软件和其他恶意软件。

一份最近被Conti勒索软件攻击的Cobalt Strike配置文件,Cobalt Strike beacon在攻击中使用HTTPS和TLS与C2服务器通信

总的来说,Cobalt Strike beacon和Metasploit“Meterpreter”衍生软件在所有使用TLS检测到的恶意软件中占了1%以上。与其他主要恶意软件家族相比,这个数字相当可观。

八、其他威胁

潜在的有害应用程序(PUAs),特别是在macOS平台上,也利用TLS,通常通过浏览器扩展秘密连接到C2服务器,以获取信息并将内容注入其他web页面。Bundlore使用TLS来隐藏恶意脚本,并将广告和其他内容注入网页,而不被发现。已发现超过89%的macOS威胁与C2通信使用TLS。

除了恶意软件和PUAs之外,TLS通信中还潜伏着许多其他的隐私和安全威胁。钓鱼活动越来越依赖于拥有TLS证书的网站——要么注册了欺骗性域名,要么由云服务提供商提供。谷歌表单钓鱼攻击似乎很容易被发现,但受过“寻找锁定”训练的用户可能会随意输入个人身份数据和凭证。

钓鱼网页案例

九、流量分析

保守估计,与以往相比2020年以来使用TLS的恶意通信,增长率超过100%。

一些人在非标准IP端口上使用TLS,如果没有对其通信进行更深的包分析,就不可能对TLS使用情况进行完全准确的评估。因此,本报告中的统计数据并不能全面反映基于TLS的恶意通信,组织不应该仅仅依靠与通信相关的端口号来识别潜在的恶意通信。TLS可以在任何可分配的IP端口上实现,在初始握手之后,它看起来就像任何其他TCP应用程序通信一样。

最令人担忧的趋势是使用商业云和网络服务作为恶意软件部署、命令和控制的一部分。恶意软件开发者对合法通信平台的滥用使他们获得了谷歌Docs、Discord、Telegram、Pastebin等提供的加密通信的好处,在某些情况下,他们还受益于这些平台的“安全”声誉。

使用现成的攻击性安全工具和其他现成的工具和应用程序编程接口,使得使用基于tls的通信更容易访问的情况在持续增长。让小型组织和个人更容易获得TLS证书和配置HTTPS网站的服务和技术,也让恶意行为者更容易混入合法的互联网通信中,大大减少了频繁转换或复制C2基础设施所需的工作。

所有这些因素使得防范恶意软件攻击变得更加困难。如果没有深入的防御,受害者在发现明显的损害之前,很难提前检出威胁。

参考链接:

Nearly half of malware now use TLS to conceal communications

本文为CNTIC整理,不代表本公众号观点

声明:本文来自国家网络威胁情报共享开放平台,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。