设为首页收藏本站 开启辅助访问
搜索
    查看: 1178|回复: 0

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

    [复制链接]
    发表于 2018-7-2 16:54:57 | 显示全部楼层 |阅读模式
    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.员工网络安全意识缺乏,企业更是缺乏对员工网络安全意识的培训
    解决的方案就蕴含在问题之中,我们真诚地希望企业能够重视起安全问题,不再心存侥幸,安全虽然要付出不小的成本,但它更是一项投资,而不是纯粹的“烧钱”事业。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|手机版|安全狗论坛-汇聚安全的力量 ( 闽ICP备14014139号-1  

    GMT+8, 2018-7-22 07:00 , Processed in 0.093997 second(s), 30 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表