[译文] 恶意代码分析:1.您记事本中的内容是什么?受感染的文本编辑器notepad++

这是作者新开的一个专栏,主要翻译国外知名安全厂商的技术报告和安全技术,了解它们的前沿技术,学习它们威胁溯源和恶意代码分析的方法,希望对您有所帮助。当然,由于作者英语有限,会借助LLM进行校验和润色,最终结合自己的安全经验完成,还请包涵!

这篇文章将介绍文本编辑器notepad++如何被感染的,通过恶意链接引导用户下载恶意的编辑器,并分析其恶意行为,类似于上游供应链攻击或钓鱼攻击,并且对中国用户造成一定影响。一方面,作为用户,我们需要防范类似的攻击并从正版官方网站中下载应用程序;另一方面,通过该文章我们能分析恶意软件逆向分析过程,以及关键代码特征提取及分析方式(如spacex命名)。基础性技术文章,希望您喜欢!

  • 当时看标题作者第一反应是:记事本中嵌入恶意代码或钓鱼链接发起攻击,想了半天不知道如何实现。​究竟能否利用记事本TXT文件发起攻击呢?又将如何防御?值得深思。

文章目录

  • 前言
  • 一.搜索引擎中的恶意网站
  • 二.携带恶意载荷的文本编辑器
  • 三.受感染应用程序之间的连接
  • 四.总结

在这里插入图片描述

  • 原文标题:《What’s in your notepad? Infected text editors target Chinese users》
  • 原文链接:https://securelist.com/trojanized-text-editor-apps/112167/
  • 文章作者:SERGEY PUZAN
  • 发布时间:2024年3月13日
  • 文章来源:https://securelist.com

前言

“恶意广告(Malvertising)” 是一种广泛采用的策略,旨在诱使受害者访问含有恶意内容的网站,其通常会在搜索结果的顶部放置广告块,以增加用户点击链接的概率。此外,搜索结果顶部的网站也往往更容易获得用户的信任。一年前,我们的专家已经讨论过如何通过Google Ads传播的 RedLine 窃密软件的恶意广告行为。攻击者利用诸如拼写错误(typosquatting)等技术,以模仿流行应用的官方网站,从而最大限度地提高欺骗性。

当前,类似的威胁已影响到中国互联网上广受欢迎的搜索引擎的用户。我们的研究团队发现了两起相关案例,影响了流行文本编辑器的修改版本:

  • 在第一个案例中,恶意资源出现在广告区域
  • 在第二个案例中,恶意资源出现在搜索结果的顶部

我们尚未确定该威胁的所有细节,因此本文档将在获取进一步信息后进行必要的更新。


一.搜索引擎中的恶意网站

以下截图展示了搜索引擎反馈的两个包含了恶意链接的结果,左图在搜索notepad++的广告区域中发现了恶意链接,右图是搜索vnote的结果。

  • notepad++
  • vnote

在这里插入图片描述

在搜索notepad++时,我们观察到恶意网站会利用广告模块来传播其内容。当打开该网站时,细心的用户会立即注意到一个异常现象:网站地址中包含了vnote,且标题宣称提供的是Notepad-- (一款与Notepad++类似的产品,同样作为开源软件被分发),但图片却醒目地展示了 Notepad++。实际上,从这里下载得到的软件是Notepad-- 。

在这里插入图片描述

该网站提供了针对三大主流操作系统平台(Windows、Linux、macOS)的安装程序。然而,这里仅有两个恶意链接,分别指向macOS和Linux版本的下载页面。Windows版本的链接则指向官方存储库,因此不是恶意链接。

在这里插入图片描述

上图展示了点击恶意Notepad–下载按钮所对应的链接。其显示了恶意安装包的来源为:

  • vnote-1321786806[.]cos[.]ap-hongkong[.]myqcloud[.]com

同时,在搜索 vnote 时发现第二个页面试图模仿该程序的官方网站:

在这里插入图片描述

遗憾的是,在调查时,曾指向 VNote 潜在恶意版本的链接已失效。尽管如此,它们与 Notepad-- 链接指向了相同的资源。

在这里插入图片描述


二.携带恶意载荷的文本编辑器

该部分我们将分析感染软件的恶意行为,以及挖掘其背后的意图。

鉴于我们拥有 Linux 和 macOS 平台上的假冒 Notepad-- 样本,我们可以进一步逆向分析它们。所下载的应用程序与原始版本存在多处差异,并且Linux和macOS的恶意版本在功能上非常相似。

接下来,我们将分析 macOS 版本(MD5: 00fb77b83b8ab13461ea9dd27073f54f)。它是一个 DMG 格式的磁盘映像文件,其内容除了包含一个名为 NotePad-- 的可执行文件(MD5: 6ace1e014863eee67ab1d2d17a33d146)外,其他方面均与原始版本(2.0.0)相同。

在对 main 函数进行深入分析时,我们发现,在应用程序启动之前,对名为 Uplocal 的可疑类进行了初始化。需要注意,该类在原始 Notepad-- 的源代码中并不存在。

在这里插入图片描述

此类仅实现了一个名为 run 的方法。其主要功能是将文件下载到 /tmp/updater 路径并执行它。下图展示了 Uplocal 类 run 方法的载荷(Payload)。

在这里插入图片描述

该文件的下载地址如下:

  • hxxp://update[.]transferusee[.]com/onl/mac/<md5_hash>

其中, <md5_hash> 是通过执行以下 bash 命令并在 GetComputerUUID 函数中获取设备序列号的 MD5 哈希值。

ioreg -rd1 -c IOPlatformExpertDevice |  awk '/IOPlatformSerialNumber/ { print $3; }'

Linux版本与macOS版本略有不同:

  • 文件从相同的地址下载,但位于目录 /onl/lnx/ 下,即为:
    – hxxp://update[.]transferusee[.]com/onl/lnx/<md5_hash>
  • <md5_hash> 是设备 MAC 地址的 MD5 哈希值

在这里插入图片描述

不幸的是,在我们进行调查时,服务器已不再提供所下载的文件。因此,我们无法确定该文件原本应包含的内容。

然而,我们确定该服务器还有一个子域 dns[.]transferusee[.]com,它通过名为 DPysMac64(MD5: 43447f4c2499b1ad258371adff4f503f)的 Mach-O 文件进行访问,该文件之前已上传到 VT,但在调查时未被任何供应商检测到。

在这里插入图片描述

此外,该文件被存储在预期神秘更新程序应从同一服务器下载的同一位置上。下图展示了从 update[.]transferusee[.]com 加载 DPysMac64 文件。

在这里插入图片描述

由此,我们可以相当确信地推断出,该更新程序(updater)是一个中间步骤,其最终目的应当是引导加载 DPysMac64。此外,该服务器还托管了一个名为 DPysMacM1 的文件,其名称暗示它是专为运行于Apple Silicon处理器上的系统而构建的。然而,实际上它与 DPysMac64 为同一文件。

该应用程序被确认为一个后门程序,与所谓的 Geacon 高度相似。

  • Geacon 是一个开源实现的 CobaltStrike 代理,用Go语言编写而成。

尽管攻击者在其项目中删除了对 Geacon 的任何直接提及(mention),但我们发现了大量与 geacon_plusgeacon_proBeaconTool 的实现相匹配的代码片段、名称、函数和模块。例如,它们几乎拥有完全相同的 sysinfo 模块、FirstBlood 函数、EncryptedMetaInfo 函数、PullCommand 函数等。

下图对比了DPysMac64 的 sysinfo 模块(左侧)与 geacon_pro 实例(右侧)的功能列表。

在这里插入图片描述

该后门程序配备了两种启动选项——常规启动和作为服务启动。其与C2服务器 dns[.]transferusee[.]com 的通信采用HTTPS协议进行。有趣的是,攻击者将实现远程命令执行功能的项目命名为spacex。

在这里插入图片描述

该后门程序包含以下命令列表:

在这里插入图片描述


三.受感染应用程序之间的连接

虽然我们无法确定先前从vnote[.]info下载的文件内容,但我们发现,这两个网站上分发应用程序的源地址是相同的。此外,值得一提的是,在检查修改后的NotePad时,我们意外地发现了另一个有趣的细节。在可执行文件的代码中,我们发现了类似于“关于(About)”窗口的文本,但其中的链接并非指向官方项目网站,而是指向了可疑的资源vnotepad[.]com。以下是程序中“关于”窗口的用户界面截图。

在这里插入图片描述

“关于”窗口中的链接将我们导向了一个占位页面:

在这里插入图片描述

我们认为此现象颇为异常,因此尝试将协议从HTTP切换到HTTPS,进而发现该网站是VNote网站的另一个版本,与我们之前在vnote[.]info上观察到的内容高度相似。此外,在打开该网站时,浏览器警告我们其使用的证书是无效的,因为该证书实际是为vnote[.]info颁发的。

在这里插入图片描述

这表明两个案例之间存在明确且直接的联系,以及高度的相似性,即修改后的VNote编辑器与 NotePad-- 的目的相似,均涉及下一阶段的感染传递。


四.总结

我们持续对上述威胁进行深入研究,并探寻尚未披露的中间阶段。此外,我们已确定Linux和macOS应用程序中的更改是相同的,这暗示可能存在一个与我们在macOS上发现的类似的Linux后门。

还有很多细节直接我们分析,尤其当我们需要逆向分析一个样本并挖掘其背后机理时。

入侵指标(Indicators of Compromise,简称IOC)

文件:

在这里插入图片描述

链接:

在这里插入图片描述

2024年4月28日是Eastmount的安全星球——『网络攻防和AI安全之家』正式创建和运营的日子,该星球目前主营业务为 安全零基础答疑、安全技术分享、AI安全技术分享、AI安全论文交流、威胁情报每日推送、网络攻防技术总结、系统安全技术实战、面试求职、安全考研考博、简历修改及润色、学术交流及答疑、人脉触达、认知提升等。下面是星球的新人券,欢迎新老博友和朋友加入,一起分享更多安全知识,比较良心的星球,非常适合初学者和换安全专业的读者学习。

在这里插入图片描述
目前收到了很多博友、朋友和老师的支持和点赞,尤其是一些看了我文章多年的老粉,购买来感谢,真的很感动,类目。未来,我将分享更多高质量文章,更多安全干货,真心帮助到大家。虽然起步晚,但贵在坚持,像十多年如一日的博客分享那样,脚踏实地,只争朝夕。继续加油,再次感谢!

(By:Eastmount 2024-05-08 星期三 夜于贵阳 http://blog.csdn.net/eastmount/ )


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

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

相关文章

IOT-9608I-L ADC端口的使用(连续采样ADC值)

目录 概述 1 硬件介绍 1.1 认识硬件 1.2 引脚信号定义 2 软件功能实现 2.1 查看iio:device0下的接口信息 2.2 实现连续采样ADC 2.2.1 功能描述 2.2.2 代码实现 2.2.3 详细代码 3 测试 概述 本文主要讲述IOT-9608I-L ADC端口的使用方便&#xff0c;其内容包括板卡上的…

自动化机器学习——贝叶斯优化

自动化机器学习——贝叶斯优化 贝叶斯优化是一种通过贝叶斯公式推断出目标函数的后验概率分布&#xff0c;从而在优化过程中不断地利用已有信息来寻找最优解的方法。在贝叶斯优化中&#xff0c;有两个关键步骤&#xff1a;统一建模和获得函数的优化。 1. 统一建模 在贝叶斯优…

Windows端之Python3.9及以上高版本工程打包得到的exe逆向工程解包得到pyc文件进而得到py文件的流程实现

参考来自 【python逆向 pyc反编译】python逆向全版本通杀_python反编译pyc-CSDN博客https://blog.csdn.net/zjjcxy_long/article/details/127346296Pyinstaller打包的exe之一键反编译py脚本与防反编译_pyinstaller防止反编译-CSDN博客https://blog.csdn.net/as604049322/artic…

嵌入式RTOS面试题目

用过哪些嵌入式操作系统&#xff1f;使⽤RTOS和裸机代码开发有什么区别&#xff08;优缺点&#xff09;&#xff1f; 之前的⼀个项⽬是采⽤裸机代码开发的&#xff0c;写起来还⾏&#xff0c;通过状态机来管理业务逻辑和各种外设。 但是随着外设的增加&#xff0c;任务之间的…

【数学建模】天然肠衣搭配问题

2011高教社杯全国大学生数学建模竞赛D题 天然肠衣&#xff08;以下简称肠衣&#xff09;制作加工是我国的一个传统产业&#xff0c;出口量占世界首位。肠衣经过清洗整理后被分割成长度不等的小段&#xff08;原料&#xff09;&#xff0c;进入组装工序。传统的生产方式依靠人工…

【深度学习】实验1 波士顿房价预测

波士顿房价预测 代码 import numpy as np import matplotlib.pyplot as pltdef load_data():# 1.从文件导入数据datafile D:\Python\PythonProject\sklearn\housing.datadata np.fromfile(datafile, sep )# 每条数据包括14项&#xff0c;其中前面13项是影响因素&#xff0c…

iOS xib布局

1.多次启动发现启动图和截屏的图片不一致,设置launch storyboard 不能到顶部 https://blog.csdn.net/u011960171/article/details/104053696/ 2.multipiler是比例&#xff0c;需要控制顺序1.视图&#xff0c;2父视图&#xff0c;选择宽度比例&#xff0c;默认是1 3.Aspect R…

CSS-伪类选择器

结构伪类选择器 作用&#xff1a;根据元素的结构关系查找元素 分类&#xff1a; 选择器说明元素名:first-child查找第一个元素元素名:last-child查找最后一个元素元素名:nth-child(N)查找第N名元素 <!DOCTYPE html> <html lang"en"> <head><me…

《Beginning C++20 From Novice to Professional》第十章 Function Templates

C Template 基础篇&#xff08;一&#xff09;&#xff1a;函数模板_函数模板的定义及使用-CSDN博客 这篇博客提到模板是泛型编程的基础&#xff0c;把类型也当做参数&#xff0c;这样使得静态类型语言对类型的处理更强大&#xff0c;提高了代码的可重用性&#xff0c;目标和软…

Java 框架安全:Spring 漏洞序列.(CVE-2022-22965)

什么叫 Spring 框架. Spring 框架是一个用于构建企业级应用程序的开源框架。它提供了一种全面的编程和配置模型&#xff0c;可以简化应用程序的开发过程。Spring 框架的核心特性包括依赖注入&#xff08;Dependency Injection&#xff09;、面向切面编程&#xff08;Aspect-Or…

【漏洞复现】CData API Server 路径遍历漏洞(CVE-2024-31849)

0x01 产品简介 CData API Server是CData公司的一个强大的数据连接平台&#xff0c;旨在帮助企业轻松地访问、整合和分析各种数据源。 0x02 漏洞概述 CData API Server 23.4.8846之前版本存在安全漏洞&#xff0c;该漏洞源于存在路径遍历漏洞。攻击者可利用该漏洞获得对应用程…

深度剖析Comate智能产品:科技巧思,实用至上

文章目录 Comate智能编码助手介绍Comate应用场景Comate语言与IDE支持 Comate安装步骤Comate智能编码使用体验代码推荐智能推荐生成单测注释解释注释生成智能问答 Comate实战演练总结 Comate智能编码助手介绍 市面上现在有很多智能代码助手&#xff0c;当时互联网头部大厂百度也…

Selenium——获取元素和操纵元素的方法

1、获取元素的方法 1、通过id获取 element wd.find_element(By.ID,"id")2、通过classname获取 elements wd.find_elements_by_class_name("plant") for element in elements:print(element.text)3、通过tagname获取元素 elements wd.find_elements_…

Node.js版本管理工具nvm的安装和使用

介绍 nvm全称 Node Version Manager 顾名思义它是用来管理 node 版本的工具&#xff0c;方便切换不同版本的Node.js。 使用 nvm的使用非常简单&#xff0c;跟npm的使用方法类似 下载 首先下载nvm&#xff0c;下载地址https://github.com/coreybutler/nvm-windows/releases…

目前最便宜的VPS多少钱一个月?

目前最便宜的VPS一个月的价格在5美元左右&#xff0c;换算成人民币约为35元。 VPS服务器的配置、性能、所在地区都是影响其价格的因素&#xff0c;价格与性能呈正相关&#xff0c;也有的廉价VPS的服务商会提供性能低的配置&#xff0c;让用户可以进行简单的网站托管或开发环境…

Elasticsearch FSCrawler 一个bug及解决方案

1、FSCrawler Bug 发现过程及描述 书接上一回&#xff0c;在使用 Elasticsearch FSCrawler 实现文档知识库检索的时候。 发现基于本地磁盘文件轮询导入 Elasticsearch 都没有问题。 但是&#xff0c;借助其 REST API 接口上传文件的时候&#xff0c;发现其字段 filesize 字段没…

安装Nox夜神模拟器关闭了HyperV后Docker运行不了怎么办?

1.背景 为了模拟真机&#xff0c;尝试安装了Nox夜神模拟器&#xff0c; 安装过程要求关闭Hyper-V。当时只是在程序安装卸载中关闭了系统服务。以为到时勾选上就好了。操作路径&#xff1a;控制面板\所有控制面板项\程序和功能\启用或关闭Windows功能\Hyper-V。 后来卸载掉了夜神…

C++ list 介绍

&#x1f308;一、认识list这个模版 ist是一个模版&#xff0c;需要结合一个具体的数据类型作为模版参数&#xff0c; 即list < T > <T> <T>&#xff0c;才能成为一个类类型。list是双向循环链表&#xff0c;是序列容器&#xff0c;允许在序列中的任何位置进…

智启算力平台基本操作

智启算力平台 智启算力平台路径搭载数据集搭载镜像配置 智启算力平台 开发文档 帮助文档 - OpenI - 启智AI开源社区 路径搭载 OpenIOSSG/promote: 启智AI协作平台首页推荐组织及推荐项目申请。 - notice/Other_notes/SDKGetPath.md at master - promote - OpenI - 启智AI开…

深入剖析Tomcat(七) 日志记录器

在看原书第六章之前&#xff0c;一直觉得Tomcat记日志的架构可能是个“有点东西”的东西。在看了第六章之后呢&#xff0c;额… 就这&#xff1f;不甘心的我又翻了翻logback与新版tomcat的源码&#xff0c;额…&#xff0c;日志架构原来也没那么神秘。本篇文章先过一遍原书内容…