揭秘APT团体常用的秘密武器——AsyncRAT

news2024/11/18 9:44:18

AsyncRAT 是 2019 年 1 月在 [GitHub](https://github.com/NYAN-x-CAT/AsyncRAT-C-
Sharp)上开源的远控木马,旨在通过远程加密链接控制失陷主机,提供如下典型功能:

截取屏幕

键盘记录

上传/下载/执行文件

持久化

禁用 Windows Defender

关机/重启

DOS 攻击

GitHub 上提供了免责声明,但 AsyncRAT 仍然被许多攻击者,甚至是 APT 组织所广泛使用。Netskope
的研究人员最近发现了一个零检出的恶意脚本,该脚本通过 Amazon S3 存储桶下载 AsyncRAT 恶意软件。在分析时,VirusTotal
上的所有检测引擎都没有检出。

image.png-93.4kB攻击链

阶段 01 - 零检出 Downloader

起始的批处理脚本,就是 VirusTotal 零检出的文件。

image.png-65.5kB零检出
Downloader

尽管没有检测引擎检出,但该样本仍然能够被沙盒动态分析中的 Sigma 和 IDS 规则进行检出。

image.png-276.1kBSigma
规则检测恶意行为

检测引擎未能静态检出可能是由于攻击者在文件中增加了超过一百个长字符串进行干扰。

image.png-427.2kB注释字符串

字符串都是相同的日文文本,翻译过来都是无用的废话。

image.png-125.7kB文本翻译

恶意的命令反而非常简单,夹杂在无意义的长字符串间。经过了混淆也可能是导致没有检出的原因之一。

image.png-220.1kB恶意命令

恶意命令通过 PowerShell 从 Amazon S3 存储桶下载并执行后续阶段攻击。

阶段 02 - PowerShell

从 Amazon S3 存储桶下载的文件是一个 PowerShell 脚本。它首先在 C:\ProgramData中创建一个名为 Not的文件夹。

image.png-18.2kB创建目录

随后在目录中创建五个文件,链式执行另一个 PowerShell 脚本。

image.png-114.9kB链式执行

最后一个 PowerShell 脚本中包含两个 PE 文件:

image.png-115.3kBPowerShell
脚本

第一个文件名为 RunPE,第二个文件用于将 AsyncRAT 注入到的合法进程中。

image.png-78.6kB运行命令

PowerShell 脚本将 RunPE 直接加载到内存中,因此所有 PE 文件都不会落地。

阶段 03 - RunPE

该文件负责使用 Process Hollowing 技术将 AsyncRAT 注入另一个进程,攻击者使用 .NET 开发该恶意软件并使用 Confuser
进行加壳。

image.png-74.9kBRunPE
文件信息

后续由 PowerShell 脚本将 RunPE 加载到内存中,调用 Execute方法。该方法接收可执行文件路径
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe与参数中的
AsyncRAT 数据。

image.png-134.8kB执行函数

去除混淆后,可以明确看出 AsyncRAT 是通过 Process Hollowing 注入的。

image.png-85.3kB函数调用

阶段 04 - AsyncRAT

AsyncRAT 样本在 2022 年 7 月 22 日编译。

image.png-81.5kBAsyncRAT
样本

样本没有经过混淆,可以直接进行反编译。

image.png-39.2kB反编译
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 算法来解密字符串:

image.png-181.6kB使用
AES 解密

该函数读取 base64 编码的字符串,前 32 个字节代表 HMAC,后面 16 个字节是解密向量 IV,其余字节是加密数据。

image.png-94kB加密数据

研究人员提供了解密 AsyncRAT 的 Python
脚本。

image.png-396.3kB配置解密

该样本并未启用反分析功能,但也使用了反虚拟化的技术,检查了硬盘大小、操作系统制造商和型号等。

image.png-50.6kBAsyncRAT
反分析

样本还通过注册表与计划任务来实现持久化。

image.png-96.3kB持久化机制

AsyncRAT 将 C&C 地址和端口存储在其配置中,还提供了从 Pastebin 下载获取配置的选项。

image.png-88.3kB
Pastebin 下载获取配置

AsyncRAT 与 C&C 服务器进行加密通信,通过界面控制设备。

image.png-165.1kBAsyncRAT
控制面板

结论

本文介绍了 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)

这时候你当然需要一份系统性的学习路线

如图片过大被平台压缩导致看不清的话,可以在文末下载(无偿的),大家也可以一起学习交流一下。

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/799911.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端工作中常用 CSS 知识点整理

1.1文字溢出省略号 文字单行溢出: overflow: hidden; // 溢出隐藏 text-overflow: ellipsis; // 溢出用省略号显示 white-space: nowrap; // 规定段落中的文本不进行换行 多行文字溢出: overflow: hidden; // 溢出隐藏 text-overflow: …

百度:文心千帆 网页搭建和示例测评

文章目录 官方文档代码示例token获取流式回答官网完整示例 制作一个网页端 官方文档 https://cloud.baidu.com/doc/WENXINWORKSHOP/s/flfmc9do2按照这个操作进行创建一个应用: 代码示例 token获取 # 填充API Key与Secret Key import requests import jsondef ma…

Ubuntu 曝Linux漏洞,近 40% 用户受影响

Bleeping Computer 网站披露,Wiz 研究人员 s.Tzadik 和 s.Tamari 发现 Ubuntu 内核中存在两个 Linux 漏洞 CVE-2023-32629 和 CVE-2023-2640,没有特权的本地用户可能利用其在设备上获得更高权限,影响大约 40% 的 Ubuntu 用户。 Ubuntu 是目前…

监控概述、安装zabbix、配置zabbixagent、添加被控端主机、常用监控指标、自定义监控项

day01 day01监控概述监控命令zabbix安装zabbix 6.0配置zabbix监控web1服务器在web1上安装agent在web页面中添加对web1的监控常用监控指标自定义监控项实现监控web1用户数量的监控项在被控端创建key创建模板应用模板到主机查看结果 监控概述 对服务的管理,不能仅限…

Andorid播放多媒体文件——播放视频

以下内容摘自郭霖《第一行代码》第三版 播放视频 VideoView的常用方法 方法名功能描述setVideoPath()设置要播放的视频文件的位置start()开始或继续播放视频pause()暂停播放视频resume()将视频从头开始播放seekTo()从指定的位置开始播放视频isPlaying()判断当前是否正在播放…

java-day01

一:基础常识 软件:按照特定顺序的计算机数据与指令的集合。可分为系统软件(如操作系统)和应用软件(如QQ) 人机交互方式:图形化界面(GUI)与命令行(CLI&#…

C++:封装一个Vector容器

#include <iostream>using namespace std; template <typename T>class Myvector {private:T * first;T * last;T * end;public://构造函数Myvector(int size 10){this->first new T[size];this->last this->first;this->end this->first size…

Meta论文文献检索国内外检索数据库

今天分享国内外的一个文献检索 因为国内的文献存在一种情况是什么 国内的文献相对来说质量可能大部分来说可能质量偏低 这个不是说是崇洋媚外 我们不能以偏概全只能说大部分来说可能质量这个太低 可以想一下其实如果文章的质量真的是很好的话大家也都知道肯定都发SCI 对于…

【每日一题】—— C - (K+1)-th Largest Number (AtCoder Beginner Contest 273)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;每日一题 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日反刍 &#x1f7e1; C跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称…

「二分搜索Binary Search」

文章目录 0 框架1 基本二分1.1 寻找一个数题解Code结果 1.2 寻找左侧边界的二分搜索Code 1.3 寻找右侧边界的二分搜索Code 0 框架 int binarySearch(vector<int> &nums, int target) {int left 0, right ....;//right具体看情况while (....){int mid left (righ…

ThinkPHP8知识详解:给PHP8和MySQL8添加到环境变量

在PHPenv安装的时候&#xff0c;环境变量默认的PHP版本是7.4的&#xff0c;MySQL的版本是5.7的&#xff0c;要想使用ThinkPHP8来开发&#xff0c;就必须修改环境变量&#xff0c;本文就详细讲解了如果修改PHP和MySQL的环境变量。 1、添加网站 启动phpenv&#xff0c;网站&…

抖音SEO源码开发指南:介绍如何开发抖音SEO源码的基本步骤和要点。

一、 抖音SEO源码开发指南&#xff1a; 确定目标&#xff1a;首先要明确开发抖音SEO源码的目标是什么&#xff0c;是提高搜索排名还是增加用户量等。根据不同的目标来制定开发策略和思路。 分析竞争&#xff1a;对于同类产品&#xff0c;要进行竞争分析&#xff0c;了解对手的…

安装Windows版nginx以及部署前端代码并就解决刷新出现404

文章目录 1.安装Nginx2.启动Nginx以及常用命令2.1 常用命令 3.部署前端打好的dist包4.前端部署nginx刷新后404&#xff0c;解决Nginx刷新页面后404的问题 1.安装Nginx &#xff08;1&#xff09;下载地址&#xff1a;https://nginx.org/en/download.html &#xff08;2&#x…

从0到1精通,Python接口自动化测试,测试进阶之道...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 如何实现python接…

【学习篇】学习Linux下常用的shell指令

前言&#xff1a;2020年写的一篇博文&#xff0c;Linux下好多指令都不太会用&#xff0c;想利用这个五一好好背一背&#xff0c;要不然用到的时候都反应不过来&#xff0c;还会用错&#xff0c;造成不可估量的风险&#xff0c;哭。。。 以下只摘录了我工作中经常要用到的一些指…

剑指offer10-I.斐波那契数列

学计算机的对这道题肯定不陌生&#xff0c;我记得是学C语言的时候学递归的时候有这道题&#xff0c;于是我就世界用递归写了如下代码&#xff1a; class Solution {public int fib(int n) {if(n1) return 1;if(n0) return 0;return (fib(n-1) fib(n-2)) % 1000000007;} } 到…

【Terraform学习】TerraformCloud入门介绍(快速入门)

TerraformCloud入门介绍 什么是 TerraformCloud&#xff1f; Terraform Cloud是Hashicorp Terraform的SaaS版本。 免费版功能 免费版功能包括版本控制集成、远程计划和实施远程计划和实施、通知及webhook、全http API驱动、状态管理、模拟计划、私有化模块注册器以及全HTTP界…

Nginx 高可用负载均衡(三种模式)

一、nginx普通集群负载均衡 1、安装keepalived (1)下载 https://www.keepalived.org/download.html(2)解压 tar -zxvf keepalived-2.0.18.tar.gz(3)使用configure命令配置安装目录与核心配置文件所在位置&#xff1a; ./configure --prefix/usr/local/keepalived --sysconf/e…

Java JVM虚拟机内部体系结构

JVM(Java虚拟机)是一个抽象机器。 它是一个提供可以执行Java字节码的运行时环境的规范。JVM可用于许多硬件和软件平台(即JVM是平台相关的)。 什么是JVM&#xff1f; JVM(Java虚拟机)是&#xff1a; 指定Java虚拟机的工作的规范。 但实现提供程序是独立的选择算法。 其实现是由…

25.5 matlab里面的10中优化方法介绍——牛顿法(matlab程序)

1.简述 1 牛顿法简介 牛顿迭代法&#xff08;Newton’s method&#xff09;又称为牛顿-拉夫逊&#xff08;拉弗森&#xff09;方法&#xff08;Newton-Raphson method&#xff09;&#xff0c;它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。 多数方程不存…