DustSquad APT组织针对乌兹别克斯坦的活动分析

简介: 伸向中亚地区的触手——DustSquad APT组织针对乌兹别克斯坦的活动分析

.介绍

近日,Gcow安全团队的追影APT分析小组在公共的文件分析平台上捕获到了名为DustSpuad的APT组织,针对乌兹别克斯坦的外交部进行的一起网络攻击活动.所使用的正是名叫Octopus的Windows恶意程序

 

Octopus恶意程序的名称最初由ESET在2017年由APT组织在其旧C2服务器上使用的0ct0pus3.php脚本之后创造。卡巴斯基通过其监控平台发现Octopus恶意程序与DustSquad有关.在遥测中,我们发现这个组织对中亚共和国以及俄语系的国家产生着浓厚的兴趣

 

此外,该组织专注于中亚用户以及外交实体,并且通过文件中的特殊字符,以及其手法,推断该组织可能来源于俄罗斯

 

.样本分析

 

(一).释放者:

 

样本MD5

98b1c326572110a4c88c6741575910c2

样本SHA-1

081fa600a82793cf78e61e0b5dabb46f6ec1e565

样本SHA-256

139b40267aa028c8f4f509abdd88932167754ec863d26cb8e8352ab1d61ffa9f

样本名称

исправленный вариан_18.11.2019г.rar

(固定版_2019.11.18)

 

 


image.png

 

 

 

(二).压缩包所包含的文件:

(Octopus 加载器)

 

样本MD5

62fb5aa21f62e92586829520078c2561

样本SHA-1

bbf8eaee7ce7c04562e618c0e45f11b060f99662

样本SHA-256

f5941f3d8dc8d60581d4915d06d56acba74f3ffad543680a85037a8d3bf3f8bc

样本名称

исправленный вариан_18.11.2019г.exe (固定版_2019.11.18)

 

伪装成word文件,拥有word的图标.对于一些安全意识差的人员。这种伪造手段的成功几率较高

 

image.png

 

通过ExeInfoPE工具查看样本信息,发现该程序由Delphi编写

 

根据我们的分析,该样本的主要恶意部分在start()函数内

现在我们将利用ollydbg的动态调试以针对该样本进行分析

1).通过GetTickCount()和QueryPerformanceCounter()函数获取当前系统运行时间

 

2).信息收集部分

1.收集本地IP地址:

通过初始化WSAStartup通过调用gethhostname()获取本地主机名称,再通过gethostbyname()传入获取的本地主机名称以获取本地IP地址

 

image.png

并且将收集好的地址以Local IP Addr:{本地IP地址}的形式进行拼接

 

image.png

2.本地计算机名称

通过GetComputerNameW()函数获取本地计算机的名称

 

image.png

并且将收集好的地址以Computer Name:{本地计算机名称}的形式进行拼接

 

3.收集当前用户名称

利用GetUserNameW()函数收集当前用户名称

 

并且将收集好的地址以User Name:{当前用户名称}的形式进行拼接

 

4.收集Windows文件夹目录

利用GetWindowsDirectoryW()函数获取当前系统的windows文件夹目录

 

并且将收集好的地址以Windows Dir:{Windows文件夹目录}的形式进行拼接

 

image.png

5.收集恶意样本所在的当前目录

调用GetMouduleFileNameW()函数获取恶意软件当前目录的完整路径

 

image.png

并且将收集好的地址以Current Dir:{文件所在目录}的形式进行拼接

6.获取盘符信息

利用GetDriveTypeW()函数获取各个盘符的属性以及名称

 

image.png

并且将收集好的地址以Volume list:{盘符名称加盘符大小}的形式进行拼接

 

最后将信息以

Start

Local IP Addr:{本地IP地址}

Computer Name:{本地计算机名称}

User Name:{当前用户名称}

Windows Dir:{Windows文件夹目录}

Current Dir:{文件所在目录}

Volume list:{盘符名称加盘符大小}

 

 

image.png

3).C2中转:

http[:]//poisonfight[.]com/idea.php发送Post请求

check=c558838690881fa7f75807cfa94b3713

接受json格式的回显{"status":"ok"}

 

 

image.png

 

判断是否返回为ok

 

接收到ok后,对远程C2服务器发起第二段post请求

http[:]//poisonfight[.]com/idea.php发送Post请求

servers=c558838690881fa7f75807cfa94b3713

返回的json结果为:

{"servers":[{"ip_addr":"cookiesqueen.com\/innovative"}]}

 

image.png

image.png

 

 

将回显的json进行截取拼接得到C2:http[:]//cookiesqueen[.]com/innovative.php

 

C2端发送编码后的系统信息

S=sess_{随机字母组合} check={令牌编码}

(OD:)

 

(Anyrun)

 

image.png

加密规则是先进行了一次base64加密,再通过URL编码过滤掉敏感字符,解密如下:

 

image.png

为了方便大家理解这一过程,笔者浅显的画了一个草图

 

4).文件下载

http[:]//cookiesqueen[.]com/innovative.php

发送post请求

l=ZG93bmxvYWQ%3D以及

s=sess_{随机字母组合} check={令牌编码}

(OD:)

 

(Anyrun:)

 

image.png

在上文中我们得知了该组织的报文解密方法,对此进行解密

 

image.png

下载文件于%Temp%\{随机字母组合}

 

image.png

5).载荷解压

通过expand –d 命令获取当前cab压缩包中的内容

 

image.png

发现其中包含着java7.exe

 

利用extrac32.exe提取压缩包里的java7.exe于自启动文件夹下

 

 

image.png

此外,其会针对系统进行判断,若不属于其侦测范围的则不执行释放诱饵文档于桌面的行为

但我们在anyrun沙箱中看到了这个操作

 

image.png

释放的doc文档名为:èñïðàâëåííûé âàðèàíò_18.11.2019ã.doc

并且执行

诱饵界面为

 

image.png

部分译文为:

 

 

由此可见该活动针对的是乌兹别克斯坦的外交部门

并且恶意样本会记录该信息,base64编码后以Post形式反馈给C2

(OD:)

 

(Anyrun:)

 

image.png

 

 

 

收集之前的解压cab文件记录,以及解压后的文件路径以及遍历启动文件夹内的存在,确保后门的持久化运行

 

6).载荷清理

释放s.bat于%Temp%\下

 

写入s.bat

 

image.png

 

如下图所示

 

image.png

主要内容是判断你所运行的exe是否存在,若存在则删除,若不存在则删除自身

为了方便大家看着方便,笔者画了一幅流程图便于大家方便理解

 

 

(三.网络模块

(Octopus 被控端)

 

样本MD5

bbb701630f30c5c85cebbc953b98ff38

样本SHA-1

aab83db6b4682694fa972bb2aad982557d8e1afc

样本SHA-256

105402dd65ec1c53b6db68a0e21fcee5b72e161bc3b53e644695a4c9fae32909

样本名称

Java7.exe

 

经过exeinfo PE查壳后发现其依旧使用delphi编写

 

 

(一).获取%AppData%路径,并且释放.setting.ini,写入配置

 

image.png

 

 

(二).像中转c2发出中转请求

和加载器的手段一样,不再赘述

发送check请求,判断存活

 

image.png

发送Servers请求获得中转C2的json格式

 

image.png

拼凑字符串得到C2

 

 

 

(三).收集信息

1).收集当前计算机名称

执行命令

C:\windows\system32\wbem\WMIC.exe computersystem get name /format:list

 

 

2).收集系统安装时间

执行

C:\windows\system32\wbem\WMIC.exe os get installdate /format:list

 

image.png

 

3).获取本地盘符

执行

C:\windows\system32\wbem\WMIC.exe path CIM_LogicalDiskBasedOnPartition get Antecedent,Dependent

 

 

4).收集序列号

执行

C:\windows\system32\wbem\WMIC.exe path win32_physicalmedia where tag="\\\\.\\PHYSICALDRIVE0" get serialnumber /format:list

 

 

此外,被控端拥有与记载器类同的收集信息部分,这里就不再赘述

 

(四)发送报文并接受回显

将收集到的信息以如下方式组成json格式

 

image.png

Base64编码后以Post方式向http[:]//cookiesqueen[.]com/innovative.php

?query=c558838690881fa7f75807cfa94b3713发送报文

 

 

报文解密后

 

接受返回指令为{“rt”:”30”}

 

image.png

 

.组织关联

 

根据卡巴斯基于2018.10.15发布的关于DustSquad组织使用Octopus恶意软件攻击中亚地区的报告来看

(链接放在附录部分)

该活动与本活动有以下的几点共性

 

1).释放于自启动文件夹的被控端都拥有相同的Java图标

 

image.png

2).拥有部分重合的代码逻辑

 

 

 

3).相似的C2报文格式

 

 

 

4).类似的C2中转方式

 

image.png


5).相同的信息收集指令

 


 

根据以上信息我们基本上可以判断这次的攻击属于DustSquad组织利用Octopus恶意软件攻击乌兹比克斯坦的外交实体

 

.总结

 

该组织能够熟练的进行投递rar文件的信息对目标进行攻击,并且使用Delphi的恶意软件,以及通过入侵一些正常网站,上传C2中转的PHP文件做到中转C2的操作,这样既可以避免了杀毒软件的静态查杀,又可以随时撤走载荷。

 

.IOCs

 

样本Hash

文件名称

98b1c326572110a4c88c6741575910c2

исправленный вариан_18.11.2019г.rar

62fb5aa21f62e92586829520078c2561

исправленный вариан_18.11.2019г.exe

bbb701630f30c5c85cebbc953b98ff38

Java7.exe

 

相关文章
|
3天前
|
监控 安全 Linux
CentOS7下部署ARL资产侦察灯塔系统
CentOS7下部署ARL资产侦察灯塔系统
278 3
|
12月前
|
监控 安全 网络协议
Kimsuky APT组织活动的分析
kimsuky APT组织(又名Mystery Baby, Baby Coin, Smoke Screen, BabyShark, Cobra Venom)
|
12月前
|
安全 Shell Android开发
APT 组织的攻击活动分析与总结(一)
APT 组织的攻击活动分析与总结
|
12月前
|
安全 编译器 API
APT 组织的攻击活动分析与总结(二)
APT 组织的攻击活动分析与总结
|
负载均衡 监控 架构师
信息系统项目管理--案例分析笔记
信息系统项目管理--案例分析 (1)人力资源管理 人力资源管理过程: 成功团队的特点和标志: 人力资源可能出现的问题:(重点,背) 应对措施:(重点,背) 冲突管理策略: 如何组建团队成员? 案例分析
135 0
|
开发者 容器
招聘管理综合实践——审批结果更新|学习笔记
快速学习招聘管理综合实践——审批结果更新
106 0
招聘管理综合实践——审批结果更新|学习笔记
销售指导工具
本文研究全球及中国市场销售指导工具现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
|
程序员 索引
实施项目--你明白软件的价值和个人的价值么?
  在2013即将结束的最后一个月里,我跑客户的时间时间达到了26天,作为一个技术出身的我这是非常不可思议的,在多年前我敢都不敢想! 在历史上一个月里我连续工作的天数也就27天,当然这是呆在公司办公室里,负责码代码,不会与直接客户面对面接触的(目前大多数技术人员都是如此)。
959 0
|
Web App开发
捷扬信息:企业官网是了解企业最直接的途径
企业转型时,对外界的信息传递需及时。量身定制的官网可以塑造一个全新的企业形象。