近期,我们在日常APT狩猎的过程中,关联到一个特殊的MHT文件,巧合的是该文件和公司另外一个团队披露的国产办公软件0day相关联的文档是同一个(同一类)。该恶意样本为MHT格式,鉴于我们对该类型文件缺乏认识,特此总结。
MHT文档又称为聚合HTML文档、Web档案或单一文件网页。MHT文档可以由浏览器和Office软件创建。因此,在野攻击事件中,攻击者偶尔使用MHT文档作为载体发起鱼叉和水坑攻击。
从结构上来讲,MHT文件是由multipart组成的,类型有text/html、text/css、application/octet-stream、image等,每个multipart可使用base64进行编码。
样例1 针对Office的攻击样本分析
APT32组织在2017年使用maldoc_office.htm(ce50e544430e7265a45fab5a1f31e529)作为攻击入口载荷,内嵌VBS代码作为后续的攻击向量。
观察maldoc_office.htm文件,发现其内部存在4个可疑的multipart对象,其中一个MIME-TYPE为“application/vnd.ms-officetheme”,可知这是一个office主题,还有两个MIME-TYPE为“image/png”,这是两个图片,另外最值得可疑的是一个“application/x-mso”的类型。将该类型的Base64进行解码,然后在偏移为0x32往后的内容实用gzip解码。就会生成ole对象,然后使用olevba即可查看宏代码。
样例2 MalDoc In PDF
1d97e352ae420aae5b3db5c151e7458d实际上还是一个MHT文件,使用PDF查看工具打开会失败,通过工具查看,同样可以看到里面存在一个类型为“application/x-mso”的multipart对象。
反思
我们在观察日志信息的时候,如果进程明显是文档软件的进程,并且拉起了可疑的子进程,第一考虑的应该是文档存在宏的情况,第二应该考虑的是漏洞的情况,而不是考虑白加黑利用的情况,尤其进程又在原始安装目录下面,这其实就是认知不足造成的。
还有就是,例如MalDoc In PDF,这个在去年日本研究员就提出来了,自己也跟进了,但是自己思想上没有跟进,MHT可以使用word打开,wps应该也可以打开,这样就存在可以被利用的攻击面,但是我们在狩猎的时候,并没有把这个考虑进去,就失去了发现这个0D的机会。