故事从收到一封神秘的礼品卡信件开始……
2020-03-30 12:00:00 Author: www.4hou.com(查看原文) 阅读量:142 收藏

攻击

如下是一封礼品卡的信,信中还附有一个USB设备。但是该USB设备实际上含有恶意软件。

Gift Card Letter

图 1. 含有恶意USB设备的礼品卡

分析

研究人员查看设备的相关信息,发现有打印的“HW-374”信息,谷歌搜索发现shopee.tw一个“BadUSB Leonardo USB ATMEGA32U4”。

BadUSB

图 2: 与收到的USB设备匹配的网站图片

该设备使用了Arduino微控制器ATMEGA32U4,被变成用来模拟USB键盘。因为PC设备默认是相信USB键盘设备的,插入电脑后,键盘模拟器就会自动注入恶意命令。

为了快速获取UBS的payload,研究人员将其连接到一个air-gapped的笔记本,安装的是Ubuntu系统,研究人员分析发现了以下payload。

Powershell Payload

Payload

图 3. 使用VIM拦截Payload,发现一个混淆的PowerShell脚本

解混淆PowerShell命令一个简单的密文替换。

Decoding the payload

图 4.使用CyberChef解混淆的PowerShell命令

解混淆的字符串中有一个从hxxps://milkmovemoney[.]com/st/mi.ini处下载第二阶段PowerShell代码的命令。

Deobfus

图 5. 下载的第二阶段Powershell代码

 Downloaded script

图6 下载的脚本

第二阶段PowerShell执行流如下:

· 复制wscript.exe 到 %AppData%\Microsoft\Windows\wipre.exe;

· 解码JS命令,并保存为prada.txt;

· 用命令“cmd.exe /c wipre.exe /e:jscript prada.txt”执行prada.txt;

· 显示伪造的消息框警告。

Fake Message Box

图 7. 伪造的消息框警告

Javascript Payload

保存为prada.txt的JS代码是第3阶段payload,使用Windows内置的脚本wscript.exe来执行。

Prada.txt

图 8. 保存为Prada.txt的反混淆的JS代码

JS是用简单变量替代混淆的。脚本的主要功能是以唯一ID来注册受感染的主机给C2服务器,然后接收额外的JS代码,JS代码用eval()函数。

下面是JS代码的执行流:

1、获取当前UTC时间生成唯一ID;

2、检查脚本是否位于%AppData%\Microsoft\Windows文件夹中,如果并在该文件夹中就删除;

3、延迟2分钟执行。

4、生成含有以下信息的数据:

· group : f1 (硬编码)

· rt : 2 (硬编码)

· secret : secret hash (硬编码)

· time : 120000

· uniq_id : current UTC milliseconds

· id : MAC address and hostname (使用WMI查询)

5、URL编码该数据并用随机生成的key来XOR编码数据;

6、将生成的XOR key加入到编码的数据中

7、合成一个含有参数的HTTP POST body:

kbaxmaconhuc=

8、合成一个 URL 路径:

https:///

9、使用下面的HTTP请求header以HTTP POST raw body发送数据到C2 url:

User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:69.0) Gecko/20100101 Firefox/50.0'
Content-Type: %application/x-www-form-urlencoded'

10、C2服务器响应编码的JS代码

11、使用eval() 解码和执行JS代码。

在该事件中,C2服务器是活动的,会响应如图9所示编码的数据。编码的数据用XOR key来解码。数据和key都是限定在“&_&”或URL编码的“%26_%26”。解码的数据中会发现一个将会在受感染的主机中执行的JS代码。

Encoded Data

图 9: 用编码的数据响应C2服务器

JS代码在解码时,会发现一个从受感染主机中收集系统信息的代码。

Figure9

图 10: 解混淆的JS代码,是C2服务器发送的代码的一部分

收集后发送给C2服务器的系统信息包括:

· 用户名;

· 主机名;

· 用户的系统权限。

使用WMI查询获取以下信息:

· 进程所有者;

· 域名;

· 计算机型号;

· 操作系统信息;

· 操作系统名;

· OS build;

· OS版本;

· 内存容量;

· 可用内存;

· 操作系统注册的用户;

· 操作系统注册的组织;

· 操作系统序列号;

· 安装日期;

· 操作系统架构;

· 操作系统产品类型;

· 语言代码;

· 时区;

· 用户数;

· UAC级别权限;

· Office和Adobe acrobat安装情况;

· 运行的进程列表;

· 受感染的主机运行在虚拟环境中。

收集的信息发送给C2服务器后,主JS代码会进入一个2分钟的休眠循环,然后从C2服务器获取新的命令。完整攻击流如下所示:

Attack_flow

图 11: 攻击流

总结

USB设备随处可见,而且被广泛使用,一些人认为USB设备是安全无害的。但是USB控制器芯片可以重新编程,这类设备可以被用来发起攻击和感染用户计算机。而这类USB设备被安全领域专业人员广泛使用,风险不言而喻。这篇文启示我们:不要相信此类设备。

文章后续更新:发布这篇文章后,我们已经收到多方面的确认,该活动与FIN7 APT活动的IOC匹配。FIN7是一个网络犯罪集团,至少从2015年起就开始瞄准酒店和零售业。

本文翻译自:https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/would-you-exchange-your-security-for-a-gift-card/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/P5PW
如有侵权请联系:admin#unsafe.sh