![c7851ae465eb09d70f1345621a072384.png](https://i-blog.csdnimg.cn/blog_migrate/151f4f0621e03c798c79dc8c6359f962.jpeg)
攻击
如下是一封礼品卡的信,信中还附有一个USB设备。但是该USB设备实际上含有恶意软件。
![a552ad8c8769528b8e285256810c45aa.png](https://i-blog.csdnimg.cn/blog_migrate/1b5c1406703aaebc912d2598f5db90b0.jpeg)
图 1. 含有恶意USB设备的礼品卡
分析
研究人员查看设备的相关信息,发现有打印的“HW-374”信息,谷歌搜索发现http://shopee.tw一个“BadUSB Leonardo USB ATMEGA32U4”。
![786d519c6189087b36667d5b306ad473.png](https://i-blog.csdnimg.cn/blog_migrate/025d81661848c30b3aebecf5a14f7e33.jpeg)
图 2: 与收到的USB设备匹配的网站图片
该设备使用了Arduino微控制器ATMEGA32U4,被变成用来模拟USB键盘。因为PC设备默认是相信USB键盘设备的,插入电脑后,键盘模拟器就会自动注入恶意命令。
为了快速获取UBS的payload,研究人员将其连接到一个air-gapped的笔记本,安装的是Ubuntu系统,研究人员分析发现了以下payload。
Powershell Payload
![6184679d28d41bf12afebc64e6b02c21.png](https://i-blog.csdnimg.cn/blog_migrate/81813664af0d804d90cab370d65276ef.png)
图 3. 使用VIM拦截Payload,发现一个混淆的PowerShell脚本
解混淆PowerShell命令一个简单的密文替换。
![e380a7c029198fb7bb5c666bcb4caea8.png](https://i-blog.csdnimg.cn/blog_migrate/22ecac8502eea5ec1ad45d008eec5ba2.png)
图 4.使用CyberChef解混淆的PowerShell命令
解混淆的字符串中有一个从hxxps://milkmovemoney[.]com/st/mi.ini处下载第二阶段PowerShell代码的命令。
![16eed2d8e809065d26c687ed087c08fd.png](https://i-blog.csdnimg.cn/blog_migrate/cfdd163b290e10c5a5ffd971fe938f3a.png)
图 5. 下载的第二阶段Powershell代码
![854b77182e8438c220ad92fecc72209d.png](https://i-blog.csdnimg.cn/blog_migrate/6974256c64a3de970cafc4c1d97c7263.jpeg)
图6 下载的脚本
第二阶段PowerShell执行流如下:
· 复制wscript.exe 到 %AppData%MicrosoftWindowswipre.exe;
· 解码JS命令,并保存为prada.txt;
· 用命令“cmd.exe /c wipre.exe /e:jscript prada.txt”执行prada.txt;
· 显示伪造的消息框警告。
![52e87ad6814cdb1f85c42c05015f1fd8.png](https://i-blog.csdnimg.cn/blog_migrate/34fc5454d9e4a876a0e9b4a1c23410a0.png)
图 7. 伪造的消息框警告
Javascript Payload
保存为prada.txt的JS代码是第3阶段payload,使用Windows内置的脚本wscript.exe来执行。
![ac1755f26a367e2c6f326a7e1801311e.png](https://i-blog.csdnimg.cn/blog_migrate/b455caf1d823e8229157273449636524.jpeg)
图 8. 保存为Prada.txt的反混淆的JS代码
JS是用简单变量替代混淆的。脚本的主要功能是以唯一ID来注册受感染的主机给C2服务器,然后接收额外的JS代码,JS代码用eval()函数。
下面是JS代码的执行流:
1、获取当前UTC时间生成唯一ID;
2、检查脚本是否位于%AppData%MicrosoftWindows文件夹中,如果并在该文件夹中就删除;
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代码。
![18bb5882c5ccbf113d0f1d9978a3a9c3.png](https://i-blog.csdnimg.cn/blog_migrate/bc6a984a77fdac2053899bfed0235547.jpeg)
图 9: 用编码的数据响应C2服务器
JS代码在解码时,会发现一个从受感染主机中收集系统信息的代码。
![27047681075b4f59131965c710973537.png](https://i-blog.csdnimg.cn/blog_migrate/a2af70dd2a57247126f9ec312fa77155.jpeg)
图 10: 解混淆的JS代码,是C2服务器发送的代码的一部分
收集后发送给C2服务器的系统信息包括:
· 用户名;
· 主机名;
· 用户的系统权限。
使用WMI查询获取以下信息:
· 进程所有者;
· 域名;
· 计算机型号;
· 操作系统信息;
· 操作系统名;
· OS build;
· OS版本;
· 内存容量;
· 可用内存;
· 操作系统注册的用户;
· 操作系统注册的组织;
· 操作系统序列号;
· 安装日期;
· 操作系统架构;
· 操作系统产品类型;
· 语言代码;
· 时区;
· 用户数;
· UAC级别权限;
· Office和Adobe acrobat安装情况;
· 运行的进程列表;
· 受感染的主机运行在虚拟环境中。
收集的信息发送给C2服务器后,主JS代码会进入一个2分钟的休眠循环,然后从C2服务器获取新的命令。完整攻击流如下所示:
![3fbcc23e3c6a669ba3d27d1da6012fff.png](https://i-blog.csdnimg.cn/blog_migrate/a8dd2c616eb23fbdae987344d2b0b102.jpeg)
图 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/