揭秘APT团体常用的秘密武器——AsyncRAT
AsyncRAT 是 2019 年 1 月在 [GitHub](https://github.com/NYAN-x-CAT/AsyncRAT-C-
Sharp)上开源的远控木马,旨在通过远程加密链接控制失陷主机,提供如下典型功能:
截取屏幕
键盘记录
上传/下载/执行文件
持久化
禁用 Windows Defender
关机/重启
DOS 攻击
GitHub 上提供了免责声明,但 AsyncRAT 仍然被许多攻击者,甚至是 APT 组织所广泛使用。Netskope
的研究人员最近发现了一个零检出的恶意脚本,该脚本通过 Amazon S3 存储桶下载 AsyncRAT 恶意软件。在分析时,VirusTotal
上的所有检测引擎都没有检出。
攻击链
阶段 01 - 零检出 Downloader
起始的批处理脚本,就是 VirusTotal 零检出的文件。
零检出
Downloader
尽管没有检测引擎检出,但该样本仍然能够被沙盒动态分析中的 Sigma 和 IDS 规则进行检出。
Sigma
规则检测恶意行为
检测引擎未能静态检出可能是由于攻击者在文件中增加了超过一百个长字符串进行干扰。
注释字符串
字符串都是相同的日文文本,翻译过来都是无用的废话。
文本翻译
恶意的命令反而非常简单,夹杂在无意义的长字符串间。经过了混淆也可能是导致没有检出的原因之一。
恶意命令
恶意命令通过 PowerShell 从 Amazon S3 存储桶下载并执行后续阶段攻击。
阶段 02 - PowerShell
从 Amazon S3 存储桶下载的文件是一个 PowerShell 脚本。它首先在 C:\ProgramData中创建一个名为 Not的文件夹。
创建目录
随后在目录中创建五个文件,链式执行另一个 PowerShell 脚本。
链式执行
最后一个 PowerShell 脚本中包含两个 PE 文件:
PowerShell
脚本
第一个文件名为 RunPE,第二个文件用于将 AsyncRAT 注入到的合法进程中。
运行命令
PowerShell 脚本将 RunPE 直接加载到内存中,因此所有 PE 文件都不会落地。
阶段 03 - RunPE
该文件负责使用 Process Hollowing 技术将 AsyncRAT 注入另一个进程,攻击者使用 .NET 开发该恶意软件并使用 Confuser
进行加壳。
RunPE
文件信息
后续由 PowerShell 脚本将 RunPE 加载到内存中,调用 Execute方法。该方法接收可执行文件路径
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe与参数中的
AsyncRAT 数据。
执行函数
去除混淆后,可以明确看出 AsyncRAT 是通过 Process Hollowing 注入的。
函数调用
阶段 04 - AsyncRAT
AsyncRAT 样本在 2022 年 7 月 22 日编译。
AsyncRAT
样本
样本没有经过混淆,可以直接进行反编译。
反编译
AsyncRAT 样本
AsyncRAT 样本的主要执行流程如下所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Na9wvjd3-1690462041362)(https://image.3001.net/images/20220911/1662825819_631cb55bc207361da612b.png!small)]多个方法
AsyncRAT 的配置在 InitializeSettings函数中被解密。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4FKJhWaj-1690462041363)(https://image.3001.net/images/20220911/1662825820_631cb55cb113821d3ebc0.png!small)]解密的配置参数
AsyncRAT 在 CBC 模式下使用 AES-256 算法来解密字符串:
使用
AES 解密
该函数读取 base64 编码的字符串,前 32 个字节代表 HMAC,后面 16 个字节是解密向量 IV,其余字节是加密数据。
加密数据
研究人员提供了解密 AsyncRAT 的 Python
脚本。
配置解密
该样本并未启用反分析功能,但也使用了反虚拟化的技术,检查了硬盘大小、操作系统制造商和型号等。
AsyncRAT
反分析
样本还通过注册表与计划任务来实现持久化。
持久化机制
AsyncRAT 将 C&C 地址和端口存储在其配置中,还提供了从 Pastebin 下载获取配置的选项。
从
Pastebin 下载获取配置
AsyncRAT 与 C&C 服务器进行加密通信,通过界面控制设备。
AsyncRAT
控制面板
结论
本文介绍了 AsyncRAT 完整攻击流程的一个示例,攻击者甚至动用了完全未检测的脚本。由于 AsyncRAT
开源,攻击者都可以根据自己的需要进行功能修改。
IOC
6d49c55e6231ae7af3b09287df08f440> 96e6e83b2a8e85153bcf6756403ae3e0> 228c44b9cc0e8c86c51fddaf3294bcf8> 370a1f36b649d6a041afca88c6ac0e55> 9c7994acb861283eab4675bb06ba4159> bed7fd2f5fc7183c0a509fc8f9d48ec9> 192a7c188e6ede340bdb4d518a4ed036> 2cb-586884e131b1c0ba96396ea4e70f6> fbf876a3676d0b6959639bc5c603d8e4> hxxps://buckotx.s3.amazonaws[.]com/x.png> bashamed[.]org:6666
参考来源
[Netskope](https://www.netskope.com/blog/asyncrat-using-fully-undetected-
downloader)
这时候你当然需要一份系统性的学习路线
如图片过大被平台压缩导致看不清的话,可以在文末下载(无偿的),大家也可以一起学习交流一下。

一些我收集的网络安全自学入门书籍

一些我白嫖到的不错的视频教程:

上述资料【扫下方二维码】就可以领取了,无偿分享

相关文章:
揭秘APT团体常用的秘密武器——AsyncRAT
AsyncRAT 是 2019 年 1 月在 [GitHub](https://github.com/NYAN-x-CAT/AsyncRAT-C- Sharp)上开源的远控木马,旨在通过远程加密链接控制失陷主机,提供如下典型功能: 截取屏幕 键盘记录 上传/下载/执行文件 持久化 禁用 Windows Defender 关机/…...
Flutter Widget Life Cycle 组件生命周期
Flutter Widget Life Cycle 组件生命周期 视频 前言 了解 widget 生命周期,对我们开发组件还是很重要的。 今天会把无状态、有状态组件的几个生命周期函数一起过下。 原文 https://ducafecat.com/blog/flutter-widget-life-cycle 参考 https://api.flutter.dev/f…...
LeetCode面向运气之Javascript—第2600题-K件物品的最大和-94.68%
LeetCode第2600题-K件物品的最大和 题目要求 袋子中装有一些物品,每个物品上都标记着数字 1 、0 或 -1 。 四个非负整数 numOnes 、numZeros 、numNegOnes 和 k 。 袋子最初包含: numOnes 件标记为 1 的物品。numZeroes 件标记为 0 的物品。numNegOn…...
数学建模学习(4):TOPSIS 综合评价模型及编程实战
一、数据总览 需求:我们需要对各个银行进行评价,A-G为银行的各个指标,下面是银行的数据: 二、代码逐行实现 清空代码和变量的指令 clear;clc; 层次分析法 每一行代表一个对象的指标评分 p [8,7,6,8;7,8,8,7];%每一行代表一个…...
PHP之Smarty使用以及框架display和assign原理
一、Smarty的下载 进入Smarty官网下载,复制目录libs目录即可http://www.smarty.net/http://www.smarty.net/ 二、使用Smarty,创建目录demo,把libs放进去改名为Smarty 三、引入Smarty配置,创建目录,index.php文件配置 <?php…...
《TCP IP网络编程》第十一章
第 11 章 进程间通信 11.1 进程间通信的基本概念 通过管道实现进程间通信: 进程间通信,意味着两个不同的进程中可以交换数据。下图是基于管道(PIPE)的进程间通信的模型: 可以看出,为了完成进程间通信&…...
Folx Pro 5 最好用的Mac磁力链接BT种子下载工具
除了迅雷,还有哪个支持磁力链接下载?Mac电脑如何下载磁力链接?经常有小伙伴问老宅。今天,老宅给大家推荐Folx Pro For Mac,Mac系统超好用的磁力下载工具。 Folx是一款功能强大且易于使用的Mac下载管理器,并…...
Redis 数据库的高可用
文章目录 Redis 数据库的高可用一.Redis 数据库的持久化1.Redis 高可用概念2.Redis 实现高可用的技术2.1 持久化2.2 主从复制2.3 哨兵2.4 Cluster集群 3.Redis 持久化3.1 持久化的功能3.2 Redis 提供持久化的方式3.2.1 RDB 持久化3.2.2 AOF 持久化(append only file…...
elementPlus dialog组件设置可拖动,当内容高度大于视口高度拖动显示异常的解决办法
elementPlus UI的dialog弹框组件在设置了draggable属性后就可拖动弹框,但是当弹框的内容高度大于视口高度时去拖动弹框就会出现显示问题。 解决办法(修改源码) 去node_modules下面找到element-plus文件夹,按照以下路径修改onMou…...
亲测解决Git inflate: data stream error (incorrect data check)
Git inflate: data stream error (incorrect data check) error: unable to unpack… 前提是你的repository在github等服务器或者其他路径有过历史备份/副本,不要求是最新版本的,只要有就可能恢复你做的所有工作。 执行git fsck --full检查损坏的文件 在…...
Ansible 自动化运维工具
Ansible 简介 Ansible 自动化运维工具(机器管理工具)可以实现批量管理多台(成百上千)主机,应用级别的跨主机编排工具。现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstac…...
node.js 爬虫图片下载
主程序文件 app.js 运行主程序前需要先安装使用到的模块: npm install superagent --save axios要安装指定版,安装最新版会报错:npm install axios0.19.2 --save const {default: axios} require(axios); const fs require(fs); const superagent r…...
VAE-根据李宏毅视频总结的最通俗理解
1.VAE的直观理解 先简单了解一下自编码器,也就是常说的Auto-Encoder。Auto-Encoder包括一个编码器(Encoder)和一个解码器(Decoder)。其结构如下: 自编码器是一种先把输入数据压缩为某种编码, 后仅通过该编…...
【LangChain】检索器之上下文压缩
LangChain学习文档 【LangChain】检索器(Retrievers)【LangChain】检索器之MultiQueryRetriever【LangChain】检索器之上下文压缩 上下文压缩 LangChain学习文档 概要内容使用普通向量存储检索器使用 LLMChainExtractor 添加上下文压缩(Adding contextual compression with an…...
uniapp 语音文本播报功能
最近uniapp项目上遇到一个需求 就是在接口调用成功的时候加上语音播报 , ‘创建成功’ ‘开始成功’ ‘结束成功’ 之类的。 因为是固定的文本 ,所以我先利用工具生成了 文本语音mp3文件,放入项目中,直接用就好了。 这里用到的工…...
腾讯云高IO型云服务器CPU型号处理器主频性能
腾讯云服务器高IO型CVM实例CPU处理器主频性能说明,高IO型云服务器具有高随机IOPS、高吞吐量、低访问延时等特点,适合对硬盘读写和时延要求高的高性能数据库等I/O密集型应用,腾讯云服务器网分享高IO型云服务器IT5和IT3的CPU处理器说明…...
【数据结构】实验八:树
实验八 树 一、实验目的与要求 1)理解树的定义; 2)掌握树的存储方式及基于存储结构的基本操作实现; 二、 实验内容 题目一:采用树的双亲表示法根据输入实现以下树的存储,并实现输入给定结点的双亲结点…...
kafka消费者api和分区分配和offset消费
kafka消费者 消费者的消费方式为主动从broker拉取消息,由于消费者的消费速度不同,由broker决定消息发送速度难以适应所有消费者的能力 拉取数据的问题在于,消费者可能会获得空数据 消费者组工作流程 Consumer Group(CG&#x…...
【驱动开发day4作业】
头文件代码 #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t; #define PHY_LED1_ADDR 0X50006000 #define PHY_LED2_ADDR 0X50007000 #…...
Ubuntu 20.04 Ubuntu18.04安装录屏软件Kazam
1.在Ubuntu Software里面输入Kazam,就可以找不到这个软件,直接点击install就可以了 2.使用方法: 选择Screencast(录屏) Fullscreen(全屏)-----Windows(窗口)--------Ar…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...
命令行关闭Windows防火墙
命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)方法二:CMD命令…...
