文章查看

当前位置 :主页 > 联系我们 >
基于区块链域名的僵尸网络病毒分析
* 来源 :http://www.awp-window.com * 发表时间 : 2018-06-26 15:06 * 浏览 :

  近日,服安全云脑病毒流量分析团队捕获了一批病毒样本,这些样本结合了区块链,通过特定的DNS服务器对C&C服务器地址进行解析,解析出C&C地址后再与其进行通信,这些样本是僵尸网络样本,可是由于C&C服务器的域名是.bit域名,所以该僵尸网络无法被关闭,危害巨大。

  近年来,区块链、比特币、比特币域名越来越火,根据统计,对相关词语的关注程度从2015年起越来越多:

  简单来说,区块链是一个分类账,其中记录了所有交易记录。具体而言,它是去中心化(分布式)数据库,每个记录称为一个块,包含一个时间戳和到前一个块链接。这意味着一旦被记录,数据就不能在不改变后续块的情况下被追溯和更改。因此,它是一个数据库,它并不需要任何权威的组织或者机构其可靠性。区块链概念是加密货币的基础。但区块链可以用于许多其他应用程序。

  域名系统(DNS)是从上世纪80年代开始的技术,它的核心功能是将域名和URL解析成IP,这样可以让IP地址便于阅读和记忆。

  DNS是分层结构的。当您在浏览器中输入某个域名()时,提供商的解析器会首先咨询其中一个DNS根服务器。它回复:“我没有com,请尝试X”,然后为com提供名称服务器列表。然后解析器会问他们同样的问题,直到其中一个人回复它有并且将请求引用到正确的服务器。目前的DNS系统存在。例如,某个国家的可能会要求该国的所有互联网服务提供商停止将某些域名重定向到相关的IP地址。

  基于区块链的域名服务器的使用可以抵制地方的监管。此外,可以避免的“缓存中毒”(cache poisoning)或DNS(DNS spoofing)。最近各种基于区块链的DNS服务相继出来,主要有Ethereum Name Service, Namecoin, Blockstack。实验表明,区块链是向服务器分发名称数据的好方法。因为区块链是点对点的,并且不需要中央服务器,而这些中央服务器可以被当地或灾闭。此外,区块链了域名服务器的可用性,而传统的DNS并非如此。域名服务器日益成为黑客的目标。当他们被时,它们所解析的网站将无法正常访问。

  本文所涉及的病毒正是用区块链域名服务器进行解析然后通信的。域名以.bit结尾,基于Namecoin。Namecoin是一种基于区块链的加密货币,通过.bit域名注册和管理。域名注册和个人信息无关。由于Namecoin是分散式的,没有中央机构管理,所以用Namecoin注册的域名不会被劫持或者关闭,由于上述的匿名性,越来越多的犯罪利用Namecoin构建僵尸网络并将C&C服务器放在.bit域名上,该域名无法被监管,所以该僵尸网络无法被关闭,危害巨大。

  程序进行了多层加密,如下图所示,原程序在栈中出解密程序,然后跳入栈中执行解密程序,解密程序在堆中并解密出PE文件,然后进入该PE文件中执行,该PE文件会更改原程序的PE头和.text段,然后运行新程序,新程序会将最终的包含恶意代码的文件解密、创建、写入到%AppData%目录下,然后新建进程运行,运行后再将程序删除。

  该程序是通过.bit域名访问C&C服务器的,而访问.bit域名的常用方法有:

  而这些方式都需要第三方的DNS服务器,而该样本则是将DNS服务器地址写到了程序中,通过访问这些DNS服务器,解析目标域名得到目标IP,从而进行通信。

  程序会首先进行解密,将解密后的程序放入栈中,然后跳到栈中执行关键代码。首先会用VirtualAlloc分配0x165B2个字节的可读可写可执行的空间。

  跳入刚才分配的地址空间,发现这一段也用VirtualAlloc在开辟内存:

  然后程序会将自身(00400000开始的内存)设置为可读可写可执行,然后修改自身。

  Process Monitor检测到在Roaming文件夹成了文件jevgr.exe,然后启动进程jevgr.exe。这个进程还会再次启动自己,启动后将自己删除:

  用wireshark截包也可以发现,程序先往8.8.8.8和8.8.4.4请求域名,发现解析不到,然后向求该域名,成功解析到IP:

  域名解析成功后,会以HTTP的方式进行CC通信,通信URL一直保持不变。

  很明显,将本地的信息发送给CC服务器。其中sincoder-pc正是我们跑沙箱的虚拟机机器名。

  这些下载动作也会反馈给CC服务器,如下图所示,其中POST的内容解码后为: