freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

CoinMiner挖矿病毒分析
FreeBuf_315384 2018-11-22 10:00:34 1030817

*本文作者: findream ,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

前言

偶然在论坛上看到一篇关于CoinMiner介绍,文章从该病毒的流行趋势,入侵路径,关联分析等多个角度对病毒进行的分析,对样本的分析寥寥几句就概括完了。想到之前分析的多为勒索类病毒,对于挖矿类病毒研究较少。故斗胆尝试小小分析一次,如有不到之处望师傅们指教。

一、样本信息

1、样本名称:antspywares.exe

2、样本md5:3846b42b7ac29f8f92f6222230207cb5

3、是否加壳:无壳

4、编译语言:Microsoft Visual C++ ver. ~6.0~7.10 - Linker 14 - Visual 2015

5、样本来源:http://93.174.93.149/

二、行为分析

样本在技术上有所创新,首先没有直接使用Kernel32下的API函数,而是利用Knowdlls注册表优先在家Ntdll,然后获取其中的Nt*函数。第二,使用了进程替换技术,利用svchost.exe这一宿主进程,去启动挖矿进程,这样有效避免的被查杀的风险。但是实际操作中没有有效控制CPU的占用率,导致了被害者很容易觉察到。

行为分析

三、样本分析

1、程序在执行了初始化操作后,创建了一个名为4e064bee1f3860fd606a的互斥体,这一步目的是保证程序在此主机上是唯一的。如果检测到已存在次互斥体,程序退出。

样本分析

2、通过异或运算,解密得到配置文件地址,通过访问配置文件,我们可以看到钱包地址,矿池等相关配置信息。

样本分析

样本分析

样本分析

3、再次通过相同的异或运算得到钱包地址,矿池地址pool.monero.hashvault.pro:3333

样本分析

样本分析

样本分析

样本分析

4、对病毒文件进行Hash加密

初始化CSP;

创建空的Hash对象;

将文件读入内存;

将读入数据添加到指定Hash对象。

对病毒文件进行Hash加密

对病毒文件进行Hash加密

5、根据之前获得的系统位数(32位or64位)分别利用注册表KnownDlls32或者KnowDlls注册表项加载ntdll.dll,然后通过GetProcAddress函数获取指定函数地址。这样一来可以直接用Nt*函数,不需要Kernel32分发,也增大了分析人员分析的难度。

直接用Nt*函数,不需要Kernel32分发

直接用Nt*函数,不需要Kernel32分发

6、通过注册表\\SOFTWARE\\Microsoft\\Cryptography获取主机GUID值,目的是唯一的标志主机,在理论上GUID是每台主机唯一拥有的。也就是说每台主机的GUID值是不一样的。

获取主机GUID值

获取主机GUID值

获取主机GUID值

获取主机GUID值

7、创建病毒释放目录:

创建病毒释放目录

创建病毒释放目录

8、从网络中读取配置信息,可以发现这里的数据和前面的new.txt是一致的:

从网络中读取配置信息

从网络中读取配置信息

从网络中读取配置信息

9、判断svchost和wuapp.exe是否存在,这两个文件是系统文件,svchost是服务宿主程序,wuapp用于windows的更新,检查这两个程序存在的目的是为了后期利用这两个程序创建挖矿进程。

判断svchost和wuapp.exe是否存在

10、创建两个配置文件

创建两个配置文件

11、在启动目录下创建HpuEtzbXyw.url文件,用于自启动。

创建HpuEtzbXyw.url文件

12、创建挖矿进程,这里使用了进程替换技术。首先将代码跨进程写入svchost.exe中,然后通过sysenter汇编关键字resume。

创建挖矿进程

创建挖矿进程

创建挖矿进程

创建挖矿进程

四、溯源分析

根据管家团队的分析显示8220团队使用多个C&C服务器,这样可以有效的避免被检测到。一下是8220团队使用到的C&C服务器。

159.65.155.17

93.174.93.149

198.50.179.109

193.169.252.253

192.99.142.235

同时样本中使用到的矿池地址是pool.monero.hashvault.pro:3333发现和其他厂商团队所报告的不符,可能是团队修改了其中的矿池。

溯源分析

*本文作者:findream,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

# CoinMiner # 挖矿病毒
本文为 FreeBuf_315384 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
恶意代码分析专栏
FreeBuf_315384 LV.1
这家伙太懒了,还未填写个人描述!
  • 1 文章数
  • 2 关注者
文章目录