查看原文
其他

【安全研究】关于挖矿蠕虫Wannamine2.0的研究分析

安全狗 2022-05-30

↑ 点击上方“安全狗”关注我们


Wannamine2.0是利用与 NSA 相关的 EternalBlue (“ 永恒之蓝 ” )漏洞进行传播的加密挖矿蠕虫。尽管该漏洞已曝光许久,但国内仍然有不少公司和机构感染并蒙受损失,并且这类蠕虫病毒不断有新的变种出现,因此我们对该类型的安全问题也极为重视,并进行了追踪研究。


鉴于win32平台的病毒样本研究已有不少文章,因此我们这次分析的是x64系统的版本。



木马概述


Wannamine2.0是wannamine家族的变种。该家族特征是使用NSA泄露的eternalblue漏洞利用工具包+扫描传播模块+挖矿木马,一切未打ms17-010漏洞补丁的机器都将是其目标,对于网络中存在ms17-010漏洞的机器而言,它是不可忽视的安全威胁。


该挖矿木马为了躲避杀毒软件查杀,特地将主控程序加密并放到资源EnrollCertXaml.dll中。样本通过MS17-010(永恒之蓝)漏洞进行传播,其漏洞利用模块是使用的NSA工具包eternalblue和doublepuls,即2017年影子经纪人所公开的NSA工具包,定时和C&C进行连接接受命令和更新模块,主要目的为挖掘门罗币。

下面是该木马传播流程示意图:



这次只详细分析Spoolsv.exe(64位),即

c:\\windows\\SpeechsTracing\\Spoolsv.exe


也许在以后的文章中我们会对其余部分进行更详细的分析。


功能:扫描同网段存活的445端口,并启动两个程序进行攻击。

① 前期准备阶段

② 攻击阶段一:启动svchost.exe > stage1.txt(c:\\windows\\SpeechsTracing\\Microsoft\\svchost.exe )

③ 攻击阶段二:启动spoolsv.exe >stage2.txt(c:\\windows\\SpeechsTracing\\Microsoft\\spoolsv.exe )


详细分析


进入Main函数后,创建互斥量{F5175396-40C2-0218-278D6EE}



此处诸多的CreateThread便是主要的恶意行为了。


1、sub_1400067B0线程

功能:用来查找C:\\windows\\System32\\EnrollCertXaml.dll,若不存在则尝试打开文件夹c:\\windows\\SpeechsTracing\\及其子文件夹

c:\\windows\\SpeechsTracing\\Microsoft,然后退出线程。



若存在,则通过getfilesize获取C:\\windows\\System32\\EnrollCertXaml.dll文件大小,接着分配文件大小内存,读取文件到内存。



接着是释放一系列的子病毒的过程。

首先从C:\Windows\SpeechsTracing\Crypt解压出NSA工具包



释放完毕后,删除C:\Windows\SpeechsTracing\Crypt。随后拼接字符串,找到配置文件svchost.xml与spoolsv.xml,随后将其读入内存。



接着就是查找C:\Windows\SpeechsTracing\Crypt,若C:\Windows\SpeechsTracing\Crypt存在则释放x64.dll和x86.dll。


攻击阶段一

通过createprocess创建cmd.exe /c %s/svchost.exe > stage1.txt,若存在则将输出重定向到文本文件。作为日志记录。


读取配置信息



接着CreateProcessA启动进程



接着由c:\\windows\\SpeechsTracing\\Microsoft\\svchost.exe启动攻击的第一个阶段



Svchost.exe写入回显。


攻击阶段二


根据回显判断是否成功,判断目标靶机的x86/x64架构,若成功则决定启动第二阶段的payload x86/x64.dll对目标进行感染。由于本文暂不分析payload这部分,暂时留白,请关注后续文章



2、sub_14000C8C0线程

功能:连接各个IP,判断是否存活,存活则交给第一个线程进行攻击。如果发现局域网内开放的445端口,就会将相应的IP地址和端口号写入到EternalBlue攻击程序svchost.exe的配置文件svchost.xml中。


函数14000C740进行连接。Ip是从sub_1400B550线程所提供的信息。




线程LOCK指令加锁,最高40个线程并发socket连接




3、sub_14000B550线程

功能:用来获取本机名和同网段IP,通过共享内存将信息交给sub_14000C8C0线程。



判断是否为127开头,是则线程睡眠。不是则继续



加锁然后循环写入ip交给第二个线程进行连接判断存活IP。



4、sub_140009C90线程

功能:连接C2域名,下载内容


拼接字符串得到C2域名,访问其task.attendecr.com:80/tasks目录获取信息。如果有内容会下载下来。


5、sub_140007F10线程

功能:第二次连接C2 task.attendecr.com/status目录或task.attendecr.com:8080端口的/error、/log目录。



线程协同


各线程间使用临界区和自定义的flag对内存进行访问控制,线程之间协同完成攻击。



线程间关系



分析总结


如文章开头所述,未打ms17-010漏洞补丁的设备都将面临这类挖矿蠕虫的安全威胁,换言之,打过该补丁则不会面临此类病毒的威胁。从漏洞公开的2017年3月份到如今2018年6月,已经过去整整十五个月,仍然有各行各业的企业、机构因为ms17-010漏洞不断中招。这显然不是缺乏防御的技术手段,而是企业自身的安全建设和制度存在问题,对安全问题不够重视所致。


从细处着眼,无非是这些原因

1、企业批量使用ghost镜像,但运维人员并不会时常关注并更新相关ghost镜像补丁


2、使用msdn,i itell you站的纯净版镜像,站内所有提供下载的镜像都是很老的版本且并不提供补丁,需要自己去打补丁


3、国内盗版系统盛行,基本不连接微软的补丁更新服务器进行补丁更新


4.手动更新繁琐,缺乏人手专门推进补丁更新的工作,也没有相应的制度来确保补丁的更新


5.许多企业缺乏漏洞管理与运营的平台,缺乏对自己网络内存在漏洞的机器的定位与统计,很容易存在漏网之鱼


6.员工网络安全意识缺乏,企业更是缺乏对员工网络安全意识的培训


解决的方案就蕴含在问题之中,我们真诚地希望企业能够重视起安全问题,不再心存侥幸,安全虽然要付出不小的成本,但它更是一项投资,而不是纯粹的“烧钱”事业。


往期精彩文章:

等保2.0要来了:《网络安全等级保护条例》将发布的启示

【安全研究】一次内网入侵事件的复盘还原

这只队伍进世界杯结局会怎样……

再获优质资质!公安部颁发的等保服务资质证书,了解一下?

800人的信息只卖1元钱:A站数千万用户信息泄露的背后

点赞 | 安全狗成功护航青岛上合峰会!

优!安全狗CNCERT省级支撑单位考核获评优等

《网络安全法》实施后的这一年

【安全研究】一起由tomcat弱口令导致的入侵事件

为小哥哥们打call!这张荣誉证书就是发给他们的
我们发现了OpenCart的两个原创漏洞

各种网络安全新规下,等保到底该怎么做?

她们,是互联网安全的守护者

招聘 | 月上柳梢头,人约……安全狗

“两会”时刻来临:安全狗严阵以待全程护航!

年终特辑 | 祥瑞御免,安全狗年!

最新网络安全全景图发布:安全狗持续保持云安全领先地位

安全狗荣获金砖峰会“安保突出贡献单位“称号

安全狗交卷!我们是金砖会晤最核心的网络安保力量!




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存