当前位置: 首页 > 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开…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁

赛门铁克威胁猎手团队最新报告披露&#xff0c;数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据&#xff0c;严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能&#xff0c;但SEMR…...