Rust后门样本加载与传播方式演变过程分析

2025-04-03 0 217

近年来,随着Rust语言在系统编程领域的广泛应用,基于该语言开发的恶意软件样本也随之显著增长,其特有的技术特性正逐渐成为网络犯罪分子的新选择,主要表现为以下几点:

  1. Rust提供了对底层硬件的直接访问能力,使得开发者能够编写出非常接近硬件底层的代码。
  2. Rust的内存安全特性(如所有权模型和生命周期检查)在一定程度上减少了常见的内存漏洞,使得恶意软件更加难以被检测和防御。
  3. Rust的跨平台兼容性和高性能特性,使得恶意软件可以更容易地在不同操作系统和硬件架构之间传播和运行。

从攻击角度来看,Rust的以下特性在恶意软件编写中被利用:

  • 内联汇编支持:Rust通过asm!宏支持x64内联汇编,允许开发者直接嵌入汇编指令,从而实现对硬件的精细控制。
  • 直接操作内存:Rust的unsafe关键字允许开发者绕过编译器的安全检查,直接操作内存,这为恶意软件编写者提供了更大的灵活性和控制权。
  • 反编译难度高:Rust的编译器优化和代码生成特性使得恶意软件的反编译和分析变得更加困难,从而增加了恶意软件的隐蔽性和防御难度。

目前,火绒在检测Rust样本过程中,已捕获数十万相关样本,且样本种类繁多。其中,排名前几位的样本类型主要集中在恶意软件、漏洞利用工具、黑客工具和后门程序。通过对这些样本进行深入分析,我们发现大多数恶意软件样本利用了Rust的内存特性来加载恶意代码,并借助后端LLVM Pass进行二次混淆,使得调试分析变得更加困难。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

Rust样本数量图

随着技术的持续发展,Rust生态系统日益成熟,新的恶意软件样本类型和攻击手法也不断涌现,因此,应对和分析Rust样本是有必要的。

接下来,本文将从多个角度剖析Rust在恶意软件中的具体应用,并对最新捕获的Rust样本进行详细分析。

一、Rust在恶意软件中的应用场景

Shellcode

Rust通过asm!宏支持内联汇编(Inline Assembly),允许开发者直接在代码中嵌入特定架构的机器指令。这一特性使病毒开发者在编写Shellcode时,能够更加灵活且具有更强的控制力。

 

use std::arch::asm;

//Linux

fn main() {

unsafe {

asm!(

“mov rax, 60”,

“mov rdi, 42”,

“syscall”,

);

}

}

在Windows系统中,恶意软件通常需要动态获取系统函数的地址来执行恶意代码。其具体流程为:首先通过解析进程环境块(PEB),获取Kernel32.dll的基地址,然后进一步获取GetProcAddress函数的地址,最终实现任意函数的调用。以下是经过Rust编译的Shellcode具体实例。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

Rust编写的Shellcode

Cobalt Strike

Cobalt Strike通过Rust重写的核心部分在于其通信协议的实现,主要包括RSA加解密、AES加解密、Base64编解码及配置文件的加密与解析。其具体流程为:首先提取配置信息,然后利用RSA对这些信息进行加密,其中加密过程涉及用于AES解密协商的密钥。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

RSA公钥

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

RSA加密

随后,对回传的数据进行AES加解密。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

AES-CBC加解密

对任务进行解析后,利用命令行库CMD实现跨平台(Windows、Linux、macOS)的任务执行。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

C2 Task执行

Rootkit

Rootkit是一种用于隐藏恶意软件的工具,通常需要深入到操作系统的内核层进行操作。Rust语言凭借其内存安全性和对硬件的直接访问能力,逐渐成为编写Rootkit的新选择。

以下是一个由Rust开发的Rootkit样本。该样本具备多种高级功能,包括进程隐藏、进程注入、内核结束进程,以及摘除进程创建、线程创建、模块加载和注册表操作的回调。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

Rootkit功能图

断链隐藏驱动、断链隐藏进程。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

断链隐藏驱动

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

断链隐藏进程

内核结束进程。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

内核结束进程

内核APC Shellcode注入。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

内核APC Shellcode注入

通过getAsyncKeyState获取键盘数据。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

getAsyncKeyState获取键盘数据

摘除进程回调、线程回调、模块加载回调、注册表回调。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

摘除进程回调、线程回调、模块加载回调、注册表回调

二、最新样本分析

近期,火绒威胁情报中心检测到一批由Rust编写的恶意样本。这些样本的主要行为是从远程网络服务器获取Shellcode并加载执行。样本的传播方式不断演变,包括通过MSI安装包、EXE可执行文件等多种形式。目前,火绒安全已支持查杀此类恶意样本,能够有效保护用户的系统安全,为了进一步提升防护能力,建议广大用户及时安装或更新火绒安全软件,以确保系统具备最新的防护能力,有效抵御新兴威胁,防范潜在的安全风险。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

查杀图

执行流程图如下:

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

流程图

wininstall.exe:

在wininstall.exe中,Rust的main函数并不是直接执行的,而是先配置一系列的异常处理机制、TLS回调以及堆栈等环境,在完成这些初始化操作后,main函数开始执行。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

main函数

随后,样本会检测当前是否具有管理员权限。如果具备管理员权限,则通过创建计划任务来实现权限维持,并从远程网络服务器下载并执行Shellcode。如果不具备管理员权限,则结束进程。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

管理员权限执行

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

计划任务

通过PowerShell命令创建计划任务。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

计划任务:PowerShell

在通过网络请求获取配置信息时,样本会设置自定义的User-Agent(UA)头,以此来模拟合法流量并达到规避检测的目的。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

User-Agent(UA)

随后,样本会在http://fanciful-gelato-78b95c.netlify.app/15429b.bin中下载恶意Shellcode代码,并将其加载执行。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

下载恶意Shellcode代码

接下来,样本通过申请内存空间、复制恶意代码并修改内存属性(设置为可执行权限)的方式,加载并执行Shellcode。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

分配内存

最后,样本通过创建新线程来实现执行恶意代码。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

线程执行

对其恶意代码进行分析,其通过CLR(Common Language Runtime公共语言运行库)内存加载PE的方式执行后门功能。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

内存加载PE

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

内存PE

对提取的PE文件进行分析后,确认其为Xworm 5.6远控木马,后门通信地址为154.197.33.29:7000。该变种版本已将所有与”Xworm”相关的字段抹去,以规避检测。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

修改版Xworm 5.6

huhu7.26.msi安装:

在初始版本中通过MSI安装程序释放并执行恶意代码,释放的文件包括:

  • protector.exe(基于Rust编写的恶意代码加载器)。
  • Firefoxlatest.exe(合法的火狐浏览器安装程序,用于伪装)。
  • JPG文件。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

MSI释放文件

通过对MSI安装包的CustomAction进行分析,可以发现protector.exe是由aicustact.dll的导出函数LaunchAPP启动执行的。而火狐浏览器安装程序则是通过viewer.exe以命令行方式进行安装的。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

MSI主行为

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

AI_APP_FILE

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

执行Rust加载器

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

命令行执行火狐安装程序

初始版本的Rust加载器附带了PDB符号文件。经分析发现,其行为与变种版本基本一致:均通过添加计划任务实现持久化,并从网络地址http://107.167.2.178/15429.bin下载并执行恶意代码。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

下载恶意代码

后续加载过程与变种版本相同,具体步骤如下:先开辟一块内存空间,再将内存的权限修改为可执行,最后创建线程来执行下载的恶意代码。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

分配内存

对网络获取的恶意代码Shellcode进行分析后,发现其执行方式同样是通过内存加载PE文件。该版本与变种版本的主要区别在于,其中的Xworm后门为未修改的5.6版本。

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

原版Xworm5.6

三、附录

C&C:

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

HASH:

Rust后门样本加载与传播方式演变过程分析Rust后门样本加载与传播方式演变过程分析

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

注:在使用本系统时,使用方必须在国家相关法律法规范围内并经过国家相关部门的授权许可,禁止用于一切非法行为。使用用途仅限于测试、实验、研究为目的,禁止用于一切商业运营,本团队不承担使用者在使用过程中的任何违法行为负责。

83源码 资讯动态 Rust后门样本加载与传播方式演变过程分析 https://www.83ym.com/205.html

认准唯一TG:@ym830

常见问题
  • 站内所有资源,针对不同等级VIP会员可直接下载,特殊资源商品会注明是否免费,指会员所享有根据选择购买的会员选项所享有的特殊服务,具体以本站公布的服务内容为准。
查看详情
  • 按照我国的法律规定,运营网络棋牌首先需要成立一个注册正规备案的公司,然后申请网站备案、文网文、ICP等等,这些证件缺一不可。 一.注册公司 在当地工商进行注册,公司名称以“XX科技有限公司”为名,如:富裕棋牌经营范围填写“计算机软硬件、网络设备的设计开发与购销”。 二.域名及网站备案 在国内从事网站经营活动就必须经过相关部门的备案,因此棋牌运营商在购买了域名后,就要到当地网监局办理网站备案,或者请服务器提供商代为备案。 三.申请文网文 文网文全称为网络文化经营许可证,是从事经营性互联网文化活动所必需的资质。一般是需要到当地省一级(省、直辖市、自治区)的文化行政部门提出申请,并经由当地的文化行政部门合法批准。次资质要求申请公司注册资金必需达到1000万,并提供游戏版权证明文件。 四.申请ICP ICP又称为增值电信业务许可证,所有网络游戏运营商均需要办理ICP许可证,此证件要求公司注册资金1000万,需到当地市级通讯管理局办理。 五.申请文网游——游戏备案 根据《网络游戏管理暂行办法》(文化部第49号)的规定,国产网络游戏在上网运营之日起30日内应当按规定向国务院文化行政部门履行备案手续。 以上就是网络棋牌游戏正规运营所必需的资质证明。一般作为正规有实力的棋牌游戏开发公司,不光要具备所有的正规资质,而且会对投资者、代理商等合作伙伴给予相关指导和协助,与合作伙伴携手共赢!
查看详情

相关文章

猜你喜欢
官方客服团队

为您解决烦忧 - 24小时在线 专业服务