Water Pamola通过恶意订单对电商发起攻击

news2024/11/25 19:25:57

自2019年以来,趋势科技的研究人员一直在追踪一个被称为“Water Pamola”的攻击活动。该活动最初通过带有恶意附件的垃圾邮件攻击了日本、澳大利亚和欧洲国家的电子商务在线商店。

但是,自2020年初以来,研究人员注意到Water Pamola的活动发生了一些变化。现在,受害者主要只在日本境内。最近的跟踪数据表明,攻击不再通过垃圾邮件发起。相反,当管理员在其在线商店的管理面板中查看客户订单时,就会执行恶意脚本。

Water Pamola攻击链

在进一步搜索后,研究人员注意到一家在线商店管理员询问了一个奇怪的在线订单,该订单包含通常会在客户地址或公司名称所在的字段中插入的JavaScript代码。该脚本很可能是通过利用该商店的管理门户中的跨网站脚本(XSS)漏洞来激活的。

在论坛上提出的问题,其中显示了与Pamola水有关的有效载荷

上面是论坛中文本的屏幕截图,由Google翻译为“问题”,其中的某个命令似乎是一个恶作剧的命令,地址和公司名称中包含以下字符。

该脚本连接到Water Pamola的服务器,并下载其他有效载荷。综上所述,这使研究人员相信Water Pamola会使用此嵌入式XSS脚本在许多目标在线商店下订单。如果它们容易受到XSS攻击,它们将在受害者(即目标商家的管理员)在其管理面板中打开订单时加载。

研究人员收集了许多攻击脚本,它们已传播给不同的目标。脚本执行的恶意行为包括页面获取、凭据网络钓鱼、Web Shell感染和恶意软件传播。

此活动似乎是出于经济动机,在至少一个实例中,Water Pamola后来遭到攻击的网站透漏他们遭受了数据泄漏。他们的服务器被非法访问,包括姓名、信用卡号、到期日期和信用卡安全码在内的个人信息可能被泄漏。此攻击行为可能与Water Pamola有关,它暗示此攻击活动的最终目标是窃取信用卡数据(类似于Magecart攻击活动)。

XSS攻击分析

如上所述,Water Pamola发送了带有恶意XSS脚本的在线购物订单,以攻击电子商务网站的管理员。

值得一提的是,它们并不是针对特定的电子商务框架,而是针对整个电子商务系统。如果商店的电子商务系统容易受到XSS攻击,那么一旦有人(如系统管理员或商店员工)打开订单,就会在商家的管理面板上加载并执行恶意脚本。

这些脚本使用名为“XSS.ME”的XSS攻击框架进行管理,该框架可帮助攻击者处理其攻击脚本和被盗信息。该框架的源代码在许多中国公共论坛中被共享。该框架提供的基本攻击脚本可以报告受害者的位置和浏览器Cookie。研究人员观察到攻击期间使用的脚本是自定义的。攻击者提供了多种不同的XSS脚本,其中可能包括以下一种或多种行为:

网页获取工具

该脚本将HTTP GET请求发送到指定的URL地址,并将收到的响应转发到Water Pamola的服务器。通常在攻击的早期阶段使用它来从受害者的管理页面中获取内容,这样做可以使攻击者了解环境并设计适合受害者环境的攻击脚本。

用于获取页面内容并将其发送回攻击者的脚本

凭据网络钓鱼

一些传播的脚本显示,该活动试图通过两种不同的方法为电子商务网站获得管理员资格。第一种方法涉及到向页面添加一个假的登录表单。脚本挂钩鼠标点击事件。如果受害者以伪造的形式输入凭据并点击页面上的任何位置,脚本将获取凭据,使用base64对其进行编码,用自定义子字符串替换一些字符,然后将这些字符上传到Water Pamola的服务器。

用于创建和删除伪造的登录表单以进行凭据网络钓鱼的脚本

另一种方法包括显示授权错误消息,然后将用户重定向到一个钓鱼网站,该网站要求用户输入他们的凭据。他们的钓鱼网站的子域名被配置为与目标的域名匹配,例如“{victim’s domain}[.]basic-authentication[.]live”。

该脚本使用授权错误消息替换页面内容,并将用户重定向到钓鱼网站

Webshell/PHP后门注入

某些提供的恶意脚本试图将后门安装到使用EC-CUBE框架构建的网站上,该框架在日本很流行。研究人员发现的攻击仅适用于EC-CUBE的Series 2。当前版本是Series 4,Series 2现在也得到了扩展支持。

有三种不同的方法用于上传后门,第一种方法是通过调用框架提供的本机API来上传PHP Web Shell文件。 Web Shell文件的名称硬编码为" ec_ver.php ", " log3.php “或” temp.php "。 Web Shell可以执行HTTP POST请求发送给Web Shell的任何PHP代码。

请注意图6中的屏幕截图:这篇博客文章achineseboy.com/archives/49… shell。该博客文章描述了一个由两个组件组成的web shell,一个PHP脚本和一个HTML上传文件,但是,不需要第二个组件,因为可以使用任何自定义或第三方工具(例如Fiddler)创建正确的POST请求。

用于将PHP Web Shell上传到电子商务网站的脚本

第二种方法是修改页面标头以注入PHP代码,然后该代码将执行HTTP请求中参数“ec_ver2update”发送的任何PHP代码。请注意,下面的PHP代码是模糊的。首先,IDFX变量使用XOR操作(请参见字符)对字符串“createfunction”进行解码,然后将所得的base64字符串解码为@eval( IDFX变量使用XOR操作(请参见字符^)对字符串“create_function”进行解码,然后将所得的base64字符串解码为@eval(IDFX变量使用XOR操作(请参见字符)对字符串“createf​unction”进行解码,然后将所得的base64字符串解码为@eval( _ REQUEST [‘ec_ver2update’]),这是后门的代码。

用于修改商店页面标题以注入Web Shell的脚本

第三种方法是将嵌入在名为“MakePlugin.tar.gz”的文件中的恶意插件安装到电子商务框架。该插件旨在将多个PHP Web Shell文件拖放到服务器上。

用于上传和安装恶意插件的脚本“MakePlugin.tar.gz”

恶意插件安装几个带有web shell的文件

恶意软件传播

在这种情况下,攻击脚本将显示一个警告提示,并显示一条消息:“你的Flash版本太低,请安装最新版本,然后重试!”然后将受害者重定向到他们控制的虚假Flash安装程序下载网站。请注意,Adobe已于2020年12月31日宣布Flash结束使用。

如果受害者下载并执行从此页面下载的安装程序,则受害者将感染Gh0stRat恶意软件的一种变体,以前也称为Gh0stCringe或CineregRAT。该RAT的代码基于泄漏的Gh0st RAT源代码;但是,它的流量加密是自定义的,并且增加了一些新功能,例如QQ号码盗窃。与这次行动有关的Gh0st RAT样本是经过模糊处理的可执行文件,它可以解密内存中的主要有效载荷并执行其名为“Shellex”的主要输出功能。

该脚本显示错误消息并重定向到伪造的Flash安装程序

伪造的Flash安装程序下载网站

伪造的Flash安装程序的分析

如上所述,XSS攻击脚本将受害者重定向到伪造的Flash下载网站。点击“立即安装”按钮将下载一个.ZIP压缩文件,其中包含几个合法文件以及几个恶意文件,这些文件通常以DLL库的形式出现。当合法的可执行文件被执行时,这些库将被侧载。

下载的Flash安装程序包

在此示例中,AdobeAirFlashInstaller.exe(合法文件)会侧面加载xerces-c_2_1_0_0.dll(已修补的合法文件),然后再侧面加载ulibs.dll(恶意文件)。 Ulibs.dll加载Adob.dll,这是一个ZIP压缩文件。提取Adob.dll zip压缩文件的内容后,将显示并执行两个合法且经过签名的可执行文件,并且类似的侧载过程再次发生。

adobe .dll中的包

此时,svchost.exe(从腾讯重命名为合法并签名的Launcher.exe文件)会侧面加载Utility.dll(已修补的合法文件)。此修补程序文件包含一个名为.newimp(新导入)的新部分,它添加了一个引用oplib.dll库的新导入项,然后这个oplib.dll库被侧加载。

Oplib.dll的侧面加载

这个新的导入很可能是通过使用一个名为Stud_PE的实用程序手动添加的,这个实用程序有一个功能叫做“导入添加程序”,而“.newimp”是包含新添加导入的新添加部分的默认名称。然后,Olibi.dll从Windowsfiles目录中加载一个lib.DAT文件,对其内容进行解码和解密(来自十六进制字符串; XOR 0x42),然后将其加载到新创建的svchost.exe进程中。此外,还配置了通过注册表项和计划任务的持久性。

XOR例程和svchost注入

最后,此感染链的最后一个有效载荷是Gh0st RAT的变体。与C&C的通信使用套接字,并使用简单的SUB 0x46,XOR 0x19方式进行加密。

加密C&C通信的XOR例程

在此Gh0st RAT变体中发现了一个packetFlag“xy”

Gh0st RAT变体实现了用于窃取QQ Messenger用户信息的其他功能,例如,给定计算机上的用户列表及其QQ Messenger号码。

下面的代码会获取计算机上登录的QQ号。

用于获取用户QQ号的代码

如何保护电子商务平台免受Water Pamola的攻击

Water Pamola通过将XSS脚本附加到在线购物订单上来攻击在线商家。他们还进行了社会工程学攻击来伪造网络钓鱼凭证或提示下载远程访问工具,在线商店的管理员应该意识到,潜在的攻击不仅可能来自垃圾邮件,还可能来自不同的感染媒介。研究人员还建议管理员使网站上使用的任何电子商务平台的版本保持最新,以防止任何潜在的漏洞,包括XSS攻击。

通过检测恶意文件和垃圾邮件以及阻止所有相关的恶意URL,这些可以保护用户和企业免受攻击。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/168006.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(二十三)Collecttion集合

目录 前言: ①Collecttion集合的体系结构 ②Collecttion集合的遍历方式 方式一:迭代器 方式二:foreach/增强for循环 方式三:Lambda表达式 ③常见数据结构 前言: Collection: 是所有集合的顶级接口,里面规定了集合操作元素的相关功能方法集合与数组一样,用于存储一组…

使用Sa-token实现单点登录

使用Sa-token实现单点登录单点登录需求为何选择Sa-Token简单使用sa-token接口如何保持登录态使用拦截器实现鉴权聊聊Sa-Token的理解聊聊遇到的一些问题单点登录需求 其实一直想写一个单点登录系统,现在的现状是公司内部有非常多项目的,然后每个项目一套登…

数据分析面试题--数理知识点1

目录标题1,python统计一段话每个单词出现的次数2,SQL中如何利用replace函数统计给定重复字段在字符串中的出现频率?3,常见的统计分析方法有哪些?拿到数据如何分析4,参数估计和假设检验的联系和区别5&#x…

网络实验之OSPF路由协议(一)

一、OSPF路由协议简介 开放式最短路径优先(Open Shortest Path First,OSPF)路由协议是用于网际协议(IP)网络的链路状态路由协议。该协议使用链路状态路由算法的内部网关协议(IGP),在…

NIO笔记

一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 st…

SAP ABAP 代码修改自动比较对象版本一致

第一步,找到SE38/SE37代码修改的出口 SMOD中查找 第二步,实施增强 CMOD中添加增强并激活,如下图 第三步,添加代码 如上图两个双击添加并修改代码 ZXSEUU08中与 ZXSEUU01代码一致,如下 *&----------------------…

【年度总结】我的2022年-职业生涯大转折

【年度总结】我的2022年-职业生涯大转折2022总结大厂的苦与乐找工作的焦虑再起启航2023展望持续刷题持续学习捡起博客在漩涡中疯狂挣扎的一年 2022总结 大厂的苦与乐 上半年主要在搞中台,需要对接的其他团队比较多,每天都在对接需求、优化需求。同时还…

Python NumPy 创建数组(ndarray)

前言NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍使用Python NumPy 创建…

鉴源论坛 · 观辙丨基于机器学习的汽车CAN总线异常检测方法

作者 | 张渊策 上海控安可信软件创新研究院研发工程师 来源 | 鉴源实验室 目前机器学习是研究车辆网络入侵检测技术的热门方向,通过引入机器学习算法来识别车载总线上的网络报文,可实现对车辆已知/未知威胁的入侵检测。这种基于机器学习的异常检测技术普…

chrono_duration(一)

文章目录chrono简介std::chrono::durationduratio基本介绍基本概念使用引入std::ratio 参数深入特化的duratio改造之前的代码静态成员函数 count原型例子构造函数支持加减乘除运算编译细节支持比较运算符查询范围类型转换例子引入修改seconds的范围浮点类型系统特化的duratio自…

os模块的使用方法详解

os模块os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;即os模块提供了非常丰富的方法用来处理文件和目录。使用的时候需要导入该模块:import os常用方法如下:方法名作用os.remove(‘path/filename’)删除文件os.re…

Unidbg模拟执行某段子so实操教程(一) 先把框架搭起来

一、目标 最近又开始研究Unidbg了,费了好大劲,没有跑起来。今天就先找个软柿子捏捏看。 今天的目标是 之前研究的 某段子App签名计算方法(一) 某段子App版本 5.5.10 二、步骤 先搭起框架来 在 /unidbg/unidbg-android/src/test/java/ 下面新建一个 …

K8S 三种探针ReadinessProbe、LivenessProbe和StartupProbe 之探索

一、事件背景因为k8s中采用大量的异步机制,以及多种对象关系设计上的解耦,当应用实例数增加/删除、或者应用版本发生变化触发滚动升级时,系统并不能保证应用相关的service、ingress配置总是及时能完成刷新。在一些情况下,往往只是…

Python爬虫之Scrapy框架系列(4)——项目实战【某瓣Top250电影更多信息的获取】

前言: 上篇文章使用Scrapy框架简单爬取并下载了某瓣Top250首页的排名前25个电影的电影名。 太寒酸了,这篇文章咱就来仔细搞一搞,搞到更加详细的信息!!! 目录:1.分析2.使用scrapy shell提取电影详…

进程信号--Linux

文章目录信号?kill -l 指令查看所有信号信号的工作流程信号产生1.通过终端按键产生信号2.通过系统调用接口产生信号3.通过软件产生信号4.硬件异常产生信号信号接收信号处理总结信号? 进程间的通信我们了解到有管道通信,有共享内存的通信。这…

flowable编译

git clone -b flowable-release-6.7.2 https://github.com/flowable/flowable-engine.git下载之后File-Open,打开工程,modules是核心代码模块 找到flowable-root.xml按下altf12 ,启动Terminal终端输入命令:mvn clean package -Ds…

《Buildozer打包实战指南》第三节 安装Buildozer打包所需的依赖文件

目录 3.1 安装依赖软件包 3.2 安装Cython 3.3 设置环境变量 3.4 安装p4a、Android SDK、NDK以及其他编译文件 Buidozer这个打包库下载安装完毕之后,我们还需要下载一些打包安卓apk所需要的依赖文件。 3.1 安装依赖软件包 首先输入以下命令更新Ubuntu上的软件包…

使众人行:如何带领一群人把事做成?

你好,我是雷蓓蓓,一名程序员出身的项目经理,曾任网易杭研项目管理部总监。 我所带领的网易杭研项目管理部,从2011年成立以来,就一直在互联网项目管理领域深耕,为网易云音乐、网易严选、云计算、智慧企业等…

智慧社区管理系统改造方案

伴随着城市发展的持续加速,许多在建智慧社区和老旧小区智能化改造都在有规划的展开着。如今许多老旧小区在展开设备升级,许多小区智能安防设备、物业管理服务系统软件、社区综合服务平台及其监控器设备等都会展开智能化改造。但是,很多人对老…

17.优于select的epoll

优于select的epoll epoll 理解及应用 select复用方法其实由来已久,因此,利用该技术后,无论如何优化程序性能也无法同时接入上百个客户端(当然,硬件性能不同,差别也很大)。这种select方式并不适…