2023年3月知道创宇404高级威胁情报团队全球率先捕获到一个全新APT组织的武器后门,我们称为“ORPCBackdoor”,并在2023年5月对外发布了该武器后门的详细分析:Bitter组织新攻击武器分析报告-ORPCBackdoor武器分析
在该报告里,我们把该武器后门定位为 BITTER(“蔓灵花”)使用的最新武器,然而我们留意到,近日卡巴斯基发布报告称他们于第二季度宣称发现了一个全新的APT组织,该组织的主要攻击目标为巴基斯坦,将其命名为“Mysterious Elephant(神秘象)”。此外还发布了两篇非公开报告,第一篇报告主要描述了该组织过去几年的主要技战术(TTPS),第二篇描述了该组织对巴基斯坦外交相关部门的攻击行动。
该组织主要特点是使用了一个全新的后门,该后门通过恶意RTF文档传递到受害者机器上。恶意RTF文档通过钓鱼邮件进行投递。
这个全新的后门通过RPC与C2服务器进行通信,并有在受控机器上执行文件或者命令的能力,同时该后门也可以从C2服务器上接收文件和命令并执行。
经过确认,卡巴斯基发现的后门与我们率先捕获的“ORPCBackdoor”是同一个后门程序。考虑到归因存在分歧差异,由此知道创宇404高级威胁情报团队把使用“ORPCBackdoor”的“新”组织启用全新编号:APT-K-47,中文名称“神秘象”。
本文我们也会从样本整体攻击链及同源关系分析等进一步扩线分析,且我们也通过知道创宇遥测大数据观察到该组织攻击的目标除了巴基斯坦外,还有攻击其他国家的痕迹。
同时经过回溯分析,我们发现该组织最早攻击活动应当开始于2022年3月份左右。本文将公布该APT组织攻击细节及相关IOC。
1. 整体攻击链
图1
图2
从钓鱼文件的内容可以看到,该组织的攻击目标不只是卡巴斯基描述的仅针对巴基斯坦,根据前期知道创宇遥测大数据显示,该组织攻击目标为多个国家。
图3
二阶MSI文件中存放着一对白加黑文件,黑文件为卡巴斯基报告中提到的ORPCBackdoor,白文件为微软官方服务文件,用于启动黑文件(OLMAPI32.dll)。
图4
2. 同源性分析
图5
本次捕获到的 ORPCBackdoor 初始阶段的 CHM 文件结构如下:
图6
两者doc.htm文件对比,下图为BITTER的doc.htm文件:
图7
下图为ORPC的CHM文件中的doc.htm文件:
图8
ORPCBackdoor攻击链条与南亚方向所使用的技战术相重叠,分析发现该木马曾在confucious组织使用过的网络资产里面出现过,同时我们发现同类木马也在 BITTER 组织使用过的资产上出现过。
3. ORPCBackdoor描述
3.1 样本功能综述
GetFileVersionInfoA
GetFileVersionInfoByHandle
GetFileVersionInfoExW
GetFileVersionInfoSizeA
GetFileVersionInfoSizeExW
GetFileVersionInfoSizeW
GetFileVersionInfoW
VerFindFileA
VerFindFileW
VerInstallFileA
VerInstallFileW
VerLanguageNameA
VerLanguageNameW
VerQueryValueA
VerQueryValueW
GetFileVersionInfoByHandleEx(void)
DllEntryPoint
从导出函数来看ORPCBackdoor使用了version.dll模版,version.dll是一个Windows操作系统的动态链接库文件,它主要用于管理可执行文件或者DLL文件的版本信息。
故我们有理由猜测ORPCBackdoor使用DLL劫持技术,采用白加黑方式用于达到一定的免杀效果,本次发现的调用文件为MicrosoftServices,但由于调用该DLL的情况较多,后续BITTER组织可能会使用其他款白文件进行调用。
3.1.1 样本功能综述
初始化模块内包含多个功能模块。多个模块配合完成在与服务端交互执行的前期工作,前期工作包括了字符解析、首次运行测验、持久化、本机信息收集、C2在线检测等方面,各部分内容详述如下:
-
字符初始化
-
持久化
-
初始信息收集
-
交互初始化
3.1.2 交互模块描述
交互模块与常见的命令处理逻辑相似,通过多层if-else来解析服务端执行并完成指定功能,ORPCBackdoor所支持的功能并不算多,主要为Get- Shell,其余包含一些文件处理、上传下载执行等操作。
ORPCBackdoor相关执行及对应功能描述如下:
-
ID
ID指令所对应的功能较为少见,其功能是将服务端下发的一段0xF大小的数据即15位数字(eg: 818040900140701),保存在本地%ProgramData%/$tmp.txt文件中,根据该指令及前面代码流程中未出现ClientID相关生成操作,故我们猜测此步操作用于赋予受害者ID,以区分不同受害者。
-
INF
INF指令用于上传在初始化模块-初始信息收集子模块中所收集的详尽本机信息。
-
DWN
DWN指令所对应的模块属于精心设计过的功能模块,功能为下载文件,根据对代码的分析来看DWN功能模块设计的较为健壮,其支持在向服务端反馈每一步操作是否成功或错误原因,从而完成既定目标流程,由于ORPCBackdoor属于感染链前部分故此模块的稳定性极为重要。
-
RUN
RUN指令用于执行指定文件,使用WinExecAPI启动文件。
-
DLY
DLY指令为休眠指令,休眠服务端指定时长后再次运行。
-
CMD
CMD指令为ORPCBackdoor核心指令,功能为GetShell,其所使用的处理逻辑为,解析服务端所下发的Shell指令,获取到服务端下发的Shell指令后进行指令拼接,拼接格式为cmd.exe /c |服务端下发的指令|>> c:UsersPubliccr.dat。
后续通过WinExec()API执行该条执行,执行完成后将cr.dat的内容发送至服务端,后续删除cr.dat文件从而达到一次与服务端Shell交互效果。
在分析过程中,我们捕获到服务端首先会下发systeminfo命令再次获取系统信息,紧接着第二条指令为whoami。
通过对ORPCBackdoor整体分析我们可以得出以下结论:ORPCBackdoor后门是一款较为精简且设计较为成熟的后门程序。
无论是对自身字符的处理,抛弃常用的Socket调用转而使用RPC调用,还是为规避终端检测所采用的version.dll劫持模板,域名、程序、描述等整体一致性,我们可以看出本次攻击活动可以算算得上是一次经过精心设计策划的行动,同时为了防止自身暴露也使用了新型攻击武器从而变更了其惯用的TTP。
3.2样本细节描述
从ORPCBackdoor相关原始信息中可以看到最早的样本创建时间是2022年2月份和3月份:
图13:通过文件判断是否进行持久化流程
图20:RPC初始化
图21:生成ClienID
图23:上传前期收集的系统信息
图24:文件下载模块
图26:休眠模块
4. IOC
5. 参考链接
[1]Bitter组织新攻击武器分析报告-ORPCBackdoor武器分析
[2] PatchWork组织新型攻击武器报告- EyeShell武器披露
[3]https://securelist.com/apt-trends-report-q2-2023/110231/
原文始发于微信公众号(Seebug漏洞平台):原创Paper | 揭秘南亚新 APT 组织 APT-K-47 “神秘象”