揭秘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…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
