紫狐恶意软件传播,蠕虫式的大规模感染服务器

恶意软件不计其数,但只针对Windows设备的恶意软件,就是在2018年被安全人员发现的紫狐(Purple Fox)恶意软件,主要是通过网络钓鱼电子邮件和漏洞利用工具包进行攻击,还包括了rootkit,让攻击者将恶意软件隐藏于设备中,难以被发现,而近期却出现了令人意想不到的模式进行攻击。

安全公司Guardicore发现紫狐有新感染方式,那就是添加了蠕虫模块,针对可访问互联网,又可在内网通过SMB通信协议互联的计算机,进行账号、密码的暴力破解,之后将恶意程序植入这些计算机。

而攻击者在近2,000台的服务器上存放MSI安装档,据Guardicore分析,这些服务器是用于存放恶意载体的受感染计算机。另一方面,该恶意软件的僵尸网络似乎是由易受攻击且有漏洞的服务器组成,而这些服务器充当蠕虫活动的节点,而它们的公用点在于,大多是执行了IIS 7.5的旧版Windows Server,以及Microsoft FTP。

而关于紫狐渗透感染的过程,从头到尾是如何进行?

首先,紫狐会通过被暴力破解的受感染计算机执行蠕虫攻击,且这些计算机之所以被感染,是因为遭遇网络钓鱼攻击,而且被滥用浏览器的漏洞所致。

接着,如果有设备执行了恶意程序,就会创建新服务,而这些服务会根据一段正规表达式的规则(AC0“0-9”{1}来命名,因此,这些计算机会出现AC01、AC02、AC05等名称的系统服务,并执行一个简单的循环指令,目的是不断反复在这些计算机其中,执行多个包含恶意MSI档的网址,以便把紫狐安装进去。

紧接着,这个在背景执行的恶意MSI安装档,就算将其强制改为显示在屏幕上执行时,会看到它会伪装成微软更新组件,并会显示为含有随机字母及简体中文接口的窗口。而这些随机字母是随机产生的,会根据不同的MSI安装程序,而创建不重复的Hash值,这么一来,也将使同一个MSI档衍生的不同版本,难以产生关联(因为Hash值不同)。

Guardicore认为,这是一个低成本且易于回避多种检测方式(如静态签章验证)的方法。除此之外,他们也发现,这些MSI档虽然有相同的字符串,但带有随机的0值字节(Null bytes),以便产生不同的Hash值。

接下来,将会解开MSI档里面蕴藏的恶意程序,并进行解密,而MSI档包含了3个文件(winupdate64.dll、winupdate32.dll、含rootkit的加密档),但一旦这些文件被解开,就会执行多个Netsh指令,其中一个指令会安装IPv6的网络接口,允许恶意软件针对那些采用IPv6地址的联网设备,执行网络端口扫描的作业,也因为IPv6子网络较不受监控,因此,可让恶意软件散播到更大的范围。

而紫狐部署的最后一步,是加载MSI档里面的rootkit,执行目的是要隐藏多个登录密钥、数值及文件等,而这个rootkit是基于开源软件hidden而开发而成的。

但Guardicore认为,这很讽刺,因为hidden原本的目的,是为了安全人员也能写出rootkit,让恶意软件无法发现安全人员正在进行分析。

一旦系统加载MSI档中的rootkit,安装程序随即就会命令受害者计算机进行重新开机的程序,目的是将恶意软件提供的DLL文件名,改为Windows操作系统的提供的DLL档,然后在系统开机的过程中执行这些DLL档,恶意软件也将跟着启动,随后开始散播,在此同时,恶意软件也会自动产生IP地址范围,并开始针对这些IP地址的445端口进行扫描,由于445端口是SMB协议常用的通信端口,接着,恶意软件会通过SMB暴力破解用户的身份验证。一旦身份验证成功,将会创建新服务,就如同受害者计算机初期感染的状况。

而为了避免重复执行感染作业,紫狐在解开MSI档执行Netsh指令的时候,还会增设Windows防火墙规则,禁止任何互联网的IP地址通过TCP与UDP协议,以及445端口、139端口、135端口来连接受害者计算机。关于此举,Guardicore认为目的是预防计算机又被重复感染,以及被其他攻击者夺取。