APT 摩诃草样本分析
2023-2-3 18:7:41 Author: 看雪学苑(查看原文) 阅读量:12 收藏


本文为看雪论坛优秀文章

看雪论坛作者ID:戴夫的小推车


ATP简介

摩诃草,又名Hangover、Patchwork、白象等,是一个具有南亚背景的APT组织。该组织主要针对Windows系统进行攻击,同时也会针对Android、Mac OS系统进行攻击。摩诃草APT组织攻击目标涉及中国、巴基斯坦、以色列等国。该组织以鱼叉攻击为主,以少量水坑攻击为辅,针对目标国家的政府、军事、电力、工业、外交和经济进行网络间谍活动,窃取敏感信息。


概述

一阶样本为rtf格式文件,运行后利用CVE-2017-11882漏洞执行ShellCode,通过ShellCode释放二阶样本("McVsoCfg.dll"、"mcods.exe")并将二阶样本写入启动项中。

二阶样本运行后首先判断受控主机时区,如不是巴基斯坦时区则结束样本运行。随后收集主机安装软件、进程信息、网卡信息、dns配置、部署服务、系统信息详情并写入TEMP目录下"RTYgjfdg.sys"文件中。获取主机uuid后将收集的主机信息一齐发送到CC 51.89.251.8,随后清除"RTYgjfdg.sys"。基础信息发送后创建新线程进行键盘记录,等待CC后续指令。


一阶样本

1)基础信息

表 基本信息

本为rtf格式文件,运行后利用CVE-2017-11882漏洞执行ShellCode,通过ShellCode释放二阶样本("McVsoCfg.dll"、"mcods.exe")并将二阶样本写入启动项中。

2)分析详情

一阶样本运行时启动equation.exe程序且本身为rtf文件,所以推测可能使用CVE-2017-11882漏洞进行木马植入,后经确认样本利用该漏洞执行ShellCode,通过ShellCode释放二阶样本("McVsoCfg.dll"、"mcods.exe")。

图 equation.exe进程启动

图 漏洞触发点

ShellCode首先检测是否正在被调试,解析所需DLL及函数,通过“RtlDecompressBuffer”函数从缓冲区中解压二阶样本并于系统“ProgramData”目录下释放"McVsoCfg.dll"、"mcods.exe"。

图 检测是否被调试

图 释放二阶样本

于注册表中将"mcods.exe"设置为自启动,最后运行样本"mcods.exe"。

图 设置启动项


二阶样本

1)基础信息

表 基本信息

二阶样本运行后首先判断受控主机时区,如不是巴基斯坦时区则结束样本运行。随后收集主机安装软件、进程信息、网卡信息、dns配置、部署服务、系统信息并写入TEMP目录下"RTYgjfdg.sys"文件中。获取主机uuid后将收集的主机信息一齐发送到CC 51.89.251.8,随后清除"RTYgjfdg.sys"。基础信息发送后创建新线程进行键盘记录,等待CC后续指令。

从"mcods.exe"导出表中得知样本加载"McVsoCfg.dll"模块的"McVsoCfgGetObject"函数遂按此方式调试样本。

图 恶意函数

2)分析详情

获取受控主机时区信息,对比是否为巴基斯坦时区,如若不是则退出运行。

图 获取受控主机时区

获取系统TMP目录并于目录下创建临时文件"RTYgjfdg.sys"。执行"tasklist"查看当前进程信息、"wmic product get name"查看安装的软件、"ipconfig /all"查看网卡信息、"ipconfig /displaydns"查看dns配置、"sc query"查询主机上部署的服务、"systeminfo"查看系统信息 并将所有收集的信息写入"RTYgjfdg.sys"中。

图 创建RTYgjfdg.sys

图 信息收集

获取主机uuid并对其加密:通过先base64再aes再base64完成加密,aes密钥:"b14ca5898a4e4133bbce2ea2315a191" 、向量:"1234567891234567"。

图 uuid获取

图 aes加密

图 aes解密

通过‘rb’方式打开文件"RTYgjfdg.sys",设置文件指针指向文件头,随后循环读取0x4000长度文件并进行bas64编码(但还原出来的文件内容与"RTYgjfdg.sys"记录内容不同,不知道为啥)

图 文件读取

随后准备向CC发送收集的主机信息。已知2个命令参数:"qadc"代表受控机uuid;"edcaa"代表读取的部分"RTYgjfdg.sys"文件。

图 数据准备

通过解密出需要的函数及dll,动态加载WinInet.dll,将收集到的信息以post方式向51.89.251.8/vwnykzjzy2si478c7a2w/terncpx8yr2ufvisgd2j/x8jb9g97kkexor5ihnbq/d91ng62l00hc4vgaxkf.php发送,文件传输完成后回传"done"以提示,随后删除文件"RTYgjfdg.sys"。

图 解密网络模块及函数

图 数据发送

图 数据发送完成

图 文件删除

调用"createthreat"函数创建新线程并通过"GetAsyncKeyState"函数记录键盘操作,于TEMP目录下创建文件"atapi.sys",将记录结果写入文件中。

图 线程创建

图 键盘记录

等待CC后续指令,共计8种指令。

1:写入文件ghjgd并上传至CC

2:屏幕截图并上传CC

3:退出程序

4:下载文件到"TGJdbkds.exe"并运行

5:发送文件ghjgd

6:数据发送

7:cmd执行

8:下载文件保存到"TGJdbkds"

看雪ID:戴夫的小推车

https://bbs.kanxue.com/user-home-952303.htm

*本文由看雪论坛 戴夫的小推车 原创,转载请注明来自看雪社区

# 往期推荐

1.CVE-2022-21882提权漏洞学习笔记

2.wibu证书 - 初探

3.win10 1909逆向之APIC中断和实验

4.EMET下EAF机制分析以及模拟实现

5.sql注入学习分享

6.V8 Array.prototype.concat函数出现过的issues和他们的POC们

球分享

球点赞

球在看

点击“阅读原文”,了解更多!


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458493400&idx=1&sn=7d269038def8a0f8f23a1a689396c044&chksm=b18e915286f918443a0d8e6c829d7419bafa75b326a1a6e9346c863f99c99698445a382f1ee5#rd
如有侵权请联系:admin#unsafe.sh