概述

和以前的TransparentTribe流程类似(https://www.yuque.com/p1ut0/qtmgyx/gyaf8b),属于新样本,但是没有更新攻击手法。

样本分析

诱饵信息

原始样本为xls文件,样本名称为RAKESH JAYKRISHNA.xls,7月5日从印度上传。
样本MD5:66558073be686a57514dbc72e56fd41c

诱饵文件包含了一段恶意宏代码和一个数据窗体,当受害者打开并启用宏之后,宏代码将会读取窗体中的数据并解码加载。
image.png

窗体中的数据为十进制编码的PE文件二进制流,宏代码读取之后将其转换为byte
image.png

程序将PE文件解码并释放到%ALLUSERSPROFILE%\HDM Media\文件夹下并命名为rdvimainta.exe,最后通过Shell加载该PE。
image.png

rdvimainta.exe

释放的rdvimainta.exe是一个由C#编写的加载器。
程序入口进去的Main函数是一个空壳,真实的恶意代码是OnCreateMainForm函数中实例化类时的构造函数
image.png

Form1的构造函数如下,恶意代码从这里开始执行:
image.png

在Form1_Load函数中调用UnShohrp函数释放新的PE文件
image.png

在UnShohrp函数中,程序首先是硬编码了两个路径并拼接到%application%后面
image.png

接着程序判断%Templates%目录下是否存在wis07和wis08文件,存在则删除。判断是否存在data.zip文件,若不存在则读取_data资源并写入到data.zip中
image.png

接着,程序将data.zip解压到当前目录并删除zip文件
image.png

根据 Environment.OSVersion 返回的版本信息判断后续加载wis07文件还是wis08文件
image.png

获取wis07或wis08的文件流并转换为byte,接着程序用同样的方法判断是否存在hdrmiprcav.zip,若不存在则将刚才转换的数据写入到”C:\ProgramData\Clasic Player\hdrmiprcav.zip” ,接着解压该zip文件到当前目录并删除zip包。最后Process.Start加载释放的hdrmiprcav.exe
image.png

CrimsonRat

解压执行的hdrmiprcav.exe就是TransparentTribe常用的远控组件CrimsonRat。
配置信息中定义了两个ip地址,其中一个是硬编码,一个是以ASCII形式存储。
image.png

CrimsonRat入口代码在Form1_Load函数中,程序会调用core_start函数,在core_start函数中通过计时器的方法循环调用proc_loop函数以发起网络请求
image.png

在网络请求之前,程序会将预定义的main_tp替换为下面main_cons转换出来的值,也就是说上面图中的两个ip,第一个是用于迷惑分析人员的,下面那个才是真实ip,因此该程序请求的真实C2是:
165[.]86.105.43:6588
image.png

如果成功与C2建立连接,则调用process_code函数执行后续功能
image.png

获取服务器返回值
image.png
若服务器返回值不为空,则以 - 符号进行分割
image.png

指令分割之后,程序会在分割出来的指令中插入 字符 ‘7’ 并进入switch case,根据服务器返回值不同执行不同指令
image.png

部分指令功能如下
获取并拼接主机进程信息
image.png

将当前进程设置为开机自启动
image.png

下载文件
image.png

获取桌面屏幕大小
image.png

遍历文件信息
image.png

屏幕截图
image.png

获取磁盘大小
image.png

删除指定文件
image.png

获取文件信息
image.png

遍历文件夹信息
image.png

获取主机基本信息
image.png

执行远程命令
image.png

移动文件
image.png

遍历文件夹下的文件
image.png