美文网首页
分析 最后编辑于 2019-07-19

分析 最后编辑于 2019-07-19

作者: O_ZERO | 来源:发表于2019-06-27 23:17 被阅读0次

一、基本信息

文件名                    sample.exe

壳与编译信息        Microsoft Visual C++ 8 [Overlay] *

文件大小                264201 字节

文件类型                 PE32 executable (GUI) Intel 80386, for MS Windows

MD5                        823cac301b8ee8e8926f9b0ace21ecbc

SHA1                       548ad5abffdece69db295723b26115d344ab9e18

SHA2                       569acc101dfc672ae44a9f1a68dce60c6f1406ecc32f683c28471a0ef6489fc6dc


  二、  分析环境与工具

环境:VMware   WinXP (x64)

工具:火绒剑、IDA、吾爱OD、process、PEID、pexplorer、smsniff、regsnap、hex wrokshop


三、基础静态分析

查壳 收集可疑字符串 收集敏感API

三、基础动态分析

开好各种监视程序。运行样本。

注册表方面收获 火绒剑收获

   运行了一遍样本后,监测到了一些样本的行为,注册表变化,以及恶意行为,重启计算机后,计算机处于屏保状态,鼠标无法进行有效操作,锁定了壁纸,开启任务管理器后发现样本创建的文件在运行,关掉后计算机正常。

三、深入分析


原样本

   原样本入口位置

原样本中含有着大量的无意义函数,进行混淆消磨分析者的耐心

唯一有价值的信息就是申请看一块内存 加载自身的解密函数向这块内存中写入数据

写入相关的解密完成的数据后,随后样本清除自身内存数据将解密出来的PE数据填充到自身内存中运行

加载解密函数指向样本内存在加载解密数据后,样本重新加载了动态链接库

随后继续申请了一块内存 大小为26e00

向其中填充出一段PE数据,我们把它dump下来保存为PE.dll 以便分析

清除自身PE数据,随后依次将之前dump下来的PE文件pe头.text .rdata 等段依次复制过去,复制完后运行这段PE数据。

dump下来的PE.dll


我们照dll的大致运行步骤开始分析吧

入口点:

先是判断是否成功的将数据加载到内存

加载kerne132.dll  ,

加载完相关动态链接库后,预处理完后,进入到主函数  4013f5()

获得系统位数

判断完系统位数后其主要需要注意的行为有

创建了一个线程

在这个线程里又创建了一个线程,获取了相关屏保设置,以及壁纸路径,导致重启后屏保情况

接下来利用IDA与OD同时进行分析dll的相关动作,发现了关键动作利用VirtualProtect函数申请了一块空间写入了核心dll

dump下这块内存的数据命名为 PE2.dll

核心dll分析


        一开始便创建一个线程

要获得的敏感信息定义

之后还获取了用户,计算机名,盘符,通过一些注册表键值获得虚拟机配置,以及CPU等信息转换成字符进行拼接 以及获取Windows目录,卷值

此外还发现有函数在枚举一些相关进程如果发现该下进程,变终止线程,经百度发现这些都是杀毒程序

申请下一部分内存,进行将获得的信息进行字符拼接,并创建互斥体防止多开

获得到的一些敏感信息

随后从内存中的字符中随机出一个字符串

将原样本进行映射到一个文件夹并以这个字符串命名,并注册表设置开机自启

随后在进行了相关文件操作之后,随之的是进行大量进程的枚举,

如果运行的进程中含有如上程序,就将其关闭

随后的函数中意外发现,有个ransom_id字符,(不懂百度,ransom:交付赎金···  所以说这是一个勒索样本?),获得的ransam信息存入{USERID}中

随后还拼接出来一个网址

ping后,发现网站已经无响应,ip眼熟的很,见上文网络状态捕捉

紧随其后分别申请了两份空间用来存放密钥

网络行为


利用nslookup.exe 程序执行相关命令,向指定某个网站发送数据

网络抓包发现还是这个ip,同时百度发现(.ru)后缀网站大多属于俄罗斯

持续不断的向目标服务器上发送数据,但当前此服务器已经停止使用,无法解析就进入死循环

之后访问 ip查询网址,获得公网IP

构建请求头

由于前面的无法解析目标服务器,会导致死循环,火绒剑能一直监控到nslookup.exe一直在不断访问目标服务器,虽然我有强行修改标志位,让其跳出循环,虽然跳出来了,但........仍旧跑飞,试了很多方法,也换了虚拟机,还是一直跑飞,没有什么好办法

就很怀疑是刚跳出函数跳出来的这几行导致

所以下面的只能凭IDA静态分析了。


文件加密


获取盘符来判断是否要进行加密,如果主机是是可移动型,或是硬盘,ram类型的就创建线程,检索文件的路径进行加密文件

获取了了一些特殊文件夹,这些文件夹的用处都是能确定系统正常运行的文件夹,应该是过滤了这些特殊文件夹的文件,以免干扰系统正常运作

此外还进行判断文件后缀是否是.sql文件

还将获得的文件路径进行比较,是否存在以下的配置文件

最后终于进入到了加密函数

其过程大致如下:

总结一波:

有些地方样本操作,可能没有详细的讲到位,或者是没提到,分析不出所以然来(经验少,见识少,知识不够·····)

文件加密部分实在是难受啊.......能动态分析就不会这么草草了解啊。。虽然也可能什么所以然也分析不出,还是有点遗憾。

相关文章

网友评论

      本文标题:分析 最后编辑于 2019-07-19

      本文链接:https://www.haomeiwen.com/subject/mrudcctx.html