Glupteba攻击活动分析

ang010ela 新闻 2019年9月17日发布
Favorite收藏

导语:​研究人员分析发现Glupteba攻击活动用比特币交易中窃取的数据攻击网络路由器和更新C2服务器。

研究人员近期发现一起创博恶意软件Glupteba的恶意广告攻击活动。Glupteba恶意软件并非一款全新的恶意软件,之前有分析称其与Operation Windigo攻击活动有关,并通过漏洞利用套件传播到Windows用户。2018年,有安全公司分析称Glupteba僵尸网络已经从Operation Windigo独立出来,转到到 pay-per-install广告恶意软件服务。Glupteba背后的攻击者非常复杂,有提供代理服务的,有使用EternalBlue漏洞利用来入侵本地网络的,也有运行Monero (XMR)加密货币挖矿机的。

通过分析近期广告恶意软件攻击活动中的Glupteba释放器变种,研究人员发现释放器下载了两个新的组件:

· 一个可以从浏览器窃取敏感信息并发送信息到远程服务器的浏览器窃取器,窃取的信息包括浏览器历史、web cookie,账户名和密码等;

· 一个可以利用 CVE-2018-14847漏洞利用攻击本地网络中的MikroTik路由器的漏洞利用组件。该组件会在路由器上设置定时任务,上传窃取的管理员凭证到远程服务器。被黑的路由器会被配置为SOCKS代理来中继恶意流量,以匹配Windows机器上的Glupteba僵尸网络的原始目的。

除此之外,研究人员还在Glupteba中发现了可以从比特币交易中提取最新C2域名的特性。可以看出,攻击者仍在不断改进恶意软件,并尝试 扩展代理网络到物联网设备中。

Figure. 1图1. Glupteba攻击活动攻击流

Figure. 2 图2.下载Glupteba释放器下的文件共享网站上的恶意广告弹窗

Glupteba释放器

下载的释放器二进制软件是用定制的打包器打包的,使用的是Go编程语言,并编译为可执行文件。释放器首先获取当前应用信息、操作信息、硬件信息和二进制文件中硬编码的其他信息来config initialization(初始化配置)信息。然后创建一个注册表HKEY_USERS\<sid>\Software\Microsoft\TestApp 来保存所有获取的信息。运行config initialization函数的结果如下图所示:

Figure. 3

图3. Glupteba释放器创建的注册表

然后函数 sendParentProcesses从注册表中获取machine_guid,从file name, product identification (PID), names of parent processes中获取distributor id和campaign id。然后嵌入信息到POST请求中,并用AES加密,然后上传到C2服务器hxxps://<server>/api/parent-processes。

然后,释放器检查进程是否提升权限,并以SYSTEM用户运行。如果进程未提权,就尝试利用fodhelper方法来提权。如果提权但未以SYSTEM用户运行,就用Run as Trusted Installer方法,使用窃取的winlogon进程token来以SYSTEM权限运行进程。

主释放器二进制文件中嵌入了许多用于隐藏文件和进程的rootkit驱动,和其他用来帮助安装必要驱动的工具。

函数 executeTask 负责执行这些命令:

image.png

函数 mainInstall 检查是否安装了AV程序,添加防火墙规则等。

函数 mainPoll定期从C2服务器接收新命令。发送POST请求到hxxps://<server>/api/poll。POST参数示例如下:

challenge=e94e354daf5f48ca&cloudnet_file=1&cloudnet_process=1&lcommand=0&mrt=1&pgdse=0&sb=1&sc=0&uuid=&version=145&wup_process=1&wupv=0.

查询是AES 256加密的。

最后,函数 handleCommand 实现后门功能。

 image.png

C2更新

后门有一些标准化的能力,但有一个非常特殊的能力就是通过函数discoverDomain通过区块链来更新C2服务器地址。

discoverDomain 函数可以通过发送后门命令或由释放器自动完成。DiscoverDomain首先枚举公开列表中的Electrum Bitcoin钱包服务器地址,然后尝试用硬编码的哈希值来查询脚本的区块链脚本哈希历史。

 Fig 1

该命令会显示相关的交易。

 Fig 2

每个交易经过分析后,会搜索OP_RETURN指令。

Fig 3 

OP_RETURN指令后面的数据段用作AES解密路径的指令,前12个字节用作AES GCM 标签,后32个字节是加密的数据。32字节长的AES key是硬编码在二进制文件中的。

Fig 4

0f8f7cd39e1a5231b49f986b877befce0c2f558f0c1a9844833ac702cb3eba6e解码后就是venoxcontrol[.]com,就是当前的C2服务器地址。

该技术使其攻击者可以很方便地替换C2服务器地址。如果对C2服务器失去控制,就需要添加一个新的比特币脚本,受感染的机器解密脚本数据,重新连接后就可以获取新的C2服务器地址。

浏览器窃取组件

最新Glupteba变种中有一个组件是updateprofile,是一个浏览器profile、cookie、password的窃取器。受攻击的目标有Chrome, Opera, Yandex浏览器,cookie、历史和其他文件都会被zip压缩,然后上传到信息收集服务器的 /api/log路径下。与主释放器类似,该组件也是用Go语言编写的,然后编译成可执行文件,用UPX打包。

另一个浏览器窃取器的版本是vc.exe,其目标是提取浏览器密码和cookie,并将提取的数据Post到信息收集服务器的 /bots/post-en-data?uuid=路径下。

路由器漏洞利用组件

研究人员发现Glupteba释放器下载的另一个组件是路由器漏洞利用组件,也是用Go语言开发的。它会查找受害者网络的默认网关,默认IP网管的列表是调用WMI命令SELECT DefaultIPGateway FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = true来获取的。

除了这些地址,还有三个默认的地址:192.168.88.11, 192.168.0.1, 192.168.1.1。

组件成功连接到设备后会监听8291端口,然后尝试利用CVE-2018-14847漏洞,该漏洞影响MikroTik路由器上的RouterOS操作系统。漏洞利用代码看似是来自exploit-db的,允许攻击者从未安装补丁的路由器上抓取管理员凭证。获取的账户名和密码都保存在JSON对象中,然后加密,POST到C2服务器的/api/router路径下。

Fig 5 

成功获取凭证后,就会在路由器中添加定时任务。一共有3种方法来添加定时任务,分别是使用WinBox协议,使用SSH或API。

Figure. 4 图4. Glupteba攻击活动中添加的定时任务示例

路由器漏洞利用组件会设计一个名为U6的定时任务用于C2。该任务会每隔10分钟检查一次C2 url,然后执行从URL下载的内容。C2 url上还会添加一个唯一的UUID,UUID与受害者机器上Glupteba的bot ID是相同的。该URL一般会返回404错误,但是当master bot发送命令时,就会返回一个RSC文件,这是RouterOS配置文件的格式。

该文件是bot master控制路由器的命令。在攻击中,研究人员发现C2服务器会发送多个RSC文件来配置被黑的路由器成为SOCKS代理。具体步骤如下:

· 将U6定时任务的时长从10分钟修改为15秒;

Fig 6

· 第二个配置是禁用包括winbox, telnet, api, api-ssl在内的服务。这是为了预防路由器被其他攻击者利用相同漏洞入侵。然后打开SSH和SOCKS服务,监听随机分配的端口,创建防火墙规则来接收到SOCKS端口的外部连接。

Fig 7

· 第3个配置文件是移除现有的SOCKS访问列表。

Fig 8

· 第4个配置文件是添加新的SOCKS访问列表来限制服务只接收来自特定IP范围的连接。IP地址的范围一般就是攻击者服务器所在的地址。

Fig 9

流量中继

通过上面的步骤,被黑的路由器就变成了攻击者中继流量的SOCKS代理。研究人员监控被黑的路由器发现了只有部分流量会被中继。第一个通过SOCKS代理的路由的远程连接是来自服务器的,应该是属于攻击者。服务器查询http://ip-api[.]com/json,该地址返回当前SOCKS代理服务器的IP地址。查询会重复发送来监控SOCKS代理服务。

检查了路由器状态后,研究人员发现不同的服务器有两种类型的流量连接到代理。第一个是垃圾邮件流量,研究人员发现一个远程服务器建立了通过被黑的SOCKS代理与不同的邮件服务器的SMTP连接。如果邮件服务器接收连接,远程服务器就开始发送垃圾邮件。垃圾邮件看似是与Canadian Pharmacy主题相关的。

Figure. 5

图5. 通过被黑的路由器来发送垃圾邮件流量示例

Figure. 6

图6. 垃圾邮件重定向的“Canada Pharmacy”网站

除了垃圾邮件流量,研究人员还发现一些来自远程服务器的连接到Instagram的流量。但是这些流量是通过HTTPS加密保护的,所以无法了解连接的内容。

 Figure. 7

图7. Instagram连接示例(HTTPS加密的)

据上可以看出,Glupteba仍然在不断发展,并加入了新的功能。通过比特币交易来获取数据以更新C2服务器说明攻击者使用了一些很少见的技术来尝试绕过传统安全解决方案的检测。

本文翻译自:https://blog.trendmicro.com/trendlabs-security-intelligence/glupteba-campaign-hits-network-routers-and-updates-cc-servers-with-data-from-bitcoin-transactions/ 如若转载,请注明原文地址: https://www.4hou.com/info/news/20162.html
点赞 4
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论