最近,有蓝队在github放FofaHubKey.docx钓鱼文件引诱红队人员下载打开,从而获取其出口ip,项目地址:https://github.com/fofahub/fofahubkey。微步已经给出报告,攻击者利用canarytokens网站生成的docx文件进行的钓鱼活动。有文章指出其使用的是OLE2Link对象技术插入的链接,但是笔者经过分析,发现并不是,而是使用的IncludePicture 域技术插入的链接,以下为笔者分析canarytokens生成能够追踪出口IP的docx文件原理过程,及实现在word上手工制作了一个具备相同功能的docx文件。

0x01 canarytokens网站生成docx文件

首先,进行canarytokens网站生成token页面,选择Microsoft Word Document,第二行填写接收通知邮箱,第三行填写通知时的文本内容,然后生成就可以了。

https://canarytokens.com/generate

0x02 解压docx文件

docx文件本质就是压缩文件,所以可以改后缀名为.zip后利用解压软件解压缩。这里我直接使用unzip解压缩。

unzip xxxx.docx #解压docx文件

0x03 搜索相关链接字段

由于已经通过分析文章知道canarytokens生成的文件带有canarytokens网站的链接,所以直接可以在目录中搜索相关字段。由于笔者是在linux环境下测试的,所以使用了grep。通过检索,可以发现word目录下footer2.xmlfooter2.xml.rels带有canarytokens的网站链接。

grep -Ri canarytokens *

搜索canarytokens链接字段.png

0x04 OLE2Link简要分析

通过wikiOLE2 File Extension文章的介绍,可以了解到OLE代表对象链接和嵌入,该格式允许文件包含链接或嵌入的对象。以下通过word实验来进行一次OLE2的嵌入。
在word中页脚处选择 插入-对象-由文件创建,选择一张图片插入。然后解压缩文件,查看刚刚插入图片的位置。
可以看到通关OLE插入的资源位于word/embeddings文件夹,在word/_rels/footer2.xml.rels文件中标注了其位置,且type指明了为oleObject。所以可以得出基本结论,OLE插入的资源类型为oleObject。但第三节中搜索canarytokens链接发现的type为image,很显然不是OLE对象。

OLE插入图片对象后.png

0x05 INCLUDEPICTURE 域

通过观察第三节中的word/footer2.xml发现,在canarytokens链接前有INCLUDEPICTURE字样,搜索相关资料发现IncludePicture 域的功能就是在域代码中插入指定的图形,这里有office官方文档-域代码:IncludePicture 域博客文章。通过对打开钓鱼文档的流量分析,也发现canarytokens响应回的是一张GIF图片,所以基本可以得出结论,canarytokens docx文件使用INCLUDEPICTURE 域技术插入了一个远程链接,由于canarytokens网站在公网存在监听,所以能够记录出口IP与token,同时返回GIF图片。

0x06 制作带有INCLUDEPICTURE域的docx文件

对第5小节的知识点了解,就可以模仿canarytokens网站自己动手制作带有INCLUDEPICTURE域的docx文件,同时实现监听IP的功能。
在word页脚处选择 插入-文档部件-域中,选取IncludePicture,右侧填入监听的网站地址,这里笔者使用本地地址做测试。
在IncludePicture域中插入链接.png
保存文件时,word会提示安全声明,这里选择“是”即可。利用python -m http.server 80开启一个web服务,然后打开刚刚制作好的docx文件,便发现docx文件会请求在INCLUDEPICTURE域中插入的链接。
docx文件请求插入的链接.png
解压缩刚刚制作的docx文件,定位插入的链接位置,即可发现链接与canarytokens docx文件中的基本一致,type为image,同时在2个文件中存在该链接,在链接前带有INCLUDEPICTURE标志,即可证明canarytokens docx文件所使用的技术与刚刚制作docx文件的技术一致。
制作的docx文档中插入的链接.png

0x07 总结

通关以上实验及观察,canarytokens docx文件使用的是INCLUDEPICTURE 域插入远程文件技术。INCLUDEPICTURE 域插入远程链接仅可探测攻击者的出口IP地址,由于INCLUDEPICTURE 域的功能便是插入指定图形,即使远程链接响应一个恶意文件给word,由于定义的type为image,估计word也很难解析执行,不构成威胁。

Last modification:July 29th, 2022 at 01:29 am