基础信息

名称:NDC Participants.docx
类型:.doc
MD5:df020e81b7ca32868a8ac1f5eddd086f
描述:通过远程模板注入技术加载含有CVE-2017-11882漏洞的RTF文档,执行shellcode
   释放执行使用“DotNetToJScript”生成的经过混淆处理的js脚本(1.a)
   释放.NET DLL,利用白加黑执行最终RAT

样本分析

通过远程模板注入技术加载含有CVE-2017-11882漏洞的RTF文档

RTF文档通过CVE-2017-11882漏洞执行ShellCode(调试参考),在temp目录下释放1.a文件,该文件是使用“DotNetToJScript”生成的经过混淆处理的js脚本。

js代码调试的时候直接在最后一条指令下断观察上下文即可,不用每条指令去跟踪执行,其主要功能是通过反序列化解密执行.NET DLL的“Work”函数。回溯代码,可以在so变量解密后将数据拷贝到010 Editer,使用Base64解码,去除PE头之前的数据就能获取到.NET DLL。

StInstaller.dll

解密出:“StInstaller.dll”

Work函数主要功能是:拷贝rekeywiz.exe(系统白文件)到指定目录,并将其添加到Run注册表自启动,然后在同目录下释放Duser.dll等文件,最后通过创建计划任务来执行rekeywiz.exe用于加载Duser.dll进行白利用。

SyncFiles目录释放文件如下:

Duser.dll

Duser.dll如下:

Duser.dll主要功能是:解密同目录下的.tmp文件,获取后续DLL文件。
解密算法:获取.tmp文件前32字节作为key,循环异或解密.tmp文件后续内容。
注意:这里可以把算法扣出来,用py写个自动解密的脚本,下次遇到.tmp文件可以解密SystenApp.dll到本地,然后直接提取C2地址。

SystemApp.dll

解密出:SystemApp.dll(最终Rat远控)代码没有混淆,从类名可以推测出基本功能。

入口点是Program类的Start()函数。

 1 public void Start()
2 {
3 try
4 {
5 //获取“Default”资源数据,并将解密后的配置文件写入:C:\ProgramData\\SyncFiles\\Sync
6 this.MementoObserverFlyweightRestore = StructureFlyweightClassDynamicChain.FlyweightInstanceCommandCommand();
7 //定时器1: 连接C2服务器获取指令,执行对应功能
8 this.TemplateStructureTreeRestricted = new Timer(new TimerCallback(this.BridgeAlgorithmEncapsulatedFacade), null, 5000, -1);
9 //定时器2: 上传指定文件与fls/flc/sif/err后缀文件
10 this.AlterCompositeTreeBridge = new Timer(new TimerCallback(this.CompositeGetGetObserver), null, 5000, -1);
11 if (this.MementoObserverFlyweightRestore.InterfaceCompositePutSingle)
12 {
13 //获取系统信息,以Json格式保存到指定路径(C:\Users\admin\AppData\Roaming\SyncDat\xxx.sif)
14 this.WriteSysInfo();
15 this.MementoObserverFlyweightRestore.InterfaceCompositePutSingle = false;
16 //获取配置信息,加密后写入本地文件(C:\ProgramData\\SyncFiles\\Sync)
17 this.MementoObserverFlyweightRestore.ObjectAccessorTreeMediator();
18 }
19 if (this.MementoObserverFlyweightRestore.AlgorithmBridgeAlgorithmAlgorithm)
20 {
21 //获取磁盘文件信息保存到(C:\Users\admin\AppData\Roaming\SyncDat\xxx.flc)
22 this.CompositeDecoratorCaptureComposite();
23 //保存doc/xls/ppt等文件信息到(C:\Users\admin\AppData\Roaming\SyncDat\xxx.fls)
24 this.StateAlgorithmAccessorGet();
25 this.MementoObserverFlyweightRestore.AlgorithmBridgeAlgorithmAlgorithm = false;
26 //获取配置信息,加密后写入本地文件(C:\ProgramData\\SyncFiles\\Sync)
27 this.MementoObserverFlyweightRestore.ObjectAccessorTreeMediator();
28 }
29 Thread.Sleep(-1);
30 }
31 finally
32 {
33 try
34 {
35 //删除定时器
36 this.TemplateStructureTreeRestricted.Dispose();
37 this.AlterCompositeTreeBridge.Dispose();
38 }
39 catch
40 {
41 }
42 }
43 }

获取配置文件:

从“Default”资源文件中获取配置文件数据:

1 get
2 {
3 return (byte[])FacadeInterfaceAccessorTemplateSingle.AlgorithmStateCompositeRestoreNotify(FacadeInterfaceAccessorTemplateSingle.DynamicImplementationRequestImplementation, "Default", FacadeInterfaceAccessorTemplateSingle.EncapsulatedAdapterFlyweightData);
4 }

配置文件包含:回连C2、文件释放路径、敏感文件后缀等信息。

将配置文件加密后写入Sync:

获取系统信息:

获取系统信息,以Json格式保存到指定路径(C:\Users\admin\AppData\Roaming\SyncDat\xxx.sif)

获取文件信息:

获取磁盘文件信息,保存到(C:\Users\admin\AppData\Roaming\SyncDat\xxx.flc)

写入数据包含:磁盘、目录、文件等信息,用记事本打开时有些字段会显示乱码:

获取指定后缀文件:

获取doc、xls、ppt等后缀文件信息,保存到(C:\Users\admin\AppData\Roaming\SyncDat\xxx.fls)

同样以Json格式保存到文件:

定时器1:

连接C2服务器获取指令,执行对应功能

定时器2:

上传sif、flc、fls、err等文件

-----------------------------------------

【APT】响尾蛇(SideWinder)APT组织样本分析的更多相关文章

  1. 使用NB Exploit Kit攻击的APT样本分析——直接看流程图,就是网页挂马,利用java和flash等漏洞来在你主机安装和运行恶意软件

    使用NB Exploit Kit攻击的APT样本分析 from:https://cloud.tencent.com/developer/article/1092136 1.起因 近期,安恒工程师在某网 ...

  2. ocky勒索软件恶意样本分析1

    locky勒索软件恶意样本分析1 1 locky勒索软件构成概述 前些时期爆发的Locky勒索软件病毒这边也拿到了一个样本,简要做如下分析.样本主要包含三个程序: A xx.js文件:Jscript脚 ...

  3. ocky勒索软件恶意样本分析2

    locky勒索软件恶意样本分析2 阿尔法实验室陈峰峰.胡进 前言 随着安全知识的普及,公民安全意识普遍提高了,恶意代码传播已经不局限于exe程序了,Locky敲诈者病毒就是其中之一,Locky敲诈者使 ...

  4. Mac下门罗币矿工样本分析

    背景 今天遇到一个JSONRPC的告警,怀疑挖矿木马,IOC是132.148.245.101,无其他信息,随即google一波. 查询网络 遇到了,主动下载样本分析,下载地址:http://rjj.q ...

  5. MS Office CVE-2015-1641 恶意 Exploit 样本分析

    MS Office CVE-2015-1641 恶意 Exploit 样本分析 在对最近的一个恶意 MS Office 文档样本进行分析时,我们发现了一些有趣的特性.这个文档利用 CVE-2015-1 ...

  6. Android版本的"Wannacry"文件加密病毒样本分析(附带锁机)

    一.前言 之前一个Wannacry病毒样本在PC端肆意了很久,就是RSA加密文件,勒索钱财.不给钱就删除.但是现在移动设备如此之多,就有一些不法分子想把这个病毒扩散到移动设备了,这几天一个哥们给了一个 ...

  7. DEPICT实现基因优化(gene prioritization)、gene set富集分析(geneset enrichment)、组织富集分析(tissue enrichment)

    全基因组关联分析除了找到显著的关联位点,我们还可以做基因优化.geneset富集分析.组织富集分析,下面具体讲一讲怎么利用GWAS的summary数据做这个分析. summary数据就是关联分析的结果 ...

  8. 【溯源分析】疑似"摩诃草"组织最新样本分析及域名资产揭露

    1)场景 摩诃草组织(APT-C-09),又称HangOver.Patchwork.Dropping Elephant以及白象.该组织归属南亚某国,主要针对中国.巴基斯坦等亚洲国家和地区进行网络间谍活 ...

  9. locky勒索样本分析

    前段时间收到locky样本,分析之后遂做一个分析. 样本如下所示,一般locky勒索的先决条件是一个js的脚本,脚本经过了复杂的混淆,主要用于下载该样本文件并运行,. 解密 样本本身进行了保护,通过i ...

  10. idapython在样本分析中的使用-字符解密

    最近接手的一个样本,样本中使用了大量的xor加密,由于本身样本不全,无法运行(好吧我最稀饭的动态调试没了,样本很有意思,以后有时间做票大的分析),这个时候就只好拜托idapython大法了(当然用id ...

随机推荐

  1. URLDecoder.decode() 特殊字符的处理

    在网络get请求中,如果存在特殊字符 比如  "+,/,%,&,= " ,如果没有被转义就直接使用 发现 + 号 仍然是 + 号,初看上去是没什么问题  这样在我们在后台接 ...

  2. 51电子-STC89C51开发板:回忆

    全部内容,请点击: 51电子-STC89C51开发板:<目录> ---------------------------  正文开始  --------------------------- ...

  3. Docker 基础常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

  4. OpenJ_Bailian - 1088

    OpenJ_Bailian - 1088 题解:DFS记忆化搜索 记忆化搜索也可以说是动态规划,最后的答案也是从一个个子问题推导而来 #include <bits/stdc++.h> #d ...

  5. WebSocket 使用记录

    WebSocket 主要解决的问题是 后端数据更新主动像前端推送数据所需依赖<dependency> <groupId>org.springframework.boot< ...

  6. Mybatis插件-分批次插入数据

    背景 有时候使用insert into xxx values (),()语句插入大量数据时,会使得SQL语句超长,为了解决这个问题,在Mybatis中编写一个分批次插入的插件. 实现 package ...

  7. -bash: nslookup: 未找到命令;centos7 安装nslookup

    一.安装服务 [root@localhost ~]# yum -y install bind-utils 二.查看 [root@localhost ~]# nslookup

  8. jmeter 添加断言和查看断言结果

    在对应的请求下添加响应断言,这里我们添加响应文本来作为检查点,来检查上面的这个请求是否成功 断言和断言结果是成对出现的,是为了检查我们添加的断言是否验证成功,如下图,如果成功,里面就会有对应的结果,且 ...

  9. 论文笔记:To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem?

    论文笔记:To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem? Conclusion 如果对象平均大小 ...

  10. ObjectARX2016-1打印HelloWolrd

    首先把Objectarx2016和VS2012安装好,安装好之后,如果在VS2012创建项目的过程中出现创建项目失败的情况,可以查看我的第一篇随笔https://www.cnblogs.com/Arc ...