AZORult新变种问世——AZORult++
导语:Kaspersky研究人员近日发现用C++编写的AZORult新变种,AZORult++。
AZORult木马是俄语论坛上买卖最多的信息窃取类木马。虽然其标价很高(100美元),但因其功能强大、性能优良,许多用户留言推荐该木马。
研究人员近日发现一个疑似其C++版本的新变种AZORult++。
概览
AZORult是一款在受感染计算机上收集数据并发送给C2服务器的信息窃取木马,窃取的信息包括浏览器历史、登陆凭证、cookie、C2服务器指定的文件夹中的文件等。它还被用作下载其他恶意软件的加载器。Kaspersky统计数据表明,2019年开始主要被攻击的国家是俄罗斯和印度。
被Azorult攻击的用户地理位置分布图(2019年1月1日-2019年3月18日)
从Delphi到C++
2019年3月初,研究人员发现大量与AZORult相似的恶意文件。与原始恶意软件不同的,它们是用C++编写的,而不是Delphi。两者之间的联系就是开发者留下的代码。
这看起来是将AZORult中的CrydBrox用C++重写了,因此研究人员将该版本命名为AZORult++。因为其中含有到调试文件的路径,因此研究人员认为该恶意软件正在开发中,因为开发者一般都会尽快移除这些的代码。
AZORult++首先通过调用函数GetUserDefaultLangID()来检查language ID。如果AZORult++运行的语言缓解为俄语、亚美尼亚语、阿塞拜疆语、白俄罗斯语、格鲁吉亚语、哈萨克语、塔吉克语、土库曼语或乌兹别语,那么恶意软件就停止运行。
与AZORult 3.3相比,其中没有加载器功能和从浏览器中窃取保存的密码。同事,许多Delphi版本的AZORult 3.3中的签名特征都在AZORult++中,包括与C2服务器通信的算法、命令格式、保存收集的数据的结构和方法,以及加密密钥。
与AZORult 3.3相比,AZORult++使用3字节密钥的XOR操作来加密要发送给C2服务器的数据。
不同版本AZORult使用XOR加密的数据
恶意软件还会收集RAM中的数据,而且不会写入硬驱中来确保恶意行为的隐蔽性。第一个包中发送的数据的比较表明,AZORult++用来识别的字符串比AZORult 3.3要短。
服务器响应中的数据更少。在3.3版本中,响应中含有++++-+–+-形式的命令,指出僵尸主机的配置和下载恶意软件的链接,加上窃取器工作所需的多个二进制文件。木马会对字符串++++-+–+-一个字母一个字母进行分析,特定位置的+表明执行特定动作的命令。AZORult++版本使用的命令更短:
最后的配置字符串也没有正确的处理,代码执行并以依赖于字符串中的+或-,因为字符串会用\x00进行匹配检查。也就是说,最终的命令并不影响窃取器的行为:
在开发者这部分很像有个错误,这再次印证了该恶意软件的开发仍然在初期。
AZORult++
虽然存在这些问题,AZORult++也要比之前版本要危险,因为它可以建立到桌面的远程链接。为此,AZORult++要使用NetUserAdd()函数(AZORult++代码中指定的用户名和密码)创建用户账户,然后将账户添加到管理员组中:
然后,AZORult++会设定Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\Userlist 注册表值为0来隐藏新创建的账户。同样地,通过设置注册表值来允许远程桌面协议(RDP)连接:
其中的恶意行为就是调用ShellExecuteW()来打开建立到桌面的远程连接的端口:
之后,受感染的计算机会接收进入的RDP连接,允许犯罪分子感染来连接受害者的计算机并获取完全控制权。
结论
在开发过程中,AZORult经历了许多功能的增加和变化。尽管存在许多的缺陷和问题,C++版本的威胁和能力也比之前版本要大很多。因为AZORult++仍在开发过程中,研究人员预测未来现版本中存在的问题会进一步解决,其恶意功能也会继续增加。
发表评论