研究人员之前已经对GandCrab及其变种进行了分析。近期,研究人员又发现新的GandCrab样本协木马恶意软件出现。最新的GandCrab样本并不依赖PowerShell进行加密。在该变种中,PowerShell主要用于传播第一阶段恶意软件到终端用户。除此之外,恶意软件的操作通过多个进程进行传播。
图1: 攻击概览
GandCrab是一个高级的攻击活动,提供给技术实力一般的一些威胁单元让他们可以自己发起勒索软件活动。
图2: Sand Blast Agent Forensics报告的攻击鸟瞰图
以PowerShell作为入口点
根据SandBlast Agent提供的取证报告,发现攻击是用命令行参数来启动一个隐藏的PowerShell窗口来从受感染的主机提供商来下载第二阶段的payload。分析人员确认在线的payload会频繁修改来绕过基于hash的签名检测。
通过查看报告中的 PowerShell进程Content Tab,可以查看执行的攻击脚本。
图3: 加密的payload.
从上图可以看出,payload其实是一个base64编码的PE bytecode,然而PE是由AutoIt改编而成的。AutoIt生成的PE作为unpacker来从不同的服务器下载其他二进制文件,然后创建多层的攻击场景来涵盖所有含有不同保护的操作系统。包括下载两种类型的勒索软件和木马,监控勒索软件进程,重新启动以防软件奔溃或者被中止。有趣的是,该进程有一个没有被验证的名为Microsoft Windows签名。该签名最可能是来自于另一个带签名的进程,但是因为校验和不同导致签名被撤销了。
图4: 假的Microsoft Windows签名
启动后,新执行的进程(mwqtep.exe)会等200秒,然后以更高的权限重新启动一次。恶意软件的指令包括:
· 通过offset从内存中取回C2 url
· 产生一个伪随机的文件名
· 访问C2服务器,释放恶意文件到%TEMP%
· 运行释放的文件
图5: mwqtep.exe的文件操作
一共会在受感染的系统中下载了4个二进制文件来作为第二阶段的payload。Payload包含一个Betabot的变种,AzorUlt数据窃取恶意软件和2个GandCrab勒索软件的变种。
恶意软件运行顺序
BetaBot样本是第一个运行的。Betabot是一类Swiss army knife恶意软件,并没有单独的作用,其行为主要由C2服务器确定。但是为了合理执行,避免被检测到,恶意软件会将自己注入到explorer.exe中。注入后,会从C2服务器下载一系列二进制文件,具体负责:
· 收集关于机器的信息
· 在设备上寻找分析和调试工具
· 检测虚拟设备环境
· 识别和关闭特定反病毒和防火墙工具
BetaBot是用来窃取受害者的登陆凭证和金融数据,但是还不能根据分析的样本中确认。
图6: BetaBot进程注入到explorer.exe中
因为Betabot使用了多种驻留机制,研究人员分析的样本中使用了经典的注册表Autorun方法确保木马在重启后仍然可以运行。
图7: 通过注册表操作实现BetaBot驻留
第二个运行的恶意软件是AzorUlt数据窃取器恶意软件的一个变种。该恶意软件家族的主要特征是:
· 获取保存在设备上保存的加密货币钱包
· 提取FTP/IM/Email客户端保存的凭证信息
· 蛰伏在系统中,监听来自C2服务器的指令
除了上面分析的两个木马,还下载了2个GandCrab勒索软件的变种。勒索软件奔溃会导致启动Windows错误报告应用(werfault.exe)被启动。
图8: GandCrab最新版奔溃和重启动
检测到GandCrab勒索软件奔溃后,GandCrab勒索软件的第二个变种会启动,并成功提权。这可以继续加密文件和写勒索信息文件的攻击。截止攻击时,该样本也是第一次出现。