官方公众号企业安全新浪微博
FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。
FreeBuf+小程序
概述
近日,猎影实验室捕获到南亚地区“网络冲突间谍战”中的恶意文档文件,文件运行后将加载远程模板中的宏代码执行,后续在本地释放PyInstaller打包的文件窃密器。
此活动主要针对印度国防部下设的CSD部门,与已知APT组织常用的攻击手段有较大差异。猎影实验室将其以内部追踪代号“APT-LY-1004”进行跟踪。活动大致攻击流程如下图所示:
分析
1第一阶段
样本信息:
FileName | Anaya shoot feedback.docx |
Hash | e64399c152f9bedd3ca54cccdab6469e |
Submitter | IN |
DownLoadURL | hxxps://templatesoffices.com/en-us/letters/tm83/csd/flyer.png |
FleName | flyer.png |
Hash | 8cf97f8f60792dc2c7b9dd0ab55b0bd2 |
文件内容:提示启用宏以查看文档内容
2第二阶段
远程加载的flyer.png文件包含宏代码功能如下:
_ | 检测运行环境:通过WMI获取计算机系统信息以及进程信息,若本机系统为VMWARE、VIRTUAL、QEMU、RED HAT或XEN,则函数退出;若本机进程中运行FIDDLER、WIRESHARK、PROCMON、PROCEXP、SURICATA或SNORT,则函数退出 |
_ | 获取本机目录%AppData%\Microsoft\Windows\INetCache\IE\ |
_ | 在本机目录%AppData%\Microsoft\Windows\INetCache\Content.Word\{随机字符}路径下创建{随机字符}.zip |
_ | 遍历%AppData%\Microsoft\Windows\INetCache\IE\子目录查找flyer[1].png文件 文件flyer.png被远程加载到本机,存放在如下目录 |
_ | 打开flyer[1].png读取数据,将"@@@[email protected]@@"字符串后的内容截断并写入{随机字符}.zip |
_ | 将ZIP文件中的document01.docx解压、theme01.xml释放到本地\System32\spool\drivers\color路径下重命名为sppsvc.exe 释放文件所在路径如下图所示 |
_ | 通过创建计划任务实现持久化操作 创建名为MicrosoftUpdateTaskMachineUA的计划任务,每天下午11:40、每隔15分钟带参数启动程序sppsvc.exe。 |
_ | 删除%AppData%\Microsoft\Windows\INetCache\Content.Word\{随机字符}目录以及%AppData%\Microsoft\Windows\INetCache\IE\目录下文件 |
_ | 打开document01.docx诱饵文件迷惑用户,诱饵文档内容为CSD摩托车品牌价格清单 |
3第三阶段
释放在本地的sppsvc.exe为PyInstall打包的二进制可执行文件,执行参数为“FE9FC-289C3-FF0AF-142B6-D3BEA”。
01通过计划任务带参数启动
_ | 获取主板品牌、产品型号、UUID、序列号、CPUID、制造商、计算机型号、反病毒软件信息等 |
_ | 将UID、用户名、CPUID、序列号、产品型号、主板品牌等进行格式化输出 |
_ | 获取出口IP以及所在地域 |
_ | 将序列号、用户名、主机名、MAC地址、IP、CPUID、操作系统信息、计算机型号、反病毒软件信息、出口IP、所在地域等一系列信息以JSON格式上传至hxxp://149.28.241[.]241/T729D734B881E4336C393BDB056B167FD.php,标识为'T': 'CA'并等待指令回传 |
_ | 若服务器返回值为“-X”,则创建一个无限循环的线程再次上传本机指纹信息,标识为'T': 'CC'并等待指令回传 |
可执行的指令及指令功能如下表所示。
指令 | 功能 |
DS | ●遍历盘符,创建进程获取.doc、.docx、.odt、.pdf、.csv、.ods、.xls、.xlsx、.odp、.pps、.ppsx、.ppt、.pptx后缀文件路径写入本地..\AppData\Local\ihost\list.log,在..\AppData\Local\ihost\stats.log中记录“Status = 3 ”以及3天后的日期 ●读取stats.log,若存在标识“Status = 3”,则获取uuid、序列号等信息并上传list.log中的本机文件信息,若上传成功,则在stats.log中记录“Status = 4 ” 以及3天后的日期 |
DU | ●读取list.log,以其中5个文件为一组,上传文件内容至服务器,并记录已上传的文件信息防止重复上传 |
DX | ●读取stats.log,若存在标识“Status = 3”,则获取uuid、序列号等信息并上传list.log中的本机文件信息,若上传成功,则在stats.log中记录“Status = 4 ” 以及3天后的日期 |
DSU | 包含以上三种指令功能 |
EX | 退出 |
其他 | 创建管道执行任意指令,并将执行结果记录至..\AppData\Local\xELogs.log,随后上传xELogs.log |
02
不带参数启动
执行上述指令DSU,相关功能代码如下:
_ | 遍历盘符,创建进程获取.doc、.docx、.odt、.pdf、.csv、.ods、.xls、.xlsx、.odp、.pps、.ppsx、.ppt、.pptx后缀文件路径写入本地..\AppData\Local\ihost\list.log,在..\AppData\Local\ihost\stats.log中记录“Status = 3 ”以及3天后的日期 |
_ | 读取stats.log,若存在标识“Status = 3”,则获取uuid、序列号等信息并上传list.log中的本机文件信息,标识为'T': 'FDU',若上传成功,则在stats.log中记录“Status = 4 ” 以及3天后的日期 |
_ | 读取list.log,以其中5个文件为一组,上传文件内容至服务器,并记录已上传的文件信息防止重复上传 |
后门窃密上传本机文件及对应的标识如下表所示:
指令 | 功能 |
'T': 'FDU' | 指定文件内容,例如list.log、本机其他文件内容 |
'T': 'CC' | 本机指纹信息包括uuid、序列号、主板品牌(制造商)、产品型号、CPUID以及操作系统名称 |
'T': 'CA' | 指定json格式数据 |
思考总结
此次捕获攻击活动主要包含以下特点:
1、活动针对印度国防部下设的CSD部门(Canteen Stores Department,南亚地区多个国家国防部均设此部门,专为武装部队人员、退役军人和国防文职人员购买日用产品所设,提供曲别针、汽车等4千多种产品);
2、活动通过CVE-2017-0199漏洞利用样本下发后续包含宏代码的远程模板文件;
3、活动最后阶段部署Python后门对目标人群进行持久化文件窃取。
此次捕获样本主要包含以下特点:
1、样本需要运行于Windows 8及以上系统。宏代码查找远程模板在本地中的缓存时检索的IE临时文件夹为INetCache,Windows 7中存放IE临时文件的文件夹为Temporary Internet Files;
2、样本对虚拟机环境(VMWare、Virtual、QEMU、Red Hat、Xen)及调试环境(Fiddler、Wireshark、Procmon、Procexp、Suricata、Snort)进行了较为全面的检测;
3、样本中存在用于标识并截断压缩包数据的字符串”@@@[email protected]@@“;
4、样本将后续负载释放在了“非常规”目录:ICC配置文件目录“C:\Windows\system32\spool\drivers\color\”;
5、样本在后续负载释放完成后将删除过程中产生的承载文件;
6、后续负载通过注册表实现每天固定时间、每十五分钟带参数“FE9FC-289C3-FF0AF-142B6-D3BEA”启动;
7、后续负载为PyInstaller打包的窃密器,主要功能为窃取指定后缀文件上传以及执行任意cmd指令。