通过将URL嵌入文件中来探索word和excel文件跟踪解决方案,自动触发HTTP请求获取IP定位信息,间接降低敏感数据被恶意传播的风险
摘要:随着形式的多样性,文件的保存和传输使Office成为共享和协作的通用解决方案。对于某些包含敏感数据的文件,当文件有意或无意地泄漏时,可能会对企业造成无法弥补的损失。
office已成为每个人日常办公室必不可少的工具,它具有丰富的文本编辑,演示和数据处理功能,所有功能均得到充分体现。然后,随着形式的多样性,文件的保存和传输使Office成为共享和协作的通用解决方案。对于某些包含敏感数据的文件,当文件有意或无意地泄漏时,可能会对企业造成无法弥补的损失。本文将探讨word和excel文件跟踪解决方案。通过将URL嵌入文件中,在打开文件时,可以自动触发HTTP请求以获得诸如IP之类的位置信息,并间接降低敏感数据被恶意传播的风险。
Word文件跟踪
对于word文件跟踪,首先打开word,然后在创建新文档时出现用于选择模板的界面:
在此处选择一个模板,例如“做笔记”,然后将其直接另存为test.docx。这里要说明的一点知识是,office文件本质上是一个压缩包,打包为许多xml和其他一些类型的文件,因此docx可以解压,至于如何解压,大多数可以直接在Windows上解压,可以将后缀更改为Mac上的test.rar,然后解压。解压后,通常会看到_rels,[Content_Types] .xml,docProps,word。 前三个文件(文件夹)基本上是它们自己的全局配置。 office系列的文件基本相同,并且word文件夹特定于docx。 它主要包含整个word的内容; 在_rels文件夹中,将找到一个名为settings.xml.rels的文件。用记事本打开后,内容大致如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="file:////Users/*****/Library/Containers/com.microsoft.Word/Data/Library/Caches/2052/TM10002086/做笔记.dotx" TargetMode="External"/></Relationships>
可以看出,这是创建文件夹时选择的模板配置文件。Target指向本地路径。office本身支持TargetMode作为External,这是外部参考。该方法实际上不仅是本地路径,而且还是外部URL,并且在打开文件后会自动分析和搜索此引用。在这里可以用自己的“网络钓鱼”链接替换它,然后将其重新打包为docx。这里的第一个问题是:手动包装后,打开文件基本上会弹出一个窗口,警告文件已损坏。实际上,这是由解压缩后目录中生成的不干净文件引起的。由程序自动完成不会有问题;第二个问题是使用固定的模板格式对其进行了修改。对于任何格式的docx文件,如何使用此方法进行嵌入?
Docx文件嵌入任意内容
如果要修改任何文件以实现此效果,则必须了解模板引用生成的原理。实际上,在上面看到的是模板配置文件,但是没有看到相应的参考文件。不引用它不会被执行,甚至会打开报错。打开word/settings.xml文件,该文件可以在xml中找到
<w:attachedTemplate r:id="rId1"/>
这是对模板的引用,其中attachTemplate是模板类型,rId1是编号,与上面文件中的ID相对应。因此需要嵌入docx文件的URL并编辑这两个文件。当然,在实际情况下,这两个文件可能不存在,需要自己创建,或者可能已经存在,包括rId1。这时,将依次使用其他ID号(例如rId2)。
Excel文件跟踪
对于Excel文件跟踪方法,首先想到的是word版本。不幸的是,尽管也可以根据模板创建文件,但是不支持嵌入式链接。那么,有没有更好的解决方案可以达到与xlsx文件相同的效果? 就介绍一个“不完美”的解决方案。
首先,创建一个新文件。为了演示的目的,不写入数据,而是直接插入图片。效果如下:
保存文件后,以相同的方式解压缩xlsx文件,如果没有意外,得到rels,[Content_Types] .xml,docProps,xl。正如此处看到的,与docx文件的唯一区别是xl文件夹,这是excel文件的核心内容。在寻找线索之前,可以大致确定一个逻辑,即应该有两个关键配置文件,其中一个的内容引用了图片资源的位置,另一个是指此配置文件。根据此想法,首先可以清楚地看到图片资源位于media文件夹中,然后可以根据文件名搜索找到drawing/ rels/drawing1.xml.rels文件,内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image1.png"/></Relationships>
不难想到将另一个属性TargetMode =“ External”添加到表示外部链接的Target =“ ../media/image1.png”,然后将“ ../media/image1.png”修改为网络钓鱼URL。并重新包装稍后可以发现达到了跟踪效果。此时,出现相同的问题。在任何xlsx文件下如何支持它,还有另一个问题,如何隐藏此图片?
在xlsx文件中嵌入任意内容
下一步是找出如何引用上述配置文件。首先,基本上可以猜出drawing文件夹必须是与图片相关的资源配置。除了刚才提到的.rels文件外,另一个是drawing1.xml。可以打开的内容基本上是图片的属性,包括大小,位置,名称和其他数据,以及引用关系:
<a:blip xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:embed="rId1"/>
同样,rId1对应于先前的配置文件;然后以相同的方式,会发现文件worksheets/sheet1.xml和worksheets/_rels/sheet1.xml.rels都引用了相关的配置文件信息。根据这4个文件,可以自定义xlsx的跟踪方案。当然,实际情况中存在一些问题。首先,这些文件不一定存在。如果它们不存在,则需要创建它们。如果它们存在,则需要注意rId的序列号,因为可能还有其他图像资源引用;虽然可以在drawing1.xml配置中设置hidden属性,但是尝试一下后,发现打开文件时不会自动执行隐藏图片,这也失去了意义,因此目前可行的解决方案是将图片设置为长度和宽度为0的格式,并将位置同时放置在左上角,这样就可以间接实现隐藏的目的。最终效果如下:
如果选择了图片,将显示一个小标记。当然,如果未选中它,则将不可见。
Office文件暗水印
在有网络请求的地方,它通常是不稳定的,因此,除了能够跟踪文件的打开路径之外,还需要暗水印来辅助可追溯性。对于Office文件的暗水印,有很多方法。根据上面提到的解决方案思想,不难看出在许多配置文件中实际上可以插入字符串,例如直接将参数附加到插入的链接中进行标记;或在xlsx的图像名称属性中写入一串暗水印;或直接在文件属性等中添加字符串,这里先介绍下文件属性。
如图所示,可以看到Office文件的属性显示了一些固定信息。暗水印的添加可以直接加密字符串并将其写入属性。优点是可以修改和保存为文件,但是缺点是很容易找到。后来,经过研究,发现有一种方法可以自定义属性以增强属性。原理就是office的属性不是固定的。除了图中的公共属性外,它还支持自定义。名称和值可以由自己编写,并且在视图属性中不会显示这些自定义值,这使得暗水印更加隐蔽。具体方法是在解压后的docProps文件夹中创建一个新的custom.xml文件,其内容可以参考:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?> <Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"> <property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="2" name="这里是自定义属性名"> <vt:lpwstr>这里是属性对应的值</vt:lpwstr> </property> </Properties>
它还需要在其他配置文件中引用,此处将不对其进行扩展。可以在同一目录中引用app.xml文件的引用关系。
总结一下
Office文件跟踪本质上是利用Office本身的特性来做文章的。在深入了解其结构之后,可以更好地实施该解决方案。尽管本文中的解决方案可以满足基本需求,但仍有许多问题需要解决,并且数据安全保护仍然需要每个人继续研究新技术。
相关热词搜索:URL嵌入 word excel HTTP请求 获取IP定位 敏感数据传播
上一篇:Socialscan:社交帐户搜索工具,支持查询电子邮件地址和用户名,asyncio和aiohttp同时执行所有查询
下一篇:最后一页
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了