一、基本信息
文件名 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
三、基础静态分析
三、基础动态分析
开好各种监视程序。运行样本。
运行了一遍样本后,监测到了一些样本的行为,注册表变化,以及恶意行为,重启计算机后,计算机处于屏保状态,鼠标无法进行有效操作,锁定了壁纸,开启任务管理器后发现样本创建的文件在运行,关掉后计算机正常。
三、深入分析
原样本
原样本入口位置
原样本中含有着大量的无意义函数,进行混淆消磨分析者的耐心
写入相关的解密完成的数据后,随后样本清除自身内存数据将解密出来的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文件
还将获得的文件路径进行比较,是否存在以下的配置文件
最后终于进入到了加密函数
其过程大致如下:
总结一波:
有些地方样本操作,可能没有详细的讲到位,或者是没提到,分析不出所以然来(经验少,见识少,知识不够·····)
文件加密部分实在是难受啊.......能动态分析就不会这么草草了解啊。。虽然也可能什么所以然也分析不出,还是有点遗憾。