当前位置: 首页 > news >正文

[译文] 恶意代码分析: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/ )


相关文章:

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

这是作者新开的一个专栏&#xff0c;主要翻译国外知名安全厂商的技术报告和安全技术&#xff0c;了解它们的前沿技术&#xff0c;学习它们威胁溯源和恶意代码分析的方法&#xff0c;希望对您有所帮助。当然&#xff0c;由于作者英语有限&#xff0c;会借助LLM进行校验和润色&am…...

Spring Boot3.x集成Disruptor4.0

Disruptor介绍 Disruptor是一个高性能内存队列&#xff0c;研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单&#xff0c;2010年在QCon演讲后&#xff0c;获得了业界关注。2011年&…...

GoEdge自建CDN工具

GoEdge是一款管理分布式CDN边缘节点的开源工具软件&#xff0c;可以让用户轻松地、低成本地创建CDN/WAF等应用。同时提供免费版本和商业版本&#xff0c;本文基本免费版本安装测试。 GoEdgep安装涉及三部分&#xff1a; 边缘节点 - 接收和响应用户请求的终端节点 管理员系统 - …...

牛客储物点的距离

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 一个数轴&#xff0c;每一个储物点会有一些东西&#xff0c;同时它们之间存在距离。 每次给个区间[l,r],查询把这个区间内所有储物点的东西运到另外一个储物点的代价是多少&#xff1…...

【C++历练之路】红黑树——map与set的封装实现

W...Y的个人主页&#x1f495; gitee代码仓库分享&#x1f60a; 前言&#xff1a;上篇博客中&#xff0c;我们为了使二叉搜索树不会出现”一边倒“的情况&#xff0c;使用了AVL树对搜索树进行了处理&#xff0c;从而解决了数据在有序或者接近有序时出现的情况。但是AVL树还会…...

RDB快照是怎么实现的?

RDB快照是怎么实现的&#xff1f; 前言快照怎么用&#xff1f;执行快照时&#xff0c;数据能被修改吗&#xff1f;RDB 和 AOF 合体 前言 虽说 Redis 是内存数据库&#xff0c;但是它为数据的持久化提供了两个技术。 分别是「 AOF 日志和 RDB 快照」。 这两种技术都会用各用一…...

智能体可靠性的革命性提升,揭秘知识工程领域的参考架构新篇章

引言&#xff1a;知识工程的演变与重要性 知识工程&#xff08;Knowledge Engineering&#xff0c;KE&#xff09;是一个涉及激发、捕获、概念化和形式化知识以用于信息系统的过程。自计算机科学和人工智能&#xff08;AI&#xff09;历史以来&#xff0c;知识工程的工作流程因…...

Shell 初始化配置指北 | Ubuntu

唠唠闲话 概要&#xff1a;在不同的Shell环境&#xff08;如Bash和Zsh&#xff09;中设置环境变量、设置初始脚本&#xff0c;以及如何根据不同的使用场景&#xff08;用户级或系统级&#xff09;管理和设置初始运行命令。 p.s. 如果你很熟悉 Linux&#xff0c;推荐跳到最后一…...

[嵌入式系统-69]:RT-Thread-组件:网络组件“组”,RT-Thread系统通向外部网络世界的入口

目录 RT-Thread 提供的网络世界入口 - 网络组件 1. 总概 2. AT 3. Lwip&#xff1a; 轻量级IP协议栈 4. W5500 5. Netdev 6. RT-Thread SAL&#xff08;Socket Abstraction Layer&#xff09;套接字和BSD套接字区别 RT-Thread SAL 套接字接口示例 BSD 套接字接口示例 …...

Linux学习笔记1---Windows上运行Linux

在正点原子的教程中学习linux需要安装虚拟机或者在电脑上安装一个Ubuntu系统&#xff0c;但个人觉得太麻烦了&#xff0c;现在linux之父加入了微软&#xff0c;因此在Windows上也可以运行linux 了。具体方法如下&#xff1a; 一、 在Windows上的设置 在window的搜索框内&#…...

Java算法-力扣leetcode-135. 分发糖果

135. 分发糖果 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&#xff0c;给这些孩子分发糖果&#xff1a; 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果&#xff0c;计算并…...

企业为什么需要主数据管理工具?十大热门主数据管理工具盘点

主数据管理是一套综合性的策略和技术&#xff0c;用于协调和管理企业内用于识别关键业务实体&#xff08;如客户、产品、供应商和员工&#xff09;的一致性、准确性和统一性的数据。主数据管理的目的是创建一个“单一真相源”&#xff0c;确保在不同部门和系统之间共享的数据保…...

免费思维13招之一:体验型思维

思维01:体验型思维 第一大战略:体验型思维。 体验型思维是免费思维中最简单的思维,我们先从最简单的讲起,由简入繁,简单的我们少讲,复杂的我们多讲。 那么,什么是体验型思维呢? 很简单,就是先让客户进行体验,再进行成交的方式。这一种思维,具体的可以分为两种:…...

面试C++(基础篇)-NULL与nullptr的区别?

3: NULL与nullptr的区别&#xff1f; 在C中&#xff0c;NULL和nullptr都用于表示空指针&#xff0c;但它们之间存在一些关键的区别&#xff1a; 1. 来源和含义&#xff1a; • NULL&#xff1a;在C中&#xff0c;NULL最初是从C语言中继承过来的&#xff0c;定义在<cstddef…...

「AIGC」深度学习

深度学习是机器学习的一个子领域&#xff0c;它基于人工神经网络的学习算法。深度学习在图像和语音识别、自然语言处理、医学图像分析、药物发现、自动驾驶汽车等领域取得了显著的进展。以下是围绕深度学习的几个关键主题的阐述。 学习路线 基础数学&#xff1a; 了解线性代数…...

mysql5.7数据库安装及性能测试

mysql5.7数据库安装及性能测试 记录Centos7.9下安装mysql 5.7并利用benchmark工具简单测试mysql的性能。 测试机&#xff1a;centos7.9 配置&#xff1a;4C8G40G 1. 下安装mysql5.7 安装mysql5.7&#xff1a; # 通过官方镜像源安装$ wget http://dev.mysql.com/get/mysql57-com…...

聪明与诚实:社会信任的桥梁

在现代社会中&#xff0c;我们经常听到这样的评价&#xff1a;“某人真聪明。”然而&#xff0c;当我们深入思考时&#xff0c;会发现“聪明”这个词背后所承载的含义并不单一。聪明和狡诈往往被混淆&#xff0c;而诚实的价值却时常被忽视。在一个高度诚信的社会里&#xff0c;…...

基于单片机的无线数据传输系统设计

摘要:基于单片机的无线数据传输系统的设计,实现了温度和湿度的自动采集、无线通讯和报警功能。该系统包括了LCD1602显示电路、DHT11温湿度采集电路等,完成了基于无线数据传输的方法来实现温湿度的采集。 关键词:温湿度检测;N RF 24 L 01;单片机 0 引言 随着科技水平的提高,…...

【IP:Internet Protocol,子网(Subnets),IPv6:动机,层次编址:路由聚集(rout aggregation)】

文章目录 IP&#xff1a;Internet Protocol互联网的的网络层IP分片和重组&#xff08;Fragmentation & Reassembly&#xff09;IP编址&#xff1a;引论子网&#xff08;Subnets&#xff09;特殊IP地址IP 编址: CIDR子网掩码&#xff08;Subnet mask&#xff09;转发表和转发…...

智启算力平台基本操作

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

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

git: early EOF

macOS报错&#xff1a; Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...

深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向

在人工智能技术呈指数级发展的当下&#xff0c;大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性&#xff0c;吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型&#xff0c;成为释放其巨大潜力的关键所在&…...