APT样本分析 - plugx家族RAT⽊⻢

⼀、样本概述

样 本 从 海 莲 花 服 务 器 扒 下 来 的 ( 经 提 醒 修 改 , 原 先 错 误 归 类 为 海 莲 花 ) , wsc_proxy.exe执⾏后加载wsc.dll解密wsc.dump⽂件,得到攻击模块(dll),攻击模块注⼊⾃身到系统进程后连接远控服务器上线,接收执⾏远控功能。远控功能包括:管

理系统、⽂件、屏幕、进程、服务、⽹络、远程shell、键盘记录等。

wsc_proxy.exe主要功能为:

. 携带⼩红伞签名的exe⽂件;

. 加载wsc.dll。

wsc.dll主要功能为:

. 解密并调⽤wsc.dump。

wsc.dump主要功能为:

. 注册⾃启服务;

. 注⼊⾃身到系统进程svchost、msiexec;

. 被注⼊进程连接cc,执⾏远控指令。

⼆、样本类型

样本为越南海莲花组织开发,plugx⽊⻢程序。未加壳,通过注册服务的⽅式进⾏权限维持,实现开机启动。三、详细分析

3.1 执⾏释放

  1. 攻击组件由三个⽂件组成wsc_proxy.exe、wsc.dll、wsc.dump。
  2. 执⾏经过,签名的合,法程序wscproxy。 .exe,并恶意加载loader程序wsc.dll。
  3. loader程序wsc.dll解密并解压缩payload⽂件。
  4. 解密的shellcode被注⼊到合法的系统进程中。
  5. 注⼊的Windows进程执⾏C2 /远控功能。

执⾏链

*3.2 *攻击细节

Payload启动并挂起系统信任的⽂件svchost.exe,将具有解密加载功能的函数注⼊到 svchost进程,并在scvhost进程⼊⼝地址构造shellcode,唤醒scvhost进程执⾏ shellcode,shellcode将跳转到解密加载函数,该函数解密wsc.dump⽂件并执⾏ payload。

如上操作后,payload将运⾏在⽩名单进程中,达到隐藏⾃身的⽬的,后续注⼊挖空进程msiexec.exe的过程与之相同。

3.3 远控模块

远控功能包括,系统配,置、⽂件管理。 、屏幕监视、进程管理、服务管理、远程shell、⽹络配置、注册表管理、数据库管理、键盘记录等。

表⼀

表⼆

表三

表四

表五

表六

表七

表⼋

表九

表⼗

表⼗⼀


表⼗⼆

表⼗三

3.4 逆向细节

3.4.1 wsc_proxy.exe

wsc_proxy.exe⽂件数字签名为AVAST Software

s.r.o.,来⾃安全⼚商AVAST。说明样本开发者拥有该安全⼚商私有证书,利⽤证书将样本签名,达到免杀⽬的(可能是由于⼚商的数字签名私钥泄露或被破解)。

wsc_proxy.exe数字签名

0x1 加载“解密dll”

wsc_proxy.exe为带签名的⽩名单程序,程序功能为:加载wsc.dll。

3.4.2 wsc.dll

0x1 构造shellcode

wsc.dll 构 造 了 ⼀ 段 shellcode 调 ⽤ wsc.dll 导 出 函 数 sub_10001000 , 构 造 地 址 为 wsc_proxy.exe加载⾃身完成时。sub_10001000为加载函数。

构造shellcode

Shellcode地址

执⾏流程

0x2加载wsc.dump

读取wsc.dump到内存,修改内存属性为可执⾏,跳转到⽬标wsc.dump地址执⾏。

⽂件路径

修改内存属性,跳转执⾏

3.4.3 wsc.dump

⽂件wsc.dump猜测为样本开发者从内存中dump函数指令得到⼆进制⽂件,跳转到⽂件

⾸地址即可正常执⾏函数。

0x1 解密解压缩并执⾏payload

解此密为临ws时c链.d接ump,仅⽤⾃于带预览的,加将密在短数据期内失,效再。次解压得到⼀个dll⽂件,在内存中展开PE⽂件并修复重定位。上述操作完毕后调⽤该payload(dll)。

在该⽚内存中标记“PLUG”。

解密算法

解压得到payload

3.4.4 payload

Payload每次启动将检查启动环境,并据此进⾏⼀些初始化操作。同时payload将根据启动参数执⾏不同的功能。

0x1 初始化

提升权限

2) 复制到指令⽬录

复制样本组件到路径"C:\ProgramData\Windows NT\accessories\ wsc_proxy.exe",⽂件属性为隐藏,再次启动wsc_proxy.exe。

0x2 注册⾃启服务:100进程

主要⽬的为注册⾃启服务,注册服务之前有检查权限和提升权限的操作。

提权

利⽤⽅法:COM提升名称(COM Elevation

Moniker)技术提升接⼝权限,ICMLuaUtil接⼝启动附带管理员权限进程wsc_proxy.exe 进程,启动参数为100。

进程监控

注册服务

创建服务

注册表被添加的启动服务

0x3 注⼊、挖空svchost进程:200进程

该进程将查找系统⽂件svchost.exe,启动并挂起svchost,随后修改svchost进程内存,将⼀个功能为“解密、解压缩wsc.dll并加载payload”的函数写⼊到svchost进程内存,寻找⼊⼝地址OEP并在此构造shellcode跳转到解密解压缩函数。

恢复svchost主线程,执⾏解密解压缩操作,执⾏payload。

创建挂起进程,svchost,

计算跳转

构建shellcode

0x4 svchost进程:201进程

创建内存映射,保存⼀些⼯具类函数,待后续使⽤。

保存跨进程访问的⼯具类函数

保存功能函数

磁盘管理

注册表操作

进程管理

枚举⽹络资源

获取⽹络状态

计算机设置

端⼝映射

服务管理

启动远程cmd

数据库操作

启动telnet服务

Hook键盘消息

保存键盘记录到本地

剪切板记录

创建、注⼊、挖空msiexec进程

操作过程与操作svchost相同,⻅下图。

上线、通讯

通讯线程为OlProcNotify,该线程能够使⽤三种协议尝试连接地址steam.dajuw.com,端⼝为443。

通信成功后发送附带加密key的加密报⽂,在接收处理循环中接收执⾏远控指令。

执⾏流程

上线协议

发送接收指令消息

接收消息、处理指令

4)插件管理器

远控服务器可以发送指令创建模块管理线程,线程名为:OlProcManager。该线程同样先使⽤指定的协议连接服务器,并进⼊⼊⼀个“发送-接收-处理”循环,遍历执⾏远控模块具有的功能(管理磁盘、⽂件、屏幕…)。

发送消息

接收指令循环

执⾏功能

0x5 msiexec进程:209进程

209进程同201进程将功能模块函数安装,并创建管道实现进程通讯。此外,209进程创建DoImpUserProc线程接收指令执⾏功能函数。

功能安装与管道通讯

执⾏功能

0x5 300进程

300进程操作:关闭并删除远控服务,清理远控留下的注册表痕迹,最后将远控程序和

⽂件删除。

样本特征

暂不提供

APT样本分析 -plugx家族RAT⽊⻢相关推荐

  1. MuddyWater APT 样本分析

    本文分析的样本被认为来自于攻击目标为中东地区的一个APT组织,即MuddyWater.像往常一样,您可以从VirusBay下载该样本,这也是我最喜欢下载新的恶意软件样本的地方,而且下载是免费的.下面我 ...

  2. 对某单位的 APT 攻击样本分析

    作者:SungLin@知道创宇404实验室 时间:2019年7月30日 一.恶意邮件样本的信息与背景 在六月份的某单位HW行动中,知道创宇HW安全团队通过创宇云图APT威胁感知系统并结合腾讯御点终端安 ...

  3. 远控NanoCore RAT样本分析

    NanoCore RAT是在.Net框架中开发的有名的远控软件,网络环境中大量利用各种手段传播此软件,有时巧妙的构造有效的绕过杀软在进一步通过服务端进行功能模块的更新,深受黑客喜爱,从蜜罐捕获相应的样 ...

  4. 一例针对中国政府机构的准APT攻击中所使用的样本分析

    SwordLea · 2015/05/28 15:43 作者:安天 微信公众号:Antiylab 博文地址:http://www.antiy.com/response/APT-TOCS.html 0x ...

  5. [系统安全] 三十一.恶意代码检测(1)恶意代码攻击溯源及恶意样本分析

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  6. CVE-2014-6352漏洞及定向攻击样本分析

    360安全卫士 · 2016/06/15 11:06 Author:360天眼实验室 0x00 引子 人在做,天在看. 近期360天眼实验室捕获到一例针对印度的定向攻击样本,样本利用了沙虫漏洞的补丁绕 ...

  7. NEMUCOD病毒jse样本分析

    该病毒使用微软的JScript编写,能够直接运行在Windows操作系统之上,采用了加密和混淆手段对抗监测,可检测是否运行在虚拟机中和系统中是否存在分析工具,可感染可移动存储介质,主要功能为下载器.C ...

  8. R语言回归模型构建、回归模型基本假设(正态性、线性、独立性、方差齐性)、回归模型诊断、car包诊断回归模型、特殊观察样本分析、数据变换、模型比较、特征筛选、交叉验证、预测变量相对重要度

    R语言回归模型构建.回归模型基本假设(正态性.线性.独立性.方差齐性).回归模型诊断.car包诊断回归模型.特殊观察样本分析.数据变换.模型比较.特征筛选.交叉验证.预测变量相对重要度 目录

  9. CVE-2010-2883 从漏洞分析到样本分析

    本文章将从漏洞利用分析开始,到样本分析结束,其中涉及到的知识点有PDF格式.TTF字体格式.缓冲区溢出漏洞利用.PE文件格式.软件脱壳和恶意代码分析.其中会演示一些基本操作,方便初学者进行复现. 前置 ...

最新文章

  1. Android不使用支持库请求运行时权限
  2. Maven构建java项目
  3. 使用Maven,Jetty和Tomcat在嵌入式容器中运行Java Web应用程序
  4. 《Git权威指南》笔记2
  5. JAVAWEB入门第一篇
  6. (三)微调VGG16以对服装进行分类
  7. java web前端邮件,javaweb之javamail
  8. python批处理远程关机脚本,python实现远程通过网络邮件控制计算机重启或关机
  9. 数码数字字体_国产太强!50包邮买到1000倍数码显微镜,让混用屏幕无所遁形
  10. ABB ACS 510 1.5-5.5kw驱动板图纸 PDF格式
  11. 常用的几个框架官网【前端 / 自用】
  12. 我国有了密码法,将2020年1月1日起施行!
  13. 计算机能不能升级固态硬盘,笔记本升级固态硬盘后会怎样?秒懂
  14. HappenBefore指令重排
  15. 回文日期 php,c语言程序实例大全,220个详细程序源代码
  16. 树莓派4B-安装64位操作系统
  17. 操作系统进程调度算法——吸烟者问题
  18. Android应用优化指南
  19. 简析无线网络加密算法之CCMP加密算法
  20. 人工智能中的线性代数:如何理解并更好地应用它

热门文章

  1. 如何更换安装鸿蒙系统,华为鸿蒙系统2.0如何进行安装?鸿蒙系统2.0安装方法详细介绍...
  2. 企业从无到有,云账户CEO大谈创业时代的创业者思维
  3. Spark开发实例(编程实践)
  4. 【简书交友】阿群1986: 一个专注于修电脑做系统的青岛小哥
  5. 微信小程序070校园食堂订餐多商家带配送
  6. 计算机组成中位、字节、字、字长、存储单元、存储字、存储字的辨析
  7. 利用AXIS开发Webservice(三) —— 如何传递JavaBean和你的对象
  8. 专业测评:iphone7致命缺陷曝光
  9. Cadence(virtuoso)集成电路设计软件基本操作——库管理
  10. java excel 另存为_java 代码怎么实现另存为excel文件格式