一张图片引发一次完整的应急响应

2020年6月29日-数据的收集和整理

由客户提供的一张带有某域名的图片开始了我本次的分享内容,原始图片如下所示:

经访问发现js.1226bye.xyz:280/v.sct居然还是存活状态,通过js.1226bye.xyz:280/v.sct拿回来一些信息,如下所示:

其中ups.dat是通过js.1226bye.xyz:280得v.sct脚本内容获取,如下所示:

紧接着ups.dat 自启动的压缩文件,用于释放内部文件,文件内容如下所示:

同样的upx.exe也是采用了同样的方法存储了内部的文件,文件内容如下所示:

n.vbs内容相对简单,就是启动位于%temp%目录下的c3.bat,如下所示:

c3.bat就有所不同了,是一个内容非常复杂的处理脚本,从内容上看像一个清理脚本,如下所示:

同时有创建计划任务,名为Mysa和Mysa2等,如下所示:

清理相关计划任务的操作,如下所示:

通过设置自启动来启动后门,下载位于http://js.mys2016.info:280/v1.sct的脚本内容,如下所示:

除此之外还使用wmic下载http://ruisgood.ru域名下的相关文件,如下所示:

通过这一部分内容信息关联到一些其他的下载信息,如下所示:

最后的excludes,查看内容后发现应该是一个挖矿的配置信息,内容如下所示:

此次以上的信息,都是通过一张图片得来,果然搜索引擎的强大不是人脑力所能够比拟的,同时也需要做应急的人员拥有足够敏锐的观察力,要是我以前估计啥都没有。好歹也出来混了一段时间,还是要有点观察力的。(啊哈哈哈,感觉自己逐渐的开始流批了,低调,我要低调。咳咳咳)

到这里基本上就是客户第一天为我提供的全部信息。(tmd,就一张图,而且把客户由于不知道中了啥玩意,被通告修改,不给上外网,居然想着用手机开热点,最后卡成PPT。)

2020年6月30日-日志分析与信息整理

心想着要是今天不给信息,我就搞Denes的后续提取分析了,没想到刚开工一会,就送来一些可能相关的样本,没办法了,样本都送过来了还是瞅瞅吧。

首先有个info和Temp目录,还有一个system目录,一个一个慢慢看。

Info目录下有个msief.exe,和之前发现的ups.dat一样是一个自启动的压缩文件,不过相比之前的c3.bat,这个版本的c3.bat不太那么一样。

这些涉及到的域名不是失效就是文件或目录不存在,如下所示:

紧接着继续看Temp目录下的文件情况,如下所示:

conhosta.exe也是用于释放c3a.bat的,同样的还是看看bat的内容。内容上大同小异,还是有些地方不太一样,如下所示:

将特殊域名本地化,将内容写入到C:\Windows\System32\drivers\etc\hosts文件中,进行本地解析,如下所示:

终于通过c3a.bat里面的power.txt找到一个可用的download.txt,并最终下回来了所有在download中列出来的文件,如下所示:

其中的u.exe 主要功能用于设置DNS,设置的值为223.5.5.5和8.8.8.8,如下所示:

conhost.exe 通过查询到的资料表明,该程序可能是利用了pcshare的源码修改后的程序,主要功能是循环请求C2服务执行更新自身、执行命令、下载“挖矿”软件等。如果第一次运行,会释放一个xpdown.dat文件,位于C:\Program Files\Common Files目录下。

xpdown.dat的内容是一组ip和域名的集合,如下所示:

剩下的几个文件在后面的分析中会提及,这里先不做说明。

最后看下system目录下的文件,开始的时候只有csrs.exe一个程序,经过多方面的处理之后提取出相关的资料,如下所示:

csrs.exe,运行后发现有很多跟python相关的文件,怀疑是python打包的exe。使用工具提取一看,还真是python的。(这里做一个额外的说明,大多数python打包的文件,在执行的时候都会释放一些python相关的文件,可以作为是否是python打包的一个点),如下所示:

通过相关资料和技术手段,修复pyc头部,并最终反编译得到了原始的py文件,是一个明显利用了ms17010的后门程序,如下所示:

通过

https://img.vim-cn.com/ef/5ab12fdf434f480022a89524ef1f6f97f92786.xml的内容继续寻找,还是找到了一些相关联的东西,如下所示:

其中ups.rar为之前提及的u.exe,主要用于设置dns,2.rar和之前的conhosta.exe是同一个文件。所以之前分析的关于conhosta.exe的释放内容完全适用于2.rar。

最后的max.rar具体信息不详,本身被vmp加壳保护,如下所示:

详细信息中提及可能是易语言程序,经过一些资料收集和信息比对后发现,这应该是Mykings中的bootkit程序,用于感染mbr,如下所示:

执行后释放了01.dat和02.dat两个文件,并删除了该文件,如下所示:

在01.dat中发现了一些和反病毒程序相关的信息,如下所示:

通过google搜索js.1226bye.xyz:280,发现很多关于该域名信息,但是最有效的信息还是关于MyKings挖矿,如下所示:

来看一看详细的对比情况,首先是max.exe的sha1的值,如下所示:

分析报告中的sha1的值,如下所示:

发现两者完全一致,通过报告提及的另一个SHA1 of 54df8f078ea7d43b25daea54e4f0a30da530289e

下载回来的max.exe的属性情况与报告中提及的一致,通过报告的描述,发现这个就是bootkit的安装程序了,包括释放的01.dat和02.dat,如下所示:

这些信息就是暗藏在01.dat中,通过寻找终于是发现了这两个网址的信息,如下所示:

同时还有一个TestMsg.tmp和TestMsg64.tmp,用于下载新的文件。由于这里分析的时候没有开启网络连接,所以并没有下载到TestMsg.tmp和TestMsg64.tmp,下图的信息为Mykings中涉及的TestMsg.tmp和TestMsg64.tmp,如下所示:

接下来报告分析了c3.bat文件,有关于SQL的强制攻击情况,也符合给我们讲述有SQL攻击的情况,如下所示:

通过报告的名称,加上之前在一个download.txt中发现的下载文件,尝试使用ok.exe和upsupx.exe居然真的下回来了文件,如下所示:

有意思的是,下载的upsupx.exe居然可以在本次攻击事件中,通过download.txt提及的ip下载回来,和之前分析的文件做对比,并比对sha1发现,upsupx.exe就是conhost.exe,是利用pcshare改版后的后门文件,从ok.exe的图标不难发现和之前的max.exe图标一致,且两者sha1值一样,说明这就是同一个文件,也就是用于bootkit的攻击程序。

报告最后提及了csrs的来源,不过可惜的是,这不适合与这次分析的csrs,从这下载连接中可以发现,csrs不过是被下载回来的一个执行文件,因此还需要找到csrs的来源,才能搞清楚整个事件的来龙去脉,不过可惜了,客户那边没有在提供其他的有效信息了,如下所示:

本次事件中并未发现相关EternalBlue spreader的传播模块,如下所示:

最后再来提一下之前没有说明的两个文件,其中1201.rar是xmrig的挖矿程序,修改文件后缀名,查看属性即可看出该文件的作用,并且修改后缀名后出现了xmrig的图标,因此这就是用来挖矿的程序了,如下所示:

20200510.rar改名为item.dat,同样加壳保护,行为分析时进程直接退出,具体功能暂时不详。(所以说啊,搞样本分析的,尼玛啥都得会点,这不又来个Armadillo的壳,前面还有个VMP的壳,之前是没精力搞下去了,若是之后有机会搞脱壳,还能再继续看看),如下所示:

到此,此次事件的溯源,基本上就到此为止了,更多的写出了我在整个溯源过程中的思路,并一步一步记录了如何去通过相关信息关联到更多的有用信息,详细的Mykings分析报告可参考如下连接。

https://www.sophos.com/en-us/medialibrary/PDFs/technical-papers/sophoslabs-uncut-mykings-report.pdf